diff --git a/htdocs/accountancy/class/accountingjournal.class.php b/htdocs/accountancy/class/accountingjournal.class.php
index 064f56bddd6..9bff37560d7 100644
--- a/htdocs/accountancy/class/accountingjournal.class.php
+++ b/htdocs/accountancy/class/accountingjournal.class.php
@@ -136,19 +136,19 @@ class AccountingJournal extends CommonObject
if ($mode == 0)
{
$prefix='';
- if ($nature == 9) return $langs->trans('AccountingJournalTypeHasNew');
- if ($nature == 3) return $langs->trans('AccountingJournalTypeBank');
- if ($nature == 2) return $langs->trans('AccountingJournalTypePurchase');
- if ($nature == 1) return $langs->trans('AccountingJournalTypeSale');
- if ($nature == 0) return $langs->trans('AccountingJournalTypeVariousOperation');
+ if ($nature == 9) return $langs->trans('AccountingJournalType9');
+ if ($nature == 4) return $langs->trans('AccountingJournalType4');
+ if ($nature == 3) return $langs->trans('AccountingJournalType3');
+ if ($nature == 2) return $langs->trans('AccountingJournalType2');
+ if ($nature == 1) return $langs->trans('AccountingJournalType1');
}
if ($mode == 1)
{
- if ($nature == 9) return $langs->trans('AccountingJournalTypeHasNew');
- if ($nature == 3) return $langs->trans('AccountingJournalTypeBank');
- if ($nature == 2) return $langs->trans('AccountingJournalTypePurchase');
- if ($nature == 1) return $langs->trans('AccountingJournalTypeSale');
- if ($nature == 0) return $langs->trans('AccountingJournalTypeVariousOperation');
+ if ($nature == 9) return $langs->trans('AccountingJournalType9');
+ if ($nature == 4) return $langs->trans('AccountingJournalType4');
+ if ($nature == 3) return $langs->trans('AccountingJournalType3');
+ if ($nature == 2) return $langs->trans('AccountingJournalType2');
+ if ($nature == 1) return $langs->trans('AccountingJournalType1');
}
}
}
diff --git a/htdocs/compta/bank/card.php b/htdocs/compta/bank/card.php
index 5b3bb3a58fe..75ba80052bc 100644
--- a/htdocs/compta/bank/card.php
+++ b/htdocs/compta/bank/card.php
@@ -36,6 +36,7 @@ require_once DOL_DOCUMENT_ROOT . '/compta/bank/class/account.class.php';
require_once DOL_DOCUMENT_ROOT . '/core/class/extrafields.class.php';
if (! empty($conf->categorie->enabled)) require_once DOL_DOCUMENT_ROOT . '/categories/class/categorie.class.php';
if (! empty($conf->accounting->enabled)) require_once DOL_DOCUMENT_ROOT . '/accountancy/class/html.formventilation.class.php';
+if (! empty($conf->accounting->enabled)) require_once DOL_DOCUMENT_ROOT . '/core/class/html.formaccounting.class.php';
if (! empty($conf->accounting->enabled)) require_once DOL_DOCUMENT_ROOT . '/accountancy/class/accountingaccount.class.php';
$langs->load("banks");
@@ -278,6 +279,7 @@ $form = new Form($db);
$formbank = new FormBank($db);
$formcompany = new FormCompany($db);
if (! empty($conf->accounting->enabled)) $formaccountancy = New FormVentilation($db);
+if (! empty($conf->accounting->enabled)) $formaccountancy2 = New FormAccounting($db);
$countrynotdefined=$langs->trans("ErrorSetACountryFirst").' ('.$langs->trans("SeeAbove").')';
@@ -534,7 +536,9 @@ if ($action == 'create')
if (! empty($conf->accounting->enabled))
{
print '
| '.$langs->trans("AccountancyJournal").' | ';
- print 'accountancy_journal).'"> |
';
+ print '';
+ print $formaccountancy2->select_journal($object->accountancy_journal, 'accountancy_journal', 4, 1, '', 1, 1);
+ print ' | ';
}
print '';
@@ -980,8 +984,10 @@ else
// Accountancy journal
if (! empty($conf->accounting->enabled))
{
- print '| '.$langs->trans("AccountancyJournal").' | ';
- print 'accountancy_journal).'"> |
';
+ print '| '.$langs->trans("AccountancyJournal").' | ';
+ print '';
+ print $formaccountancy2->select_journal($object->accountancy_journal, 'accountancy_journal', 4, 1, '', 1, 1);
+ print ' |
';
}
print '';
diff --git a/htdocs/core/class/html.formaccounting.class.php b/htdocs/core/class/html.formaccounting.class.php
index cb988a511cd..1a33f0fce60 100644
--- a/htdocs/core/class/html.formaccounting.class.php
+++ b/htdocs/core/class/html.formaccounting.class.php
@@ -60,37 +60,49 @@ class FormAccounting extends Form
{
global $conf;
- $sql = "SELECT rowid, code, label, nature, entity, active";
- $sql.= " FROM " . MAIN_DB_PREFIX . "accounting_journal";
- $sql.= " WHERE entity = ".$conf->entity;
- $sql.= " AND active = 1";
- if (empty($nature)) $sql.= " AND nature = ".$nature;
- $sql.= " ORDER BY code";
+ $out = '';
- dol_syslog(get_class($this) . "::select_journal", LOG_DEBUG);
- $resql = $this->db->query($sql);
+ $options = array();
+ if ($usecache && ! empty($this->options_cache[$usecache]))
+ {
+ $options = $this->options_cache[$usecache];
+ $selected=$selectid;
+ }
+ else
+ {
+ $sql = "SELECT rowid, code, label, nature, entity, active";
+ $sql.= " FROM " . MAIN_DB_PREFIX . "accounting_journal";
+ $sql.= " WHERE active = 1";
+ $sql.= " AND entity = ".$conf->entity;
+ //if ($nature && is_numeric($nature)) $sql .= " AND nature = ".$nature;
+ $sql.= " ORDER BY code";
- if (!$resql) {
- $this->error = "Error ".$this->db->lasterror();
- dol_syslog(get_class($this)."::select_journal ".$this->error, LOG_ERR);
- return -1;
+ dol_syslog(get_class($this) . "::select_journal", LOG_DEBUG);
+ $resql = $this->db->query($sql);
+
+ if (!$resql) {
+ $this->error = "Error ".$this->db->lasterror();
+ dol_syslog(get_class($this)."::select_journal ".$this->error, LOG_ERR);
+ return -1;
+ }
+
+ $out = ajax_combobox($htmlname, $event);
+
+ while ($obj = $this->db->fetch_object($resql))
+ {
+ $label = $obj->code . ' - ' . $obj->label;
+ $select_value_out = $obj->rowid;
+
+ $options[$select_value_out] = $label;
+ }
+ $this->db->free($resql);
+
+ if ($usecache)
+ {
+ $this->options_cache[$usecache] = $options;
+ }
}
- $options = array();
- $out = ajax_combobox($htmlname, $event);
-
- $selected = 0;
- while ($obj = $this->db->fetch_object($resql))
- {
- $label = $obj->code . ' - ' . $obj->label;
- }
- $this->db->free($resql);
-
- if ($usecache)
- {
- $this->options_cache[$usecache] = $options;
- }
-
$out .= Form::selectarray($htmlname, $options, $selectid, $showempty, 0, 0, '', 0, 0, 0, '', $morecss, 1);
return $out;
diff --git a/htdocs/install/mysql/migration/5.0.0-6.0.0.sql b/htdocs/install/mysql/migration/5.0.0-6.0.0.sql
index d96210dcbfe..9e4699b2e4b 100644
--- a/htdocs/install/mysql/migration/5.0.0-6.0.0.sql
+++ b/htdocs/install/mysql/migration/5.0.0-6.0.0.sql
@@ -259,4 +259,11 @@ UPDATE llx_accounting_journal SET nature = 3 where code = 'AC' and nature = 2;
UPDATE llx_accounting_journal SET nature = 4 where (code = 'BK' or code = 'BQ') and nature = 3;
+ALTER TABLE llx_bank_account CHANGE COLUMN accountancy_journal fk_accountancy_journal integer;
+ALTER TABLE llx_bank_account ADD CONSTRAINT bank_fk_accountancy_journal FOREIGN KEY (fk_accountancy_journal) REFERENCES llx_accounting_journal (rowid);
+
+
+
+
+
diff --git a/htdocs/install/mysql/tables/llx_accounting_journal.sql b/htdocs/install/mysql/tables/llx_accounting_journal.sql
index a435de3cd80..348654b56dc 100644
--- a/htdocs/install/mysql/tables/llx_accounting_journal.sql
+++ b/htdocs/install/mysql/tables/llx_accounting_journal.sql
@@ -23,6 +23,6 @@ create table llx_accounting_journal
entity integer DEFAULT 1,
code varchar(32) NOT NULL,
label varchar(128) NOT NULL,
- nature smallint DEFAULT 0 NOT NULL, -- type of journals (1:various operations / 2:sale / 3:purchase / 4:bank / 9: has-new)
+ nature smallint DEFAULT 1 NOT NULL, -- type of journals (1:various operations / 2:sale / 3:purchase / 4:bank / 9: has-new)
active smallint DEFAULT 0
)ENGINE=innodb;
diff --git a/htdocs/install/mysql/tables/llx_bank_account.key.sql b/htdocs/install/mysql/tables/llx_bank_account.key.sql
index c91762a322e..0a168d63990 100644
--- a/htdocs/install/mysql/tables/llx_bank_account.key.sql
+++ b/htdocs/install/mysql/tables/llx_bank_account.key.sql
@@ -19,3 +19,5 @@
ALTER TABLE llx_bank_account ADD UNIQUE uk_bank_account_label (label,entity);
+
+ALTER TABLE llx_bank_account ADD CONSTRAINT bank_fk_accountancy_journal FOREIGN KEY (fk_accountancy_journal) REFERENCES llx_accounting_journal (rowid);
diff --git a/htdocs/install/mysql/tables/llx_bank_account.sql b/htdocs/install/mysql/tables/llx_bank_account.sql
index 7730ab79ef6..6db2857ddae 100644
--- a/htdocs/install/mysql/tables/llx_bank_account.sql
+++ b/htdocs/install/mysql/tables/llx_bank_account.sql
@@ -24,39 +24,39 @@
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
- fk_user_author integer,
- fk_user_modif integer,
- bank varchar(60),
- code_banque varchar(128),
- code_guichet varchar(6),
- number varchar(255),
- cle_rib varchar(5),
- bic varchar(11),
- iban_prefix varchar(34), -- full iban. 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(32), -- bank accountancy number
- accountancy_journal varchar(16) DEFAULT NULL, -- bank accountancy journal
- currency_code varchar(3) NOT NULL,
- min_allowed integer DEFAULT 0,
- min_desired integer DEFAULT 0,
- comment text, -- TODO rename in note_private
- note_public text,
- model_pdf varchar(255),
- import_key varchar(14)
+ 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
+ fk_user_author integer,
+ fk_user_modif integer,
+ bank varchar(60),
+ code_banque varchar(128),
+ code_guichet varchar(6),
+ number varchar(255),
+ cle_rib varchar(5),
+ bic varchar(11),
+ iban_prefix varchar(34), -- full iban. 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(32), -- bank accountancy number
+ fk_accountancy_journal integer, -- bank accountancy journal
+ currency_code varchar(3) NOT NULL,
+ min_allowed integer DEFAULT 0,
+ min_desired integer DEFAULT 0,
+ comment text, -- TODO rename in note_private
+ note_public text,
+ model_pdf varchar(255),
+ import_key varchar(14)
)ENGINE=innodb;