From a678c05b482ac7fc276eef5800cb15b527a0fb5b Mon Sep 17 00:00:00 2001 From: Dany De Bontridder Date: Thu, 26 Sep 2013 15:33:08 +0000 Subject: [PATCH] =?UTF-8?q?Suivi=20type=20de=20journal=20montrer=20ou=20ca?= =?UTF-8?q?cher=20les=20bons=20d=C3=A9tails=20+=20ajout=20de=20nveau=20typ?= =?UTF-8?q?e=20journaux?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/class_acc_ledger.php | 35 +++- include/class_acc_ledger_purchase.php | 20 +- include/template/param_jrn.php | 288 +++++++++++++++++++++----- release-note | 14 ++ sql/upgrade.sql | 12 +- 5 files changed, 296 insertions(+), 73 deletions(-) diff --git a/include/class_acc_ledger.php b/include/class_acc_ledger.php index d93498c25..2cd048445 100644 --- a/include/class_acc_ledger.php +++ b/include/class_acc_ledger.php @@ -3229,9 +3229,9 @@ class Acc_Ledger extends jrn_def_sql $r = ""; $r.=''; $r.=''; - $ret = $this->db->exec_sql("select jrn_def_id,jrn_def_name, - jrn_def_class_deb,jrn_def_class_cred,jrn_type_id,jrn_desc - from jrn_def join jrn_type on jrn_def_type=jrn_type_id order by jrn_def_name"); + $ret = $this->db->exec_sql("select distinct jrn_def_id,jrn_def_name, + jrn_def_class_deb,jrn_def_class_cred,jrn_def_type + from jrn_def order by jrn_def_name"); $Max = Database::num_row($ret); @@ -3258,7 +3258,7 @@ class Acc_Ledger extends jrn_def_sql $type = $this->jrn_def_type; $name = $this->jrn_def_name; $code = $this->jrn_def_code; - + $str_add_button=""; /* widget for searching an account */ $wSearch = new IPoste(); $wSearch->set_attribute('ipopup', 'ipop_account'); @@ -3312,7 +3312,7 @@ class Acc_Ledger extends jrn_def_sql $qcode_bank = $fBank->get_quick_code(); } } - $new = false; + $new = 0; $cn = $this->db; echo $hidden; require_once('template/param_jrn.php'); @@ -3434,6 +3434,18 @@ class Acc_Ledger extends jrn_def_sql */ function input_new() { + global $g_user; + $f_add_button=new ISmallButton('add_card'); + $f_add_button->label=_('Créer une nouvelle fiche'); + $f_add_button->tabindex=-1; + $f_add_button->set_attribute('jrn',-1); + $f_add_button->javascript=" this.jrn=-1;select_card_type({type_cat:4});"; + + $str_add_button=""; + if ($g_user->check_action(FICADD)==1) + { + $str_add_button=$f_add_button->input(); + } $wSearch = new IPoste(); $wSearch->table = 3; $wSearch->set_attribute('ipopup', 'ipop_account'); @@ -3458,8 +3470,12 @@ class Acc_Ledger extends jrn_def_sql $name = ""; $code = ""; $wType = new ISelect(); - $wType->value = $this->db->make_array('select jrn_type_id,jrn_desc from jrn_type'); + $a_jrn= $this->db->make_array("select '-1',' -- choix journal -- ' union select jrn_type_id,jrn_desc from jrn_type"); + $wType->selected='-1'; + $wType->value =$a_jrn; $wType->name = "p_jrn_type"; + $wType->id= "p_jrn_type_select_id"; + $wType->javascript=' onchange="show_ledger_div()"'; $type = $wType->input(); $rcred = $rdeb = array(); $wPjPref = new IText(); @@ -3467,16 +3483,15 @@ class Acc_Ledger extends jrn_def_sql $pj_pref = $wPjPref->input(); $pj_seq = ''; $last_seq = 0; - $new = true; + $new = 1; /* bank card */ $qcode_bank = ''; /* Numbering (only FIN) */ $num_op = new ICheckBox('numb_operation'); echo dossier::hidden(); echo HtmlInput::hidden('ac', $_REQUEST['ac']); - echo HtmlInput::hidden('p_jrn', -1); - echo HtmlInput::hidden('sa', 'add'); - + echo $hidden; + $cn = $this->db; $min_row = new INum("min_row",MAX_ARTICLE); $min_row->prec=0; diff --git a/include/class_acc_ledger_purchase.php b/include/class_acc_ledger_purchase.php index ec7826e13..4665e5817 100644 --- a/include/class_acc_ledger_purchase.php +++ b/include/class_acc_ledger_purchase.php @@ -890,24 +890,14 @@ class Acc_Ledger_Purchase extends Acc_Ledger $f_add_button=new IButton('add_card'); $f_add_button->label=_('Créer une nouvelle fiche'); $f_add_button->tabindex=-1; - $f_add_button->set_attribute('ipopup','ipop_newcard'); $f_add_button->set_attribute('jrn',$this->id); $f_add_button->javascript=" this.jrn=\$('p_jrn').value;select_card_type(this);"; - $f_add_button2=new IButton('add_card2'); - $f_add_button2->tabindex=-1; - $f_add_button2->label=_('Créer une nouvelle fiche'); - $f_add_button2->set_attribute('ipopup','ipop_newcard'); - $f_add_button2->set_attribute('filter',$this->get_all_fiche_def ()); - // $f_add_button2->set_attribute('jrn',$this->id); - $f_add_button2->javascript=" this.jrn=\$('p_jrn').value;select_card_type(this);"; - $str_add_button=""; - $str_add_button2=""; - if ($g_user->check_action(FICADD)==1) - { - $str_add_button=$f_add_button->input(); - $str_add_button2=$f_add_button2->input(); - } + $str_add_button=""; + if ($g_user->check_action(FICADD)==1) + { + $str_add_button=$f_add_button->input(); + } // The first day of the periode $oPeriode=new Periode($this->db); list ($l_date_start,$l_date_end)=$oPeriode->get_date_limit($g_user->get_periode()); diff --git a/include/template/param_jrn.php b/include/template/param_jrn.php index cdfc93dbf..29974398f 100644 --- a/include/template/param_jrn.php +++ b/include/template/param_jrn.php @@ -3,11 +3,12 @@ + - + + @@ -32,7 +33,7 @@ if ( $new || $type=='FIN') { input();?> - + @@ -50,6 +51,7 @@ $card->set_attribute('typecard',$list); $card->value=$qcode_bank; echo $card->search(); echo $card->input(); +echo $str_add_button; ?> -
' . _('Création') . '
@@ -22,9 +23,9 @@ if ($new || $type=='ODS' ): endif; ?> -
@@ -112,49 +114,241 @@ echo $card->input();
-

Fiches

- - - - - - - -exec_sql("select fd_id,fd_label from fiche_def order by fd_label"); -$num=$cn->size(); + +
+

Fiches

+
+ + + + + + + exec_sql("select fd_id,fd_label from fiche_def order by fd_label"); + $num=$cn->size(); -for ($i=0;$i<$num;$i++) { - $res=$cn->fetch($i); - $CHECKED=" unchecked"; - foreach ( $rdeb as $element) { - if ( $element == $res['fd_id'] ) { - $CHECKED="CHECKED"; - break; + for ($i=0;$i<$num;$i++) { + $res=$cn->fetch($i); + $CHECKED=" unchecked"; + foreach ( $rdeb as $element) { + if ( $element == $res['fd_id'] ) { + $CHECKED="CHECKED"; + break; + } + } + echo ''; + printf ('', + $res['fd_id'],$CHECKED,$res['fd_label']); + $CHECKED=" unchecked"; + foreach ( $rcred as $element) { + if ( $element == $res['fd_id'] ) { + $CHECKED="CHECKED"; + break; + } + } + printf ('', + $res['fd_id'],$CHECKED,$res['fd_label']); + echo ''; } - } - echo ''; - printf ('', - $res['fd_id'],$CHECKED,$res['fd_label']); - $CHECKED=" unchecked"; - foreach ( $rcred as $element) { - if ( $element == $res['fd_id'] ) { - $CHECKED="CHECKED"; - break; + ?> +
+ Fournisseurs (D) + + Services ou biens divers achetés (C) +
%s %s
%s
+ + + +
+

Fiches

+ + + + + + + + + exec_sql("select fd_id,fd_label from fiche_def order by fd_label"); + $num=$cn->size(); + + for ($i=0;$i<$num;$i++) { + $res=$cn->fetch($i); + $CHECKED=" unchecked"; + foreach ( $rdeb as $element) { + if ( $element == $res['fd_id'] ) { + $CHECKED="CHECKED"; + break; + } + } + echo ''; + printf ('', + $res['fd_id'],$CHECKED,$res['fd_label']); + $CHECKED=" unchecked"; + foreach ( $rcred as $element) { + if ( $element == $res['fd_id'] ) { + $CHECKED="CHECKED"; + break; + } + } + printf ('', + $res['fd_id'],$CHECKED,$res['fd_label']); + echo ''; } - } -if ( $type != 'ODS' && $type != 'FIN' ){ - printf ('', - $res['fd_id'],$CHECKED,$res['fd_label']); -} - echo ''; -} -?> -
+ Services ou biens divers vendus (D) + + Clients (C) +
%s %s
%s
+ ?> + +
+ + +
+

Fiches

+ + + + + + + + exec_sql("select fd_id,fd_label from fiche_def order by fd_label"); + $num=$cn->size(); + + for ($i=0;$i<$num;$i++) { + $res=$cn->fetch($i); + $CHECKED=" unchecked"; + foreach ( $rdeb as $element) { + if ( $element == $res['fd_id'] ) { + $CHECKED="CHECKED"; + break; + } + } + echo ''; + printf ('', + $res['fd_id'],$CHECKED,$res['fd_label']); + $CHECKED=" unchecked"; + foreach ( $rcred as $element) { + if ( $element == $res['fd_id'] ) { + $CHECKED="CHECKED"; + break; + } + } + echo ''; + } + ?> +
+ Fiches utilisables (D/C) +
%s
+
+ + +
+

Fiches

+ + + + + + + + exec_sql("select fd_id,fd_label from fiche_def order by fd_label"); + $num=$cn->size(); + + for ($i=0;$i<$num;$i++) { + $res=$cn->fetch($i); + $CHECKED=" unchecked"; + foreach ( $rdeb as $element) { + if ( $element == $res['fd_id'] ) { + $CHECKED="CHECKED"; + break; + } + } + echo ''; + printf ('', + $res['fd_id'],$CHECKED,$res['fd_label']); + $CHECKED=" unchecked"; + foreach ( $rcred as $element) { + if ( $element == $res['fd_id'] ) { + $CHECKED="CHECKED"; + break; + } + } + echo ''; + } + ?> +
+ Tiers (D/C) +
%s
+
+ + + + diff --git a/release-note b/release-note index 122d423f0..38514e7cf 100644 --- a/release-note +++ b/release-note @@ -36,6 +36,15 @@ Action - Suivi Sécurité : vérifier que l'utilisateur peut ajouter ou enlever des tags à une action Changement présentation Détail action : les détails (qui/quand) sont à mettre dans la colonne de gauche +Journaux +======== +Suivi type de journal montrer ou cacher les bons détails +Pour ACH indiquer Fournisseur (D) et Services ou Marchandises achetés +Pour VEN indiquer Client (C) et Services ou Marchandises vendus +Pour FIN indiquer Compte tiers (D/C) et surtout permettre de créer un fiche de type trésorerie (frd_id=4) + +Ajout de journaux dans jrn_type + =================================================================== || A faire =================================================================== @@ -49,6 +58,11 @@ Document à générer Par journal ou par profil + + + + + Fiche ===== Si aucun quickcode donné, un calculé un en se basant sur le nom de la fiche (5ière lettre) + n° si duplicate diff --git a/sql/upgrade.sql b/sql/upgrade.sql index 0bda381c5..4532a1c09 100644 --- a/sql/upgrade.sql +++ b/sql/upgrade.sql @@ -189,4 +189,14 @@ values insert into profile_menu (me_code,me_code_dep,p_id,p_order, p_type_display,pm_default) values -('CFGTAG','PARAM',1,390,'E',0); \ No newline at end of file +('CFGTAG','PARAM',1,390,'E',0); + +update fiche_def set fd_label='Trésorerie' where fd_id=3; +update fiche_def_ref set frd_text='Trésorerie' where frd_id=4; +update jrn_def set jrn_def_name='Trésorerie' where jrn_def_id=1; +update jrn_type set jrn_desc = 'Trésorerie' where jrn_type_id='FIN'; + +alter table jrn_type drop constraint jrn_type_pkey cascade; +alter table jrn_type add t_id serial; +alter table jrn_type add primary key (t_id); +insert into jrn_type(jrn_type_id,jrn_desc) values ('ACH','Note de frais'), ('ACH','Note de débit (reçu d''fournisseur)'),('VEN','Note de crédit (délivré à un client)'),('ODS','A Nouveau'),('ODS','Amortissement'); \ No newline at end of file