diff --git a/htdocs/accountancy/admin/account.php b/htdocs/accountancy/admin/account.php index 5423ae7b41d..38a0c89e4d6 100644 --- a/htdocs/accountancy/admin/account.php +++ b/htdocs/accountancy/admin/account.php @@ -200,7 +200,27 @@ if ($db->type == 'pgsql') $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."accounting_accou else $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."accounting_account as a2 ON a2.rowid = aa.account_parent AND a2.entity = ".$conf->entity; $sql .= " WHERE asy.rowid = ".$pcgver; //print $sql; -if (strlen(trim($search_account))) $sql .= natural_search("aa.account_number", $search_account); +if (strlen(trim($search_account))) { + $lengthpaddingaccount = 0; + if ($conf->global->ACCOUNTING_LENGTH_GACCOUNT || $conf->global->ACCOUNTING_LENGTH_AACCOUNT) { + $lengthpaddingaccount = max($conf->global->ACCOUNTING_LENGTH_GACCOUNT, $conf->global->ACCOUNTING_LENGTH_AACCOUNT); + } + $search_account_tmp = $search_account; + $weremovedsomezero = 0; + if (strlen($search_account_tmp) <= $lengthpaddingaccount) { + for($i = 0; $i < $lengthpaddingaccount; $i++) { + if (preg_match('/0$/', $search_account_tmp)) { + $weremovedsomezero++; + $search_account_tmp = preg_replace('/0$/', '', $search_account_tmp); + } + } + } + //var_dump($search_account); exit; + if ($search_account_tmp) { + if ($weremovedsomezero) $sql .= " AND aa.account_number LIKE '%".$search_account_tmp."'"; + else $sql .= natural_search("aa.account_number", $search_account_tmp); + } +} if (strlen(trim($search_label))) $sql .= natural_search("aa.label", $search_label); if (strlen(trim($search_accountparent)) && $search_accountparent != '-1') $sql .= natural_search("aa.account_parent", $search_accountparent, 2); if (strlen(trim($search_pcgtype))) $sql .= natural_search("aa.pcg_type", $search_pcgtype); @@ -321,7 +341,6 @@ if ($resql) if (!empty($arrayfields['aa.account_parent']['checked'])) { print ''; print $formaccounting->select_account($search_accountparent, 'search_accountparent', 2); - //print ''; print ''; } if (!empty($arrayfields['aa.pcg_type']['checked'])) print ''; diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index 921579df947..a4928136c9e 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -6235,7 +6235,12 @@ class Form $out .= '