From 5cc8ec4f5fe407c455fa6b3d7a5a49b229ee8584 Mon Sep 17 00:00:00 2001 From: aspangaro Date: Sun, 29 Jun 2014 20:10:43 +0200 Subject: [PATCH] Add accountancy code journal into bank card & modify presentation --- htdocs/compta/bank/class/account.class.php | 7 +- htdocs/compta/bank/fiche.php | 93 ++++++++++++------- .../install/mysql/migration/3.6.0-3.7.0.sql | 2 + .../install/mysql/tables/llx_bank_account.sql | 66 ++++++------- htdocs/langs/en_US/compta.lang | 1 + 5 files changed, 102 insertions(+), 67 deletions(-) diff --git a/htdocs/compta/bank/class/account.class.php b/htdocs/compta/bank/class/account.class.php index 8bcabf7f17b5b..8a940c6db2275 100644 --- a/htdocs/compta/bank/class/account.class.php +++ b/htdocs/compta/bank/class/account.class.php @@ -74,6 +74,7 @@ class Account extends CommonObject var $type_lib=array(); var $account_number; + var $accountancy_journal; var $currency_code; var $min_allowed; @@ -382,6 +383,7 @@ function create() $sql.= ", label"; $sql.= ", entity"; $sql.= ", account_number"; + $sql.= ", accountancy_journal"; $sql.= ", currency_code"; $sql.= ", rappro"; $sql.= ", min_allowed"; @@ -395,6 +397,7 @@ function create() $sql.= ", '".$this->db->escape($this->label)."'"; $sql.= ", ".$conf->entity; $sql.= ", '".$this->db->escape($this->account_number)."'"; + $sql.= ", '".$this->db->escape($this->accountancy_journal)."'"; $sql.= ", '".$this->currency_code."'"; $sql.= ", ".$this->rappro; $sql.= ", ".price2num($this->min_allowed); @@ -500,6 +503,7 @@ function update($user='') $sql.= ",rappro = ".$this->rappro; $sql.= ",url = ".($this->url?"'".$this->url."'":"null"); $sql.= ",account_number = '".$this->account_number."'"; + $sql.= ",accountancy_journal = '".$this->accountancy_journal."'"; $sql.= ",currency_code = '".$this->currency_code."'"; @@ -606,7 +610,7 @@ function fetch($id,$ref='') $sql = "SELECT ba.rowid, ba.ref, ba.label, ba.bank, ba.number, ba.courant, ba.clos, ba.rappro, ba.url,"; $sql.= " ba.code_banque, ba.code_guichet, ba.cle_rib, ba.bic, ba.iban_prefix as iban,"; $sql.= " ba.domiciliation, ba.proprio, ba.owner_address, ba.state_id, ba.fk_pays as country_id,"; - $sql.= " ba.account_number, ba.currency_code,"; + $sql.= " ba.account_number, ba.accountancy_journal, ba.currency_code,"; $sql.= " ba.min_allowed, ba.min_desired, ba.comment,"; $sql.= ' p.code as country_code, p.libelle as country,'; $sql.= ' d.code_departement as state_code, d.nom as state'; @@ -656,6 +660,7 @@ function fetch($id,$ref='') $this->country = $obj->country; $this->account_number = $obj->account_number; + $this->accountancy_journal = $obj->accountancy_journal; $this->currency_code = $obj->currency_code; $this->account_currency_code = $obj->currency_code; diff --git a/htdocs/compta/bank/fiche.php b/htdocs/compta/bank/fiche.php index bdb30e465282c..57c5e2b075a5b 100644 --- a/htdocs/compta/bank/fiche.php +++ b/htdocs/compta/bank/fiche.php @@ -1,8 +1,9 @@ - * Copyright (C) 2003 Jean-Louis Bergamo - * Copyright (C) 2004-2012 Laurent Destailleur - * Copytight (C) 2005-2009 Regis Houssin +/* Copyright (C) 2002-2003 Rodolphe Quiedeville + * Copyright (C) 2003 Jean-Louis Bergamo + * Copyright (C) 2004-2012 Laurent Destailleur + * Copytight (C) 2005-2009 Regis Houssin + * Copytight (C) 2014 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 @@ -34,6 +35,7 @@ $langs->load("banks"); $langs->load("categories"); $langs->load("companies"); +$langs->load("compta"); $action=GETPOST("action"); @@ -65,6 +67,7 @@ $account->url = $_POST["url"]; $account->account_number = trim($_POST["account_number"]); + $account->accountancy_journal = trim($_POST["accountancy_journal"]); $account->solde = $_POST["solde"]; $account->date_solde = dol_mktime(12,0,0,$_POST["remonth"],$_POST["reday"],$_POST["reyear"]); @@ -139,6 +142,7 @@ $account->owner_address = trim($_POST["owner_address"]); $account->account_number = trim($_POST["account_number"]); + $account->accountancy_journal = trim($_POST["accountancy_journal"]); $account->currency_code = trim($_POST["account_currency_code"]); @@ -292,18 +296,6 @@ } print ''; - // Accountancy code - if (! empty($conf->global->MAIN_BANK_ACCOUNTANCY_CODE_ALWAYS_REQUIRED)) - { - print ''.$langs->trans("AccountancyCode").''; - print ''; - } - else - { - print ''.$langs->trans("AccountancyCode").''; - print ''; - } - // Web print ''.$langs->trans("Web").''; print ''; @@ -334,6 +326,27 @@ print ''.$langs->trans("BalanceMinimalDesired").''; print 'account_min_desired).'">'; + print ''; + + print '
'; + + print ''; + // Accountancy code + if (! empty($conf->global->MAIN_BANK_ACCOUNTANCY_CODE_ALWAYS_REQUIRED)) + { + print ''; + print ''; + } + else + { + print ''; + print ''; + } + + // Accountancy journal + print ''; + print ''; + print '
'.$langs->trans("AccountancyCode").'
'.$langs->trans("AccountancyCode").'
'.$langs->trans("AccountancyJournal").'
'; print '

'; @@ -431,10 +444,6 @@ else print ($account->rappro==1 ? $langs->trans("Yes") : ($langs->trans("No").' ('.$langs->trans("ConciliationDisabled").')')); print ''; - // Accountancy code - print ''.$langs->trans("AccountancyCode").''; - print ''.$account->account_number.''; - print ''.$langs->trans("BalanceMinimalAllowed").''; print ''.$account->min_allowed.''; @@ -451,7 +460,19 @@ print ''.$account->comment.''; print ''; - + + print '
'; + print ''; + // Accountancy code + print ''; + print ''; + + // Accountancy journal + print ''; + print ''; + + print '
'.$langs->trans("AccountancyCode").''.$account->account_number.'
'.$langs->trans("AccountancyJournal").''.$account->accountancy_journal.'
'; + print ''; @@ -574,19 +595,7 @@ else print 'rappro?'':' checked="checked"').'"> '.$langs->trans("DisableConciliation"); print ''; - // Accountancy code - if (! empty($conf->global->MAIN_BANK_ACCOUNTANCY_CODE_ALWAYS_REQUIRED)) - { - print ''.$langs->trans("AccountancyCode").''; - print 'account_number).'">'; - } - else - { - print ''.$langs->trans("AccountancyCode").''; - print 'account_number).'">'; - } - - // Balance + // Balance print ''.$langs->trans("BalanceMinimalAllowed").''; print 'min_allowed).'">'; @@ -606,6 +615,22 @@ $doleditor=new DolEditor('account_comment',(isset($_POST["account_comment"])?$_POST["account_comment"]:$account->comment),'',200,'dolibarr_notes','',false,true,$conf->global->FCKEDITOR_ENABLE_SOCIETE,10,70); $doleditor->Create(); print ''; + + // Accountancy code + if (! empty($conf->global->MAIN_BANK_ACCOUNTANCY_CODE_ALWAYS_REQUIRED)) + { + print ''.$langs->trans("AccountancyCode").''; + print 'account_number).'">'; + } + else + { + print ''.$langs->trans("AccountancyCode").''; + print 'account_number).'">'; + } + + // Accountancy journal + print ''.$langs->trans("AccountancyJournalCode").''; + print 'accountancy_journal).'">'; print ''; print '   '; diff --git a/htdocs/install/mysql/migration/3.6.0-3.7.0.sql b/htdocs/install/mysql/migration/3.6.0-3.7.0.sql index ae439127c06e1..8eac08f2d732e 100644 --- a/htdocs/install/mysql/migration/3.6.0-3.7.0.sql +++ b/htdocs/install/mysql/migration/3.6.0-3.7.0.sql @@ -19,3 +19,5 @@ ALTER TABLE llx_c_paiement ADD COLUMN accountancy_code varchar(32) DEFAULT NULL AFTER active; + +ALTER TABLE llx_bank_account ADD COLUMN accountancy_journal varchar(3) DEFAULT NULL AFTER account_number; diff --git a/htdocs/install/mysql/tables/llx_bank_account.sql b/htdocs/install/mysql/tables/llx_bank_account.sql index 198b0ca87ab9d..63a7a674f73d8 100644 --- a/htdocs/install/mysql/tables/llx_bank_account.sql +++ b/htdocs/install/mysql/tables/llx_bank_account.sql @@ -1,7 +1,8 @@ -- ============================================================================= --- Copyright (C) 2000-2004 Rodolphe Quiedeville --- Copyright (C) 2004-2007 Laurent Destailleur --- Copyright (C) 2005-2012 Regis Houssin +-- Copyright (C) 2000-2004 Rodolphe Quiedeville +-- Copyright (C) 2004-2007 Laurent Destailleur +-- Copyright (C) 2005-2012 Regis Houssin +-- Copyright (C) 2014 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 @@ -23,34 +24,35 @@ create table llx_bank_account ( - rowid integer AUTO_INCREMENT PRIMARY KEY, - datec datetime, - tms timestamp, - ref varchar(12) NOT NULL, - label varchar(30) NOT NULL, - entity integer DEFAULT 1 NOT NULL, -- multi company id - bank varchar(60), - code_banque varchar(8), - code_guichet varchar(6), - number varchar(255), - cle_rib varchar(5), - bic varchar(11), - iban_prefix varchar(34), -- 34 according to ISO 13616 - country_iban varchar(2), -- deprecated - cle_iban varchar(2), - domiciliation varchar(255), - state_id integer DEFAULT NULL, - fk_pays integer NOT NULL, - proprio varchar(60), - owner_address varchar(255), - courant smallint DEFAULT 0 NOT NULL, - clos smallint DEFAULT 0 NOT NULL, - rappro smallint DEFAULT 1, - url varchar(128), - account_number varchar(24), -- bank accountancy number - currency_code varchar(3) NOT NULL, - min_allowed integer DEFAULT 0, - min_desired integer DEFAULT 0, - comment text + rowid integer AUTO_INCREMENT PRIMARY KEY, + datec datetime, + tms timestamp, + ref varchar(12) NOT NULL, + label varchar(30) NOT NULL, + entity integer DEFAULT 1 NOT NULL, -- multi company id + bank varchar(60), + code_banque varchar(8), + code_guichet varchar(6), + number varchar(255), + cle_rib varchar(5), + bic varchar(11), + iban_prefix varchar(34), -- 34 according to ISO 13616 + country_iban varchar(2), -- deprecated + cle_iban varchar(2), + domiciliation varchar(255), + state_id integer DEFAULT NULL, + fk_pays integer NOT NULL, + proprio varchar(60), + owner_address varchar(255), + courant smallint DEFAULT 0 NOT NULL, + clos smallint DEFAULT 0 NOT NULL, + rappro smallint DEFAULT 1, + url varchar(128), + account_number varchar(24), -- bank accountancy number + accountancy_journal varchar(3) DEFAULT NULL, -- bank accountancy journal + currency_code varchar(3) NOT NULL, + min_allowed integer DEFAULT 0, + min_desired integer DEFAULT 0, + comment text )ENGINE=innodb; diff --git a/htdocs/langs/en_US/compta.lang b/htdocs/langs/en_US/compta.lang index 281ee374343f1..2b98ccc560804 100644 --- a/htdocs/langs/en_US/compta.lang +++ b/htdocs/langs/en_US/compta.lang @@ -175,6 +175,7 @@ CalculationRuleDesc=To calculate total VAT, there is two methods:
Method 1 is CalculationRuleDescSupplier=according to supplier, choose appropriate method to apply same calculation rule and get same result expected by your supplier. TurnoverPerProductInCommitmentAccountingNotRelevant=Turnover report per product, when using a cash accountancy mode is not relevant. This report is only available when using engagement accountancy mode (see setup of accountancy module). CalculationMode=Calculation mode +AccountancyJournal=Accountancy code journal COMPTA_PRODUCT_BUY_ACCOUNT=Default accountancy code to buy products COMPTA_PRODUCT_SOLD_ACCOUNT=Default accountancy code to sell products COMPTA_SERVICE_BUY_ACCOUNT=Default accountancy code to buy services