noalyss-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Noalyss-commit] [noalyss] 100/323: Merge with stash{1}


From: Dany De Bontridder
Subject: [Noalyss-commit] [noalyss] 100/323: Merge with stash{1}
Date: Wed, 14 Mar 2018 17:38:32 -0400 (EDT)

sparkyx pushed a commit to branch master
in repository noalyss.

commit b232d5390063a97557190dc1184107dff3db02f5
Author: Dany De Bontridder <address@hidden>
Date:   Sat Jan 27 14:32:11 2018 +0100

    Merge with stash{1}
---
 html/js/scripts.js               |   18 +
 include/lib/html_input.class.php |    3 +
 include/sql/mod1/constraint.sql  |  254 +-
 include/sql/mod1/data.sql        | 2268 +++++++++++-------
 include/sql/mod1/function.sql    | 1662 ++++++++++---
 include/sql/mod1/index.sql       |   24 +-
 include/sql/mod1/make-sql        |   11 +-
 include/sql/mod1/schema.sql      | 4840 +++++++++++++++++++++++++++++---------
 include/sql/mod1/sequence.sql    |  360 ++-
 include/sql/mod1/table.sql       |  310 ++-
 include/sql/mod1/view.sql        |   28 +-
 11 files changed, 7317 insertions(+), 2461 deletions(-)

diff --git a/html/js/scripts.js b/html/js/scripts.js
index 6334279..1466e1a 100644
--- a/html/js/scripts.js
+++ b/html/js/scripts.js
@@ -3009,6 +3009,24 @@ function pin (object_id) {
     if ( aDraggableElement[object_id]) {
         aDraggableElement[object_id].destroy();
         aDraggableElement[object_id]=undefined;
+        $('pin_'+object_id).firstChild.innerHTML="&oplus;";
+    } else {
+        aDraggableElement[object_id]=new Draggable(object_id, {starteffect: 
function ()
+                {
+                    new Effect.Highlight(object_id, {scroll: window, queue: 
'end'});
+                }}
+            ); 
+        $('pin_'+object_id).firstChild.innerHTML="&#10057;";
+    }
+}
+/**
+ * Make an DOM element draggable or not
+ * @param object_id DOM id
+ */
+function pin (object_id) {
+    if ( aDraggableElement[object_id]) {
+        aDraggableElement[object_id].destroy();
+        aDraggableElement[object_id]=undefined;
         $('pin_'+object_id).innerHTML="&#xf192;";
     } else {
         aDraggableElement[object_id]=new Draggable(object_id, {starteffect: 
function ()
diff --git a/include/lib/html_input.class.php b/include/lib/html_input.class.php
index f7a0e1a..28a484d 100755
--- a/include/lib/html_input.class.php
+++ b/include/lib/html_input.class.php
@@ -834,6 +834,7 @@ class HtmlInput
 
         $r.='</div>';
         $r.=h2($p_name, ' class="title" ');
+   
         return $r;
     }
 
@@ -873,6 +874,8 @@ class HtmlInput
         if ($p_js!="")
         {
             $p_url="javascript:void(0)";
+          } else {
+              $p_url=sprintf('href="%s"',$p_url);
         }
         else
         {
diff --git a/include/sql/mod1/constraint.sql b/include/sql/mod1/constraint.sql
index d25f1b0..5b0ed37 100644
--- a/include/sql/mod1/constraint.sql
+++ b/include/sql/mod1/constraint.sql
@@ -2,34 +2,76 @@
  SET check_function_bodies = false;
  SET client_min_messages = warning;
 SET search_path = public, pg_catalog;
-ALTER TABLE action_detail ALTER COLUMN ad_id SET DEFAULT 
nextval('action_detail_ad_id_seq'::regclass);
-ALTER TABLE del_action ALTER COLUMN del_id SET DEFAULT 
nextval('del_action_del_id_seq'::regclass);
-ALTER TABLE extension ALTER COLUMN ex_id SET DEFAULT 
nextval('extension_ex_id_seq'::regclass);
-ALTER TABLE forecast ALTER COLUMN f_id SET DEFAULT 
nextval('forecast_f_id_seq'::regclass);
-ALTER TABLE forecast_cat ALTER COLUMN fc_id SET DEFAULT 
nextval('forecast_cat_fc_id_seq'::regclass);
-ALTER TABLE forecast_item ALTER COLUMN fi_id SET DEFAULT 
nextval('forecast_item_fi_id_seq'::regclass);
-ALTER TABLE jnt_letter ALTER COLUMN jl_id SET DEFAULT 
nextval('jnt_letter_jl_id_seq'::regclass);
-ALTER TABLE jrn_info ALTER COLUMN ji_id SET DEFAULT 
nextval('jrn_info_ji_id_seq'::regclass);
-ALTER TABLE letter_cred ALTER COLUMN lc_id SET DEFAULT 
nextval('letter_cred_lc_id_seq'::regclass);
-ALTER TABLE letter_deb ALTER COLUMN ld_id SET DEFAULT 
nextval('letter_deb_ld_id_seq'::regclass);
-ALTER TABLE mod_payment ALTER COLUMN mp_id SET DEFAULT 
nextval('mod_payment_mp_id_seq'::regclass);
-ALTER TABLE user_sec_extension ALTER COLUMN use_id SET DEFAULT 
nextval('user_sec_extension_use_id_seq'::regclass);
+ALTER TABLE ONLY action_detail ALTER COLUMN ad_id SET DEFAULT 
nextval('action_detail_ad_id_seq'::regclass);
+ALTER TABLE ONLY action_gestion_comment ALTER COLUMN agc_id SET DEFAULT 
nextval('action_gestion_comment_agc_id_seq'::regclass);
+ALTER TABLE ONLY action_gestion_operation ALTER COLUMN ago_id SET DEFAULT 
nextval('action_gestion_operation_ago_id_seq'::regclass);
+ALTER TABLE ONLY action_gestion_related ALTER COLUMN aga_id SET DEFAULT 
nextval('action_gestion_related_aga_id_seq'::regclass);
+ALTER TABLE ONLY action_person ALTER COLUMN ap_id SET DEFAULT 
nextval('action_person_ap_id_seq'::regclass);
+ALTER TABLE ONLY action_tags ALTER COLUMN at_id SET DEFAULT 
nextval('action_tags_at_id_seq'::regclass);
+ALTER TABLE ONLY bookmark ALTER COLUMN b_id SET DEFAULT 
nextval('bookmark_b_id_seq'::regclass);
+ALTER TABLE ONLY del_action ALTER COLUMN del_id SET DEFAULT 
nextval('del_action_del_id_seq'::regclass);
+ALTER TABLE ONLY del_jrn ALTER COLUMN dj_id SET DEFAULT 
nextval('del_jrn_dj_id_seq'::regclass);
+ALTER TABLE ONLY del_jrnx ALTER COLUMN djx_id SET DEFAULT 
nextval('del_jrnx_djx_id_seq'::regclass);
+ALTER TABLE ONLY extension ALTER COLUMN ex_id SET DEFAULT 
nextval('extension_ex_id_seq'::regclass);
+ALTER TABLE ONLY forecast ALTER COLUMN f_id SET DEFAULT 
nextval('forecast_f_id_seq'::regclass);
+ALTER TABLE ONLY forecast_cat ALTER COLUMN fc_id SET DEFAULT 
nextval('forecast_cat_fc_id_seq'::regclass);
+ALTER TABLE ONLY forecast_item ALTER COLUMN fi_id SET DEFAULT 
nextval('forecast_item_fi_id_seq'::regclass);
+ALTER TABLE ONLY jnt_letter ALTER COLUMN jl_id SET DEFAULT 
nextval('jnt_letter_jl_id_seq'::regclass);
+ALTER TABLE ONLY jrn_info ALTER COLUMN ji_id SET DEFAULT 
nextval('jrn_info_ji_id_seq'::regclass);
+ALTER TABLE ONLY jrn_note ALTER COLUMN n_id SET DEFAULT 
nextval('jrn_note_n_id_seq'::regclass);
+ALTER TABLE ONLY key_distribution ALTER COLUMN kd_id SET DEFAULT 
nextval('key_distribution_kd_id_seq'::regclass);
+ALTER TABLE ONLY key_distribution_activity ALTER COLUMN ka_id SET DEFAULT 
nextval('key_distribution_activity_ka_id_seq'::regclass);
+ALTER TABLE ONLY key_distribution_detail ALTER COLUMN ke_id SET DEFAULT 
nextval('key_distribution_detail_ke_id_seq'::regclass);
+ALTER TABLE ONLY key_distribution_ledger ALTER COLUMN kl_id SET DEFAULT 
nextval('key_distribution_ledger_kl_id_seq'::regclass);
+ALTER TABLE ONLY letter_cred ALTER COLUMN lc_id SET DEFAULT 
nextval('letter_cred_lc_id_seq'::regclass);
+ALTER TABLE ONLY letter_deb ALTER COLUMN ld_id SET DEFAULT 
nextval('letter_deb_ld_id_seq'::regclass);
+ALTER TABLE ONLY link_action_type ALTER COLUMN l_id SET DEFAULT 
nextval('link_action_type_l_id_seq'::regclass);
+ALTER TABLE ONLY menu_default ALTER COLUMN md_id SET DEFAULT 
nextval('menu_default_md_id_seq'::regclass);
+ALTER TABLE ONLY mod_payment ALTER COLUMN mp_id SET DEFAULT 
nextval('mod_payment_mp_id_seq'::regclass);
+ALTER TABLE ONLY profile ALTER COLUMN p_id SET DEFAULT 
nextval('profile_p_id_seq'::regclass);
+ALTER TABLE ONLY profile_menu ALTER COLUMN pm_id SET DEFAULT 
nextval('profile_menu_pm_id_seq'::regclass);
+ALTER TABLE ONLY profile_sec_repository ALTER COLUMN ur_id SET DEFAULT 
nextval('profile_sec_repository_ur_id_seq'::regclass);
+ALTER TABLE ONLY profile_user ALTER COLUMN pu_id SET DEFAULT 
nextval('profile_user_pu_id_seq'::regclass);
+ALTER TABLE ONLY quant_fin ALTER COLUMN qf_id SET DEFAULT 
nextval('quant_fin_qf_id_seq'::regclass);
+ALTER TABLE ONLY stock_change ALTER COLUMN c_id SET DEFAULT 
nextval('stock_change_c_id_seq'::regclass);
+ALTER TABLE ONLY stock_repository ALTER COLUMN r_id SET DEFAULT 
nextval('stock_repository_r_id_seq'::regclass);
+ALTER TABLE ONLY tags ALTER COLUMN t_id SET DEFAULT 
nextval('tags_t_id_seq'::regclass);
+ALTER TABLE ONLY tmp_stockgood ALTER COLUMN s_id SET DEFAULT 
nextval('tmp_stockgood_s_id_seq'::regclass);
+ALTER TABLE ONLY tmp_stockgood_detail ALTER COLUMN d_id SET DEFAULT 
nextval('tmp_stockgood_detail_d_id_seq'::regclass);
+ALTER TABLE ONLY todo_list_shared ALTER COLUMN id SET DEFAULT 
nextval('todo_list_shared_id_seq'::regclass);
+ALTER TABLE ONLY user_sec_action_profile ALTER COLUMN ua_id SET DEFAULT 
nextval('user_sec_action_profile_ua_id_seq'::regclass);
+ALTER TABLE ONLY action_gestion_operation
+    ADD CONSTRAINT action_comment_operation_pkey PRIMARY KEY (ago_id);
 ALTER TABLE ONLY action_detail
     ADD CONSTRAINT action_detail_pkey PRIMARY KEY (ad_id);
+ALTER TABLE ONLY action_gestion_comment
+    ADD CONSTRAINT action_gestion_comment_pkey PRIMARY KEY (agc_id);
 ALTER TABLE ONLY action_gestion
     ADD CONSTRAINT action_gestion_pkey PRIMARY KEY (ag_id);
+ALTER TABLE ONLY action_gestion_related
+    ADD CONSTRAINT action_gestion_related_pkey PRIMARY KEY (aga_id);
+ALTER TABLE ONLY action_person
+    ADD CONSTRAINT action_person_pkey PRIMARY KEY (ap_id);
 ALTER TABLE ONLY action
     ADD CONSTRAINT action_pkey PRIMARY KEY (ac_id);
+ALTER TABLE ONLY action_tags
+    ADD CONSTRAINT action_tags_pkey PRIMARY KEY (at_id);
 ALTER TABLE ONLY attr_def
     ADD CONSTRAINT attr_def_pkey PRIMARY KEY (ad_id);
 ALTER TABLE ONLY bilan
     ADD CONSTRAINT bilan_b_name_key UNIQUE (b_name);
 ALTER TABLE ONLY bilan
     ADD CONSTRAINT bilan_pkey PRIMARY KEY (b_id);
+ALTER TABLE ONLY bookmark
+    ADD CONSTRAINT bookmark_pkey PRIMARY KEY (b_id);
 ALTER TABLE ONLY centralized
     ADD CONSTRAINT centralized_pkey PRIMARY KEY (c_id);
 ALTER TABLE ONLY del_action
     ADD CONSTRAINT del_action_pkey PRIMARY KEY (del_id);
+ALTER TABLE ONLY del_jrn
+    ADD CONSTRAINT dj_id PRIMARY KEY (dj_id);
+ALTER TABLE ONLY del_jrnx
+    ADD CONSTRAINT djx_id PRIMARY KEY (djx_id);
 ALTER TABLE ONLY document_modele
     ADD CONSTRAINT document_modele_pkey PRIMARY KEY (md_id);
 ALTER TABLE ONLY document
@@ -52,26 +94,20 @@ ALTER TABLE ONLY forecast
     ADD CONSTRAINT forecast_pk PRIMARY KEY (f_id);
 ALTER TABLE ONLY form
     ADD CONSTRAINT form_pkey PRIMARY KEY (fo_id);
-ALTER TABLE ONLY format_csv_banque
-    ADD CONSTRAINT format_csv_banque_pkey PRIMARY KEY (name);
 ALTER TABLE ONLY formdef
     ADD CONSTRAINT formdef_pkey PRIMARY KEY (fr_id);
+ALTER TABLE ONLY attr_min
+    ADD CONSTRAINT frd_ad_attr_min_pk PRIMARY KEY (frd_id, ad_id);
 ALTER TABLE ONLY operation_analytique
     ADD CONSTRAINT historique_analytique_pkey PRIMARY KEY (oa_id);
 ALTER TABLE ONLY extension
     ADD CONSTRAINT idx_ex_code UNIQUE (ex_code);
 ALTER TABLE ONLY info_def
     ADD CONSTRAINT info_def_pkey PRIMARY KEY (id_type);
-ALTER TABLE ONLY del_jrnx
-    ADD CONSTRAINT j_id PRIMARY KEY (j_id);
-ALTER TABLE ONLY jnt_fic_att_value
+ALTER TABLE ONLY fiche_detail
     ADD CONSTRAINT jnt_fic_att_value_pkey PRIMARY KEY (jft_id);
 ALTER TABLE ONLY jnt_letter
     ADD CONSTRAINT jnt_letter_pk PRIMARY KEY (jl_id);
-ALTER TABLE ONLY del_jrn
-    ADD CONSTRAINT jr_id PRIMARY KEY (jr_id);
-ALTER TABLE ONLY jrn_action
-    ADD CONSTRAINT jrn_action_pkey PRIMARY KEY (ja_id);
 ALTER TABLE ONLY jrn_def
     ADD CONSTRAINT jrn_def_jrn_def_name_key UNIQUE (jrn_def_name);
 ALTER TABLE ONLY jrn_def
@@ -86,12 +122,34 @@ ALTER TABLE ONLY jrn_rapt
     ADD CONSTRAINT jrn_rapt_pkey PRIMARY KEY (jra_id);
 ALTER TABLE ONLY jrn_type
     ADD CONSTRAINT jrn_type_pkey PRIMARY KEY (jrn_type_id);
+ALTER TABLE ONLY jrn_note
+    ADD CONSTRAINT jrnx_note_pkey PRIMARY KEY (n_id);
 ALTER TABLE ONLY jrnx
     ADD CONSTRAINT jrnx_pkey PRIMARY KEY (j_id);
+ALTER TABLE ONLY key_distribution_activity
+    ADD CONSTRAINT key_distribution_activity_pkey PRIMARY KEY (ka_id);
+ALTER TABLE ONLY key_distribution_detail
+    ADD CONSTRAINT key_distribution_detail_pkey PRIMARY KEY (ke_id);
+ALTER TABLE ONLY key_distribution_ledger
+    ADD CONSTRAINT key_distribution_ledger_pkey PRIMARY KEY (kl_id);
+ALTER TABLE ONLY key_distribution
+    ADD CONSTRAINT key_distribution_pkey PRIMARY KEY (kd_id);
+ALTER TABLE ONLY letter_cred
+    ADD CONSTRAINT letter_cred_j_id_key UNIQUE (j_id);
 ALTER TABLE ONLY letter_cred
     ADD CONSTRAINT letter_cred_pk PRIMARY KEY (lc_id);
 ALTER TABLE ONLY letter_deb
+    ADD CONSTRAINT letter_deb_j_id_key UNIQUE (j_id);
+ALTER TABLE ONLY letter_deb
     ADD CONSTRAINT letter_deb_pk PRIMARY KEY (ld_id);
+ALTER TABLE ONLY link_action_type
+    ADD CONSTRAINT link_action_type_pkey PRIMARY KEY (l_id);
+ALTER TABLE ONLY menu_default
+    ADD CONSTRAINT menu_default_md_code_key UNIQUE (md_code);
+ALTER TABLE ONLY menu_default
+    ADD CONSTRAINT menu_default_pkey PRIMARY KEY (md_id);
+ALTER TABLE ONLY menu_ref
+    ADD CONSTRAINT menu_ref_pkey PRIMARY KEY (me_code);
 ALTER TABLE ONLY mod_payment
     ADD CONSTRAINT mod_payment_pkey PRIMARY KEY (mp_id);
 ALTER TABLE ONLY op_predef
@@ -124,26 +182,62 @@ ALTER TABLE ONLY plan_analytique
     ADD CONSTRAINT plan_analytique_pkey PRIMARY KEY (pa_id);
 ALTER TABLE ONLY poste_analytique
     ADD CONSTRAINT poste_analytique_pkey PRIMARY KEY (po_id);
+ALTER TABLE ONLY profile_menu
+    ADD CONSTRAINT profile_menu_pkey PRIMARY KEY (pm_id);
+ALTER TABLE ONLY profile_menu_type
+    ADD CONSTRAINT profile_menu_type_pkey PRIMARY KEY (pm_type);
+ALTER TABLE ONLY profile
+    ADD CONSTRAINT profile_pkey PRIMARY KEY (p_id);
+ALTER TABLE ONLY profile_sec_repository
+    ADD CONSTRAINT profile_sec_repository_pkey PRIMARY KEY (ur_id);
+ALTER TABLE ONLY profile_sec_repository
+    ADD CONSTRAINT profile_sec_repository_r_id_p_id_u UNIQUE (r_id, p_id);
+ALTER TABLE ONLY profile_user
+    ADD CONSTRAINT profile_user_pkey PRIMARY KEY (pu_id);
+ALTER TABLE ONLY profile_user
+    ADD CONSTRAINT profile_user_user_name_key UNIQUE (user_name, p_id);
 ALTER TABLE ONLY quant_purchase
     ADD CONSTRAINT qp_id_pk PRIMARY KEY (qp_id);
 ALTER TABLE ONLY quant_sold
     ADD CONSTRAINT qs_id_pk PRIMARY KEY (qs_id);
+ALTER TABLE ONLY quant_fin
+    ADD CONSTRAINT quant_fin_pk PRIMARY KEY (qf_id);
+ALTER TABLE ONLY stock_change
+    ADD CONSTRAINT stock_change_pkey PRIMARY KEY (c_id);
 ALTER TABLE ONLY stock_goods
     ADD CONSTRAINT stock_goods_pkey PRIMARY KEY (sg_id);
+ALTER TABLE ONLY stock_repository
+    ADD CONSTRAINT stock_repository_pkey PRIMARY KEY (r_id);
+ALTER TABLE ONLY tags
+    ADD CONSTRAINT tags_pkey PRIMARY KEY (t_id);
 ALTER TABLE ONLY tmp_pcmn
     ADD CONSTRAINT tmp_pcmn_pkey PRIMARY KEY (pcm_val);
+ALTER TABLE ONLY tmp_stockgood_detail
+    ADD CONSTRAINT tmp_stockgood_detail_pkey PRIMARY KEY (d_id);
+ALTER TABLE ONLY tmp_stockgood
+    ADD CONSTRAINT tmp_stockgood_pkey PRIMARY KEY (s_id);
 ALTER TABLE ONLY todo_list
     ADD CONSTRAINT todo_list_pkey PRIMARY KEY (tl_id);
+ALTER TABLE ONLY todo_list_shared
+    ADD CONSTRAINT todo_list_shared_pkey PRIMARY KEY (id);
+ALTER TABLE ONLY tool_uos
+    ADD CONSTRAINT tool_uos_pkey PRIMARY KEY (uos_value);
 ALTER TABLE ONLY tva_rate
     ADD CONSTRAINT tva_id_pk PRIMARY KEY (tva_id);
+ALTER TABLE ONLY user_sec_jrn
+    ADD CONSTRAINT uniq_user_ledger UNIQUE (uj_login, uj_jrn_id);
+ALTER TABLE ONLY todo_list_shared
+    ADD CONSTRAINT unique_todo_list_id_login UNIQUE (todo_list_id, use_login);
 ALTER TABLE ONLY user_sec_act
     ADD CONSTRAINT user_sec_act_pkey PRIMARY KEY (ua_id);
-ALTER TABLE ONLY user_sec_extension
-    ADD CONSTRAINT user_sec_extension_ex_id_key UNIQUE (ex_id, use_login);
-ALTER TABLE ONLY user_sec_extension
-    ADD CONSTRAINT user_sec_extension_pkey PRIMARY KEY (use_id);
+ALTER TABLE ONLY user_sec_action_profile
+    ADD CONSTRAINT user_sec_action_profile_p_id_p_granted_u UNIQUE (p_id, 
p_granted);
+ALTER TABLE ONLY user_sec_action_profile
+    ADD CONSTRAINT user_sec_action_profile_pkey PRIMARY KEY (ua_id);
 ALTER TABLE ONLY user_sec_jrn
     ADD CONSTRAINT user_sec_jrn_pkey PRIMARY KEY (uj_id);
+ALTER TABLE ONLY action_gestion_related
+    ADD CONSTRAINT ux_aga_least_aga_greatest UNIQUE (aga_least, aga_greatest);
 ALTER TABLE ONLY jrn
     ADD CONSTRAINT ux_internal UNIQUE (jr_internal);
 ALTER TABLE ONLY centralized
@@ -156,36 +250,64 @@ ALTER TABLE ONLY attr_min
     ADD CONSTRAINT "$1" FOREIGN KEY (frd_id) REFERENCES fiche_def_ref(frd_id);
 ALTER TABLE ONLY fiche
     ADD CONSTRAINT "$1" FOREIGN KEY (fd_id) REFERENCES fiche_def(fd_id);
-ALTER TABLE ONLY jnt_fic_att_value
+ALTER TABLE ONLY fiche_detail
     ADD CONSTRAINT "$1" FOREIGN KEY (f_id) REFERENCES fiche(f_id);
-ALTER TABLE ONLY attr_value
-    ADD CONSTRAINT "$1" FOREIGN KEY (jft_id) REFERENCES 
jnt_fic_att_value(jft_id);
 ALTER TABLE ONLY jnt_fic_attr
     ADD CONSTRAINT "$1" FOREIGN KEY (fd_id) REFERENCES fiche_def(fd_id);
 ALTER TABLE ONLY jrn
     ADD CONSTRAINT "$1" FOREIGN KEY (jr_def_id) REFERENCES jrn_def(jrn_def_id);
-ALTER TABLE ONLY jrn_action
-    ADD CONSTRAINT "$1" FOREIGN KEY (ja_jrn_type) REFERENCES 
jrn_type(jrn_type_id);
 ALTER TABLE ONLY jrn_def
     ADD CONSTRAINT "$1" FOREIGN KEY (jrn_def_type) REFERENCES 
jrn_type(jrn_type_id);
 ALTER TABLE ONLY jrnx
     ADD CONSTRAINT "$2" FOREIGN KEY (j_jrn_def) REFERENCES jrn_def(jrn_def_id);
 ALTER TABLE ONLY attr_min
     ADD CONSTRAINT "$2" FOREIGN KEY (ad_id) REFERENCES attr_def(ad_id);
-ALTER TABLE ONLY jnt_fic_att_value
-    ADD CONSTRAINT "$2" FOREIGN KEY (ad_id) REFERENCES attr_def(ad_id);
-ALTER TABLE ONLY jnt_fic_attr
-    ADD CONSTRAINT "$2" FOREIGN KEY (ad_id) REFERENCES attr_def(ad_id);
+ALTER TABLE ONLY action_gestion_operation
+    ADD CONSTRAINT action_comment_operation_ag_id_fkey FOREIGN KEY (ag_id) 
REFERENCES action_gestion(ag_id) ON UPDATE CASCADE ON DELETE CASCADE;
+ALTER TABLE ONLY action_gestion_operation
+    ADD CONSTRAINT action_comment_operation_jr_id_fkey FOREIGN KEY (jr_id) 
REFERENCES jrn(jr_id) ON UPDATE CASCADE ON DELETE CASCADE;
 ALTER TABLE ONLY action_detail
     ADD CONSTRAINT action_detail_ag_id_fkey FOREIGN KEY (ag_id) REFERENCES 
action_gestion(ag_id) ON UPDATE CASCADE ON DELETE CASCADE;
+ALTER TABLE ONLY action_person
+    ADD CONSTRAINT action_gestion_ag_id_fk2 FOREIGN KEY (ag_id) REFERENCES 
action_gestion(ag_id);
+ALTER TABLE ONLY action_gestion_comment
+    ADD CONSTRAINT action_gestion_comment_ag_id_fkey FOREIGN KEY (ag_id) 
REFERENCES action_gestion(ag_id) ON UPDATE CASCADE ON DELETE CASCADE;
+ALTER TABLE ONLY action_gestion_related
+    ADD CONSTRAINT action_gestion_related_aga_greatest_fkey FOREIGN KEY 
(aga_greatest) REFERENCES action_gestion(ag_id) ON UPDATE CASCADE ON DELETE 
CASCADE;
+ALTER TABLE ONLY action_gestion_related
+    ADD CONSTRAINT action_gestion_related_aga_least_fkey FOREIGN KEY 
(aga_least) REFERENCES action_gestion(ag_id) ON UPDATE CASCADE ON DELETE 
CASCADE;
+ALTER TABLE ONLY action_gestion_related
+    ADD CONSTRAINT action_gestion_related_aga_type_fkey FOREIGN KEY (aga_type) 
REFERENCES link_action_type(l_id);
+ALTER TABLE ONLY action_person
+    ADD CONSTRAINT action_person_ag_id_fkey FOREIGN KEY (ag_id) REFERENCES 
action_gestion(ag_id) ON UPDATE CASCADE ON DELETE CASCADE;
+ALTER TABLE ONLY action_person
+    ADD CONSTRAINT action_person_f_id_fkey FOREIGN KEY (f_id) REFERENCES 
fiche(f_id) ON UPDATE CASCADE ON DELETE CASCADE;
+ALTER TABLE ONLY action_tags
+    ADD CONSTRAINT action_tags_ag_id_fkey FOREIGN KEY (ag_id) REFERENCES 
action_gestion(ag_id) ON UPDATE CASCADE ON DELETE CASCADE;
+ALTER TABLE ONLY action_tags
+    ADD CONSTRAINT action_tags_t_id_fkey FOREIGN KEY (t_id) REFERENCES 
tags(t_id) ON UPDATE CASCADE ON DELETE CASCADE;
 ALTER TABLE ONLY forecast_item
     ADD CONSTRAINT card FOREIGN KEY (fi_card) REFERENCES fiche(f_id) ON UPDATE 
CASCADE ON DELETE CASCADE;
+ALTER TABLE ONLY fiche_detail
+    ADD CONSTRAINT fiche_detail_attr_def_fk FOREIGN KEY (ad_id) REFERENCES 
attr_def(ad_id) ON UPDATE CASCADE ON DELETE CASCADE;
+ALTER TABLE ONLY action_person
+    ADD CONSTRAINT fiche_f_id_fk2 FOREIGN KEY (f_id) REFERENCES fiche(f_id);
+ALTER TABLE ONLY action_gestion
+    ADD CONSTRAINT fiche_f_id_fk3 FOREIGN KEY (f_id_dest) REFERENCES 
fiche(f_id);
+ALTER TABLE ONLY action_gestion
+    ADD CONSTRAINT fk_action_gestion_document_type FOREIGN KEY (ag_type) 
REFERENCES document_type(dt_id);
+ALTER TABLE ONLY quant_fin
+    ADD CONSTRAINT fk_card FOREIGN KEY (qf_bank) REFERENCES fiche(f_id) ON 
UPDATE CASCADE ON DELETE CASCADE;
+ALTER TABLE ONLY quant_fin
+    ADD CONSTRAINT fk_card_other FOREIGN KEY (qf_other) REFERENCES fiche(f_id) 
ON UPDATE CASCADE ON DELETE CASCADE;
 ALTER TABLE ONLY forecast_item
     ADD CONSTRAINT fk_forecast FOREIGN KEY (fc_id) REFERENCES 
forecast_cat(fc_id) ON UPDATE CASCADE ON DELETE CASCADE;
 ALTER TABLE ONLY jrn_info
     ADD CONSTRAINT fk_info_def FOREIGN KEY (id_type) REFERENCES 
info_def(id_type) ON UPDATE CASCADE ON DELETE CASCADE;
 ALTER TABLE ONLY jrn_info
     ADD CONSTRAINT fk_jrn FOREIGN KEY (jr_id) REFERENCES jrn(jr_id) ON UPDATE 
CASCADE ON DELETE CASCADE;
+ALTER TABLE ONLY quant_fin
+    ADD CONSTRAINT fk_jrn FOREIGN KEY (jr_id) REFERENCES jrn(jr_id) ON UPDATE 
CASCADE ON DELETE CASCADE;
 ALTER TABLE ONLY groupe_analytique
     ADD CONSTRAINT fk_pa_id FOREIGN KEY (pa_id) REFERENCES 
plan_analytique(pa_id) ON DELETE CASCADE;
 ALTER TABLE ONLY jrnx
@@ -194,20 +316,48 @@ ALTER TABLE ONLY centralized
     ADD CONSTRAINT fk_pcmn_val FOREIGN KEY (c_poste) REFERENCES 
tmp_pcmn(pcm_val);
 ALTER TABLE ONLY stock_goods
     ADD CONSTRAINT fk_stock_good_f_id FOREIGN KEY (f_id) REFERENCES 
fiche(f_id) ON UPDATE CASCADE ON DELETE CASCADE;
+ALTER TABLE ONLY todo_list_shared
+    ADD CONSTRAINT fk_todo_list_shared_todo_list FOREIGN KEY (todo_list_id) 
REFERENCES todo_list(tl_id);
 ALTER TABLE ONLY forecast_cat
     ADD CONSTRAINT forecast_child FOREIGN KEY (f_id) REFERENCES forecast(f_id) 
ON UPDATE CASCADE ON DELETE CASCADE;
+ALTER TABLE ONLY forecast
+    ADD CONSTRAINT forecast_f_end_date_fkey FOREIGN KEY (f_end_date) 
REFERENCES parm_periode(p_id) ON UPDATE SET NULL ON DELETE SET NULL;
+ALTER TABLE ONLY forecast
+    ADD CONSTRAINT forecast_f_start_date_fkey FOREIGN KEY (f_start_date) 
REFERENCES parm_periode(p_id) ON UPDATE SET NULL ON DELETE SET NULL;
 ALTER TABLE ONLY form
     ADD CONSTRAINT formdef_fk FOREIGN KEY (fo_fr_id) REFERENCES formdef(fr_id) 
ON UPDATE CASCADE ON DELETE CASCADE;
 ALTER TABLE ONLY letter_cred
     ADD CONSTRAINT jnt_cred_fk FOREIGN KEY (jl_id) REFERENCES 
jnt_letter(jl_id) ON UPDATE CASCADE ON DELETE CASCADE;
 ALTER TABLE ONLY letter_deb
     ADD CONSTRAINT jnt_deb_fk FOREIGN KEY (jl_id) REFERENCES jnt_letter(jl_id) 
ON UPDATE CASCADE ON DELETE CASCADE;
+ALTER TABLE ONLY jnt_fic_attr
+    ADD CONSTRAINT jnt_fic_attr_attr_def_fk FOREIGN KEY (ad_id) REFERENCES 
attr_def(ad_id) ON UPDATE CASCADE ON DELETE CASCADE;
 ALTER TABLE ONLY op_predef
     ADD CONSTRAINT jrn_def_id_fk FOREIGN KEY (jrn_def_id) REFERENCES 
jrn_def(jrn_def_id) ON UPDATE CASCADE ON DELETE CASCADE;
 ALTER TABLE ONLY jrn_periode
     ADD CONSTRAINT jrn_per_jrn_def_id FOREIGN KEY (jrn_def_id) REFERENCES 
jrn_def(jrn_def_id) ON UPDATE CASCADE ON DELETE CASCADE;
 ALTER TABLE ONLY jrn_periode
     ADD CONSTRAINT jrn_periode_p_id FOREIGN KEY (p_id) REFERENCES 
parm_periode(p_id) ON UPDATE CASCADE ON DELETE CASCADE;
+ALTER TABLE ONLY jrn_rapt
+    ADD CONSTRAINT jrn_rapt_jr_id_fkey FOREIGN KEY (jr_id) REFERENCES 
jrn(jr_id) ON UPDATE CASCADE ON DELETE CASCADE;
+ALTER TABLE ONLY jrn_rapt
+    ADD CONSTRAINT jrn_rapt_jra_concerned_fkey FOREIGN KEY (jra_concerned) 
REFERENCES jrn(jr_id) ON UPDATE CASCADE ON DELETE CASCADE;
+ALTER TABLE ONLY jrnx
+    ADD CONSTRAINT jrnx_f_id_fkey FOREIGN KEY (f_id) REFERENCES fiche(f_id) ON 
UPDATE CASCADE;
+ALTER TABLE ONLY jrn_note
+    ADD CONSTRAINT jrnx_note_j_id_fkey FOREIGN KEY (jr_id) REFERENCES 
jrn(jr_id) ON UPDATE CASCADE ON DELETE CASCADE;
+ALTER TABLE ONLY key_distribution_activity
+    ADD CONSTRAINT key_distribution_activity_ke_id_fkey FOREIGN KEY (ke_id) 
REFERENCES key_distribution_detail(ke_id) ON UPDATE CASCADE ON DELETE CASCADE;
+ALTER TABLE ONLY key_distribution_activity
+    ADD CONSTRAINT key_distribution_activity_pa_id_fkey FOREIGN KEY (pa_id) 
REFERENCES plan_analytique(pa_id) ON UPDATE CASCADE ON DELETE CASCADE;
+ALTER TABLE ONLY key_distribution_activity
+    ADD CONSTRAINT key_distribution_activity_po_id_fkey FOREIGN KEY (po_id) 
REFERENCES poste_analytique(po_id) ON UPDATE CASCADE ON DELETE CASCADE;
+ALTER TABLE ONLY key_distribution_detail
+    ADD CONSTRAINT key_distribution_detail_kd_id_fkey FOREIGN KEY (kd_id) 
REFERENCES key_distribution(kd_id) ON UPDATE CASCADE ON DELETE CASCADE;
+ALTER TABLE ONLY key_distribution_ledger
+    ADD CONSTRAINT key_distribution_ledger_jrn_def_id_fkey FOREIGN KEY 
(jrn_def_id) REFERENCES jrn_def(jrn_def_id) ON UPDATE CASCADE ON DELETE CASCADE;
+ALTER TABLE ONLY key_distribution_ledger
+    ADD CONSTRAINT key_distribution_ledger_kd_id_fkey FOREIGN KEY (kd_id) 
REFERENCES key_distribution(kd_id) ON UPDATE CASCADE ON DELETE CASCADE;
 ALTER TABLE ONLY letter_cred
     ADD CONSTRAINT letter_cred_fk FOREIGN KEY (j_id) REFERENCES jrnx(j_id) ON 
UPDATE CASCADE ON DELETE CASCADE;
 ALTER TABLE ONLY letter_deb
@@ -215,22 +365,54 @@ ALTER TABLE ONLY letter_deb
 ALTER TABLE ONLY document_modele
     ADD CONSTRAINT md_type FOREIGN KEY (md_type) REFERENCES 
document_type(dt_id);
 ALTER TABLE ONLY mod_payment
-    ADD CONSTRAINT mod_payment_mp_fd_id_fkey FOREIGN KEY (mp_fd_id) REFERENCES 
fiche_def(fd_id);
+    ADD CONSTRAINT mod_payment_jrn_def_id_fk FOREIGN KEY (jrn_def_id) 
REFERENCES jrn_def(jrn_def_id) ON UPDATE CASCADE ON DELETE CASCADE;
 ALTER TABLE ONLY mod_payment
-    ADD CONSTRAINT mod_payment_mp_jrn_def_id_fkey FOREIGN KEY (mp_jrn_def_id) 
REFERENCES jrn_def(jrn_def_id);
+    ADD CONSTRAINT mod_payment_mp_fd_id_fkey FOREIGN KEY (mp_fd_id) REFERENCES 
fiche_def(fd_id) ON UPDATE CASCADE ON DELETE CASCADE;
+ALTER TABLE ONLY mod_payment
+    ADD CONSTRAINT mod_payment_mp_jrn_def_id_fkey FOREIGN KEY (mp_jrn_def_id) 
REFERENCES jrn_def(jrn_def_id) ON UPDATE CASCADE ON DELETE CASCADE;
 ALTER TABLE ONLY operation_analytique
     ADD CONSTRAINT operation_analytique_j_id_fkey FOREIGN KEY (j_id) 
REFERENCES jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE;
 ALTER TABLE ONLY operation_analytique
     ADD CONSTRAINT operation_analytique_po_id_fkey FOREIGN KEY (po_id) 
REFERENCES poste_analytique(po_id) ON UPDATE CASCADE ON DELETE CASCADE;
 ALTER TABLE ONLY poste_analytique
     ADD CONSTRAINT poste_analytique_pa_id_fkey FOREIGN KEY (pa_id) REFERENCES 
plan_analytique(pa_id) ON UPDATE CASCADE ON DELETE CASCADE;
+ALTER TABLE ONLY action_gestion
+    ADD CONSTRAINT profile_fkey FOREIGN KEY (ag_dest) REFERENCES profile(p_id) 
ON UPDATE SET NULL ON DELETE SET NULL;
+ALTER TABLE ONLY profile_menu
+    ADD CONSTRAINT profile_menu_me_code_fkey FOREIGN KEY (me_code) REFERENCES 
menu_ref(me_code) ON UPDATE CASCADE ON DELETE CASCADE;
+ALTER TABLE ONLY profile_menu
+    ADD CONSTRAINT profile_menu_p_id_fkey FOREIGN KEY (p_id) REFERENCES 
profile(p_id) ON UPDATE CASCADE ON DELETE CASCADE;
+ALTER TABLE ONLY profile_menu
+    ADD CONSTRAINT profile_menu_type_fkey FOREIGN KEY (p_type_display) 
REFERENCES profile_menu_type(pm_type);
+ALTER TABLE ONLY profile_sec_repository
+    ADD CONSTRAINT profile_sec_repository_p_id_fkey FOREIGN KEY (p_id) 
REFERENCES profile(p_id) ON UPDATE CASCADE ON DELETE CASCADE;
+ALTER TABLE ONLY profile_sec_repository
+    ADD CONSTRAINT profile_sec_repository_r_id_fkey FOREIGN KEY (r_id) 
REFERENCES stock_repository(r_id) ON UPDATE CASCADE ON DELETE CASCADE;
+ALTER TABLE ONLY profile_user
+    ADD CONSTRAINT profile_user_p_id_fkey FOREIGN KEY (p_id) REFERENCES 
profile(p_id) ON UPDATE CASCADE ON DELETE CASCADE;
 ALTER TABLE ONLY quant_purchase
     ADD CONSTRAINT qp_vat_code_fk FOREIGN KEY (qp_vat_code) REFERENCES 
tva_rate(tva_id);
 ALTER TABLE ONLY quant_sold
     ADD CONSTRAINT qs_vat_code_fk FOREIGN KEY (qs_vat_code) REFERENCES 
tva_rate(tva_id);
 ALTER TABLE ONLY quant_purchase
     ADD CONSTRAINT quant_purchase_j_id_fkey FOREIGN KEY (j_id) REFERENCES 
jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE;
+ALTER TABLE ONLY quant_purchase
+    ADD CONSTRAINT quant_purchase_qp_internal_fkey FOREIGN KEY (qp_internal) 
REFERENCES jrn(jr_internal) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE 
INITIALLY DEFERRED;
 ALTER TABLE ONLY quant_sold
     ADD CONSTRAINT quant_sold_j_id_fkey FOREIGN KEY (j_id) REFERENCES 
jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE;
+ALTER TABLE ONLY quant_sold
+    ADD CONSTRAINT quant_sold_qs_internal_fkey FOREIGN KEY (qs_internal) 
REFERENCES jrn(jr_internal) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE 
INITIALLY DEFERRED;
+ALTER TABLE ONLY stock_change
+    ADD CONSTRAINT stock_change_r_id_fkey FOREIGN KEY (r_id) REFERENCES 
stock_repository(r_id) ON UPDATE CASCADE ON DELETE CASCADE;
+ALTER TABLE ONLY stock_goods
+    ADD CONSTRAINT stock_goods_c_id_fkey FOREIGN KEY (c_id) REFERENCES 
stock_change(c_id) ON UPDATE CASCADE ON DELETE CASCADE;
+ALTER TABLE ONLY stock_goods
+    ADD CONSTRAINT stock_goods_j_id_fkey FOREIGN KEY (j_id) REFERENCES 
jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE;
+ALTER TABLE ONLY tmp_stockgood_detail
+    ADD CONSTRAINT tmp_stockgood_detail_s_id_fkey FOREIGN KEY (s_id) 
REFERENCES tmp_stockgood(s_id) ON DELETE CASCADE;
 ALTER TABLE ONLY user_sec_jrn
     ADD CONSTRAINT uj_priv_id_fkey FOREIGN KEY (uj_jrn_id) REFERENCES 
jrn_def(jrn_def_id) ON UPDATE CASCADE ON DELETE CASCADE;
+ALTER TABLE ONLY user_sec_action_profile
+    ADD CONSTRAINT user_sec_action_profile_p_granted_fkey FOREIGN KEY 
(p_granted) REFERENCES profile(p_id) ON UPDATE CASCADE ON DELETE CASCADE;
+ALTER TABLE ONLY user_sec_action_profile
+    ADD CONSTRAINT user_sec_action_profile_p_id_fkey FOREIGN KEY (p_id) 
REFERENCES profile(p_id) ON UPDATE CASCADE ON DELETE CASCADE;
diff --git a/include/sql/mod1/data.sql b/include/sql/mod1/data.sql
index 068950c..5d0f686 100644
--- a/include/sql/mod1/data.sql
+++ b/include/sql/mod1/data.sql
@@ -1,938 +1,321 @@
 
+SET statement_timeout = 0;
 SET client_encoding = 'UTF8';
-SET standard_conforming_strings = off;
+SET standard_conforming_strings = on;
 SET check_function_bodies = false;
 SET client_min_messages = warning;
-SET escape_string_warning = off;
 
 SET search_path = public, pg_catalog;
 
 
-SELECT pg_catalog.setval('action_detail_ad_id_seq', 1, false);
-
-
-
-SELECT pg_catalog.setval('action_gestion_ag_id_seq', 1, false);
-
-
-
-SELECT pg_catalog.setval('bilan_b_id_seq', 4, true);
-
-
-
-SELECT pg_catalog.setval('bud_card_bc_id_seq', 1, false);
-
-
-
-SELECT pg_catalog.setval('bud_detail_bd_id_seq', 1, false);
-
-
-
-SELECT pg_catalog.setval('bud_detail_periode_bdp_id_seq', 1, false);
-
-
-
-SELECT pg_catalog.setval('del_action_del_id_seq', 1, false);
-
-
-
-SELECT pg_catalog.setval('document_d_id_seq', 1, false);
-
-
-
-SELECT pg_catalog.setval('document_modele_md_id_seq', 1, false);
-
-
-
-SELECT pg_catalog.setval('document_seq', 1, false);
-
-
-
-SELECT pg_catalog.setval('document_state_s_id_seq', 3, true);
-
-
-
-SELECT pg_catalog.setval('document_type_dt_id_seq', 25, false);
-
-
-
-SELECT pg_catalog.setval('extension_ex_id_seq', 1, true);
-
-
-
-SELECT pg_catalog.setval('forecast_cat_fc_id_seq', 1, false);
-
-
-
-SELECT pg_catalog.setval('forecast_f_id_seq', 1, false);
-
-
-
-SELECT pg_catalog.setval('forecast_item_fi_id_seq', 1, false);
-
-
-
-SELECT pg_catalog.setval('historique_analytique_ha_id_seq', 1, false);
-
-
-
-SELECT pg_catalog.setval('s_jnt_id', 53, true);
-
-
-
-SELECT pg_catalog.setval('jnt_letter_jl_id_seq', 1, false);
-
-
-
-SELECT pg_catalog.setval('jrn_info_ji_id_seq', 1, false);
-
-
-
-SELECT pg_catalog.setval('letter_cred_lc_id_seq', 1, false);
-
-
-
-SELECT pg_catalog.setval('letter_deb_ld_id_seq', 1, false);
-
-
-
-SELECT pg_catalog.setval('mod_payment_mp_id_seq', 10, true);
-
-
-
-SELECT pg_catalog.setval('op_def_op_seq', 1, false);
-
-
-
-SELECT pg_catalog.setval('op_predef_detail_opd_id_seq', 1, false);
-
-
-
-SELECT pg_catalog.setval('s_oa_group', 1, true);
-
-
-
-SELECT pg_catalog.setval('plan_analytique_pa_id_seq', 1, false);
-
-
-
-SELECT pg_catalog.setval('poste_analytique_po_id_seq', 1, false);
-
+INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (800, 
'Ajout de fiche', 'fiche', 'FICADD');
+INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (805, 
'Création, modification et effacement de fiche', 'fiche', 'FIC');
+INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (910, 
'création, modification et effacement de catégorie de fiche', 'fiche', 
'FICCAT');
+INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1020, 
'Effacer les documents du suivi', 'followup', 'RMDOC');
+INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1010, 
'Voir les documents du suivi', 'followup', 'VIEWDOC');
+INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1050, 
'Modifier le type de document', 'followup', 'PARCATDOC');
+INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1110, 
'Enlever une pièce justificative', 'compta', 'RMRECEIPT');
+INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1120, 
'Effacer une opération ', 'compta', 'RMOPER');
+INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1210, 
'Partager une note', 'note', 'SHARENOTE');
+INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1220, 
'Créer une note publique', 'note', 'SHARENOTEPUBLIC');
+INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1230, 
'Effacer une note publique', 'note', 'SHARENOTEREMOVE');
+
+
+
+INSERT INTO document_type (dt_id, dt_value, dt_prefix) VALUES (1, 'Document 
Interne', 'DOCUME1');
+INSERT INTO document_type (dt_id, dt_value, dt_prefix) VALUES (2, 'Bons de 
commande client', 'BONSDE2');
+INSERT INTO document_type (dt_id, dt_value, dt_prefix) VALUES (3, 'Bon de 
commande Fournisseur', 'BONDEC3');
+INSERT INTO document_type (dt_id, dt_value, dt_prefix) VALUES (4, 'Facture', 
'FACTUR4');
+INSERT INTO document_type (dt_id, dt_value, dt_prefix) VALUES (5, 'Lettre de 
rappel', 'LETTRE5');
+INSERT INTO document_type (dt_id, dt_value, dt_prefix) VALUES (6, 'Courrier', 
'COURRI6');
+INSERT INTO document_type (dt_id, dt_value, dt_prefix) VALUES (7, 
'Proposition', 'PROPOS7');
+INSERT INTO document_type (dt_id, dt_value, dt_prefix) VALUES (8, 'Email', 
'EMAIL8');
+INSERT INTO document_type (dt_id, dt_value, dt_prefix) VALUES (9, 'Divers', 
'DIVERS9');
+INSERT INTO document_type (dt_id, dt_value, dt_prefix) VALUES (10, 'Note de 
frais', 'NOTEDE10');
+INSERT INTO document_type (dt_id, dt_value, dt_prefix) VALUES (20, 'Réception 
commande Fournisseur', 'RÉCEPT20');
+INSERT INTO document_type (dt_id, dt_value, dt_prefix) VALUES (21, 'Réception 
commande Client', 'RÉCEPT21');
+INSERT INTO document_type (dt_id, dt_value, dt_prefix) VALUES (22, 'Réception 
magazine', 'RÉCEPT22');
+
+
+
+INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (1, 'Vente 
Service', '700');
+INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (2, 'Achat 
Marchandises', '604');
+INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (3, 'Achat 
Service et biens divers', '61');
+INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (5, 'Prêt 
> a un an', '17');
+INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (6, 'Prêt 
< a un an', '430');
+INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (8, 
'Fournisseurs', '440');
+INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (9, 
'Clients', '400');
+INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (10, 
'Salaire Administrateur', '6200');
+INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (11, 
'Salaire Ouvrier', '6203');
+INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (12, 
'Salaire Employé', '6202');
+INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (13, 
'Dépenses non admises', '674');
+INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (14, 
'Administration des Finances', NULL);
+INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (15, 
'Autres fiches', NULL);
+INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (7, 
'Matériel à amortir', '2400');
+INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (16, 
'Contact', NULL);
+INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (25, 
'Compte Salarié / Administrateur', NULL);
+INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (4, 
'Trésorerie', '5500');
+INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (26, 
'Projet', NULL);
 
 
-SELECT pg_catalog.setval('s_attr_def', 27, true);
 
+INSERT INTO fiche_def (fd_id, fd_class_base, fd_label, fd_create_account, 
frd_id, fd_description) VALUES (500000, NULL, 'Stock', false, 15, NULL);
+INSERT INTO fiche_def (fd_id, fd_class_base, fd_label, fd_create_account, 
frd_id, fd_description) VALUES (1, '604', 'Marchandises', true, 2, 'Achats de 
marchandises');
+INSERT INTO fiche_def (fd_id, fd_class_base, fd_label, fd_create_account, 
frd_id, fd_description) VALUES (2, '400', 'Client', true, 9, 'Catégorie qui 
contient la liste des clients');
+INSERT INTO fiche_def (fd_id, fd_class_base, fd_label, fd_create_account, 
frd_id, fd_description) VALUES (3, '5500', 'Banque', true, 4, 'Catégorie qui 
contient la liste des comptes financiers: banque, caisse,...');
+INSERT INTO fiche_def (fd_id, fd_class_base, fd_label, fd_create_account, 
frd_id, fd_description) VALUES (4, '440', 'Fournisseur', true, 8, 'Catégorie 
qui contient la liste des fournisseurs');
+INSERT INTO fiche_def (fd_id, fd_class_base, fd_label, fd_create_account, 
frd_id, fd_description) VALUES (5, '61', 'Services & Biens Divers', true, 3, 
'Catégorie qui contient la liste des charges diverses');
+INSERT INTO fiche_def (fd_id, fd_class_base, fd_label, fd_create_account, 
frd_id, fd_description) VALUES (6, '700', 'Vente', true, 1, 'Catégorie qui 
contient la liste des prestations, marchandises... que l''on vend ');
 
 
-SELECT pg_catalog.setval('s_cbc', 1, false);
 
 
 
-SELECT pg_catalog.setval('s_central', 1, false);
 
+INSERT INTO profile (p_name, p_id, p_desc, with_calc, with_direct_form) VALUES 
('Administrateur', 1, 'Profil par défaut pour les adminstrateurs', true, true);
+INSERT INTO profile (p_name, p_id, p_desc, with_calc, with_direct_form) VALUES 
('Utilisateur', 2, 'Profil par défaut pour les utilisateurs', true, true);
+INSERT INTO profile (p_name, p_id, p_desc, with_calc, with_direct_form) VALUES 
('Public', -1, 'faux groupe', NULL, NULL);
 
 
-SELECT pg_catalog.setval('s_central_order', 1, false);
 
 
 
-SELECT pg_catalog.setval('s_centralized', 1, false);
 
 
 
-SELECT pg_catalog.setval('s_currency', 1, true);
 
+SELECT pg_catalog.setval('action_detail_ad_id_seq', 1, false);
 
 
-SELECT pg_catalog.setval('s_fdef', 6, true);
 
+SELECT pg_catalog.setval('action_gestion_ag_id_seq', 1, false);
 
 
-SELECT pg_catalog.setval('s_fiche', 20, true);
 
 
 
-SELECT pg_catalog.setval('s_fiche_def_ref', 16, true);
 
+SELECT pg_catalog.setval('action_gestion_comment_agc_id_seq', 1, false);
 
 
-SELECT pg_catalog.setval('s_form', 1, false);
 
+INSERT INTO jrn_type (jrn_type_id, jrn_desc) VALUES ('FIN', 'Financier');
+INSERT INTO jrn_type (jrn_type_id, jrn_desc) VALUES ('VEN', 'Vente');
+INSERT INTO jrn_type (jrn_type_id, jrn_desc) VALUES ('ACH', 'Achat');
+INSERT INTO jrn_type (jrn_type_id, jrn_desc) VALUES ('ODS', 'Opérations 
Diverses');
 
 
-SELECT pg_catalog.setval('s_formdef', 1, false);
 
+INSERT INTO jrn_def (jrn_def_id, jrn_def_name, jrn_def_class_deb, 
jrn_def_class_cred, jrn_def_fiche_deb, jrn_def_fiche_cred, jrn_deb_max_line, 
jrn_cred_max_line, jrn_def_ech, jrn_def_ech_lib, jrn_def_type, jrn_def_code, 
jrn_def_pj_pref, jrn_def_bank, jrn_def_num_op, jrn_def_description) VALUES (3, 
'Achat', '6*', '4*', '5', '4', 1, 3, true, 'échéance', 'ACH', 'A01', 'ACH', 
NULL, NULL, 'Concerne tous les achats, factures reçues, notes de crédit reçues 
et notes de frais');
+INSERT INTO jrn_def (jrn_def_id, jrn_def_name, jrn_def_class_deb, 
jrn_def_class_cred, jrn_def_fiche_deb, jrn_def_fiche_cred, jrn_deb_max_line, 
jrn_cred_max_line, jrn_def_ech, jrn_def_ech_lib, jrn_def_type, jrn_def_code, 
jrn_def_pj_pref, jrn_def_bank, jrn_def_num_op, jrn_def_description) VALUES (1, 
'Financier', '5* ', '5*', '3,2,4', '3,2,4', 5, 5, false, NULL, 'FIN', 'F01', 
'FIN', NULL, NULL, 'Concerne tous les mouvements financiers (comptes en banque, 
caisses, visa...)');
+INSERT INTO jrn_def (jrn_def_id, jrn_def_name, jrn_def_class_deb, 
jrn_def_class_cred, jrn_def_fiche_deb, jrn_def_fiche_cred, jrn_deb_max_line, 
jrn_cred_max_line, jrn_def_ech, jrn_def_ech_lib, jrn_def_type, jrn_def_code, 
jrn_def_pj_pref, jrn_def_bank, jrn_def_num_op, jrn_def_description) VALUES (4, 
'Opération Diverses', NULL, NULL, NULL, NULL, 5, 5, false, NULL, 'ODS', 'O01', 
'ODS', NULL, NULL, 'Concerne toutes les opérations comme les amortissements, 
les comptes TVA, ...');
+INSERT INTO jrn_def (jrn_def_id, jrn_def_name, jrn_def_class_deb, 
jrn_def_class_cred, jrn_def_fiche_deb, jrn_def_fiche_cred, jrn_deb_max_line, 
jrn_cred_max_line, jrn_def_ech, jrn_def_ech_lib, jrn_def_type, jrn_def_code, 
jrn_def_pj_pref, jrn_def_bank, jrn_def_num_op, jrn_def_description) VALUES (2, 
'Vente', '4*', '7*', '2', '6', 2, 1, true, 'échéance', 'VEN', 'V01', 'VEN', 
NULL, NULL, 'Concerne toutes les ventes, notes de crédit envoyées');
 
 
-SELECT pg_catalog.setval('s_grpt', 2, true);
 
 
 
-SELECT pg_catalog.setval('s_idef', 1, false);
 
 
 
-SELECT pg_catalog.setval('s_internal', 1, false);
 
+SELECT pg_catalog.setval('action_gestion_operation_ago_id_seq', 1, false);
 
 
-SELECT pg_catalog.setval('s_invoice', 1, false);
 
 
 
-SELECT pg_catalog.setval('s_isup', 1, false);
 
 
 
-SELECT pg_catalog.setval('s_jnt_fic_att_value', 371, true);
 
+SELECT pg_catalog.setval('action_gestion_related_aga_id_seq', 1, false);
 
 
-SELECT pg_catalog.setval('s_jrn', 1, false);
 
 
 
-SELECT pg_catalog.setval('s_jrn_1', 1, false);
 
+SELECT pg_catalog.setval('action_person_ap_id_seq', 1, false);
 
 
-SELECT pg_catalog.setval('s_jrn_2', 1, false);
 
 
 
-SELECT pg_catalog.setval('s_jrn_3', 1, false);
 
 
 
-SELECT pg_catalog.setval('s_jrn_4', 1, false);
 
+SELECT pg_catalog.setval('action_tags_at_id_seq', 1, false);
 
 
-SELECT pg_catalog.setval('s_jrn_def', 5, false);
 
+INSERT INTO attr_def (ad_id, ad_text, ad_type, ad_size, ad_extra) VALUES (8, 
'Durée Amortissement', 'numeric', '6', '2');
+INSERT INTO attr_def (ad_id, ad_text, ad_type, ad_size, ad_extra) VALUES (11, 
'Montant initial', 'numeric', '6', '2');
+INSERT INTO attr_def (ad_id, ad_text, ad_type, ad_size, ad_extra) VALUES (21, 
'TVA non déductible', 'numeric', '6', '2');
+INSERT INTO attr_def (ad_id, ad_text, ad_type, ad_size, ad_extra) VALUES (22, 
'TVA non déductible récupérable par l''impôt', 'numeric', '6', '2');
+INSERT INTO attr_def (ad_id, ad_text, ad_type, ad_size, ad_extra) VALUES (20, 
'Partie fiscalement non déductible', 'numeric', '6', '2');
+INSERT INTO attr_def (ad_id, ad_text, ad_type, ad_size, ad_extra) VALUES (31, 
'Dépense  charge du grant (partie privé) ', 'numeric', '6', '4');
+INSERT INTO attr_def (ad_id, ad_text, ad_type, ad_size, ad_extra) VALUES (3, 
'Compte bancaire', 'text', '22', NULL);
+INSERT INTO attr_def (ad_id, ad_text, ad_type, ad_size, ad_extra) VALUES (6, 
'Prix vente', 'numeric', '6', '4');
+INSERT INTO attr_def (ad_id, ad_text, ad_type, ad_size, ad_extra) VALUES (7, 
'Prix achat', 'numeric', '6', '4');
+INSERT INTO attr_def (ad_id, ad_text, ad_type, ad_size, ad_extra) VALUES (10, 
'Date début', 'date', '8', NULL);
+INSERT INTO attr_def (ad_id, ad_text, ad_type, ad_size, ad_extra) VALUES (1, 
'Nom', 'text', '22', NULL);
+INSERT INTO attr_def (ad_id, ad_text, ad_type, ad_size, ad_extra) VALUES (2, 
'Taux TVA', 'text', '22', NULL);
+INSERT INTO attr_def (ad_id, ad_text, ad_type, ad_size, ad_extra) VALUES (4, 
'Nom de la banque', 'text', '22', NULL);
+INSERT INTO attr_def (ad_id, ad_text, ad_type, ad_size, ad_extra) VALUES (9, 
'Description', 'text', '22', NULL);
+INSERT INTO attr_def (ad_id, ad_text, ad_type, ad_size, ad_extra) VALUES (12, 
'Personne de contact ', 'text', '22', NULL);
+INSERT INTO attr_def (ad_id, ad_text, ad_type, ad_size, ad_extra) VALUES (13, 
'numéro de tva ', 'text', '22', NULL);
+INSERT INTO attr_def (ad_id, ad_text, ad_type, ad_size, ad_extra) VALUES (14, 
'Adresse ', 'text', '22', NULL);
+INSERT INTO attr_def (ad_id, ad_text, ad_type, ad_size, ad_extra) VALUES (16, 
'pays ', 'text', '22', NULL);
+INSERT INTO attr_def (ad_id, ad_text, ad_type, ad_size, ad_extra) VALUES (17, 
'téléphone ', 'text', '22', NULL);
+INSERT INTO attr_def (ad_id, ad_text, ad_type, ad_size, ad_extra) VALUES (18, 
'email ', 'text', '22', NULL);
+INSERT INTO attr_def (ad_id, ad_text, ad_type, ad_size, ad_extra) VALUES (23, 
'Quick Code', 'text', '22', NULL);
+INSERT INTO attr_def (ad_id, ad_text, ad_type, ad_size, ad_extra) VALUES (24, 
'Ville', 'text', '22', NULL);
+INSERT INTO attr_def (ad_id, ad_text, ad_type, ad_size, ad_extra) VALUES (26, 
'Fax', 'text', '22', NULL);
+INSERT INTO attr_def (ad_id, ad_text, ad_type, ad_size, ad_extra) VALUES (27, 
'GSM', 'text', '22', NULL);
+INSERT INTO attr_def (ad_id, ad_text, ad_type, ad_size, ad_extra) VALUES (15, 
'code postal', 'text', '22', NULL);
+INSERT INTO attr_def (ad_id, ad_text, ad_type, ad_size, ad_extra) VALUES (30, 
'Numero de client', 'text', '22', NULL);
+INSERT INTO attr_def (ad_id, ad_text, ad_type, ad_size, ad_extra) VALUES (32, 
'Prénom', 'text', '22', NULL);
+INSERT INTO attr_def (ad_id, ad_text, ad_type, ad_size, ad_extra) VALUES (50, 
'Contrepartie pour TVA récup par impot', 'poste', '17', NULL);
+INSERT INTO attr_def (ad_id, ad_text, ad_type, ad_size, ad_extra) VALUES (51, 
'Contrepartie pour TVA non Ded.', 'poste', '17', NULL);
+INSERT INTO attr_def (ad_id, ad_text, ad_type, ad_size, ad_extra) VALUES (52, 
'Contrepartie pour dépense à charge du gérant', 'poste', '17', NULL);
+INSERT INTO attr_def (ad_id, ad_text, ad_type, ad_size, ad_extra) VALUES (53, 
'Contrepartie pour dépense fiscal. non déd.', 'poste', '17', NULL);
+INSERT INTO attr_def (ad_id, ad_text, ad_type, ad_size, ad_extra) VALUES (5, 
'Poste Comptable', 'poste', '17', NULL);
+INSERT INTO attr_def (ad_id, ad_text, ad_type, ad_size, ad_extra) VALUES (33, 
'Date Fin', 'date', '8', NULL);
+INSERT INTO attr_def (ad_id, ad_text, ad_type, ad_size, ad_extra) VALUES (19, 
'Gestion stock', 'card', '22', '[sql] fd_id = 500000 ');
+INSERT INTO attr_def (ad_id, ad_text, ad_type, ad_size, ad_extra) VALUES (25, 
'Société', 'card', '22', '[sql] frd_id in (4,8,9,14)');
 
 
-SELECT pg_catalog.setval('s_jrn_op', 1, false);
 
+INSERT INTO attr_min (frd_id, ad_id) VALUES (1, 1);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (1, 2);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (2, 1);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (2, 2);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (3, 1);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (3, 2);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 1);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 3);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 4);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 12);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 13);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 14);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 15);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 16);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 17);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 18);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (8, 1);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (8, 12);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (8, 13);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (8, 14);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (8, 15);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (8, 16);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (8, 17);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (8, 18);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (9, 1);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (9, 12);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (9, 13);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (9, 14);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (9, 16);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (9, 17);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (9, 18);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (1, 6);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (1, 7);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (2, 6);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (2, 7);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (3, 7);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (1, 19);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (2, 19);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (14, 1);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (5, 1);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (5, 4);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (5, 10);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (5, 12);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (6, 1);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (6, 4);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (6, 10);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (6, 12);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (10, 1);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (10, 12);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (11, 1);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (11, 12);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (12, 1);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (12, 12);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (13, 1);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (13, 9);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (7, 1);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (7, 8);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (7, 9);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (7, 10);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (5, 11);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (6, 11);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (1, 15);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (9, 15);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (15, 1);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (15, 9);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (1, 23);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (2, 23);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (3, 23);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 23);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (5, 23);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (6, 23);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (8, 23);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (9, 23);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (10, 23);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (11, 23);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (12, 23);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (13, 23);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (14, 23);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (15, 23);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (7, 23);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (9, 24);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (8, 24);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (14, 24);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (16, 1);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (16, 17);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (16, 18);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (16, 25);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (16, 26);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (16, 27);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (16, 23);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (25, 1);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (25, 4);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (25, 3);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (25, 5);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (25, 15);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (25, 16);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (25, 24);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (25, 23);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (2, 30);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (26, 1);
+INSERT INTO attr_min (frd_id, ad_id) VALUES (26, 9);
 
 
-SELECT pg_catalog.setval('s_jrn_pj1', 1, false);
 
+INSERT INTO bilan (b_id, b_name, b_file_template, b_file_form, b_type) VALUES 
(1, 'Bilan Belge complet', 'document/fr_be/bnb.rtf', 'document/fr_be/bnb.form', 
'RTF');
 
 
-SELECT pg_catalog.setval('s_jrn_pj2', 1, false);
 
-
-
-SELECT pg_catalog.setval('s_jrn_pj3', 1, false);
-
-
-
-SELECT pg_catalog.setval('s_jrn_pj4', 1, false);
-
-
-
-SELECT pg_catalog.setval('s_jrn_rapt', 1, false);
-
-
-
-SELECT pg_catalog.setval('s_jrnaction', 5, true);
-
-
-
-SELECT pg_catalog.setval('s_jrnx', 1, false);
-
-
-
-SELECT pg_catalog.setval('s_periode', 91, true);
-
-
-
-SELECT pg_catalog.setval('s_quantity', 7, true);
-
-
-
-SELECT pg_catalog.setval('s_stock_goods', 1, false);
-
-
-
-SELECT pg_catalog.setval('s_tva', 1001, true);
-
-
-
-SELECT pg_catalog.setval('s_user_act', 1, false);
-
-
-
-SELECT pg_catalog.setval('s_user_jrn', 1, false);
-
-
-
-SELECT pg_catalog.setval('seq_bud_hypothese_bh_id', 1, false);
-
-
-
-SELECT pg_catalog.setval('seq_doc_type_1', 1, false);
-
-
-
-SELECT pg_catalog.setval('seq_doc_type_10', 1, false);
-
-
-
-SELECT pg_catalog.setval('seq_doc_type_2', 1, false);
-
-
-
-SELECT pg_catalog.setval('seq_doc_type_20', 1, false);
-
-
-
-SELECT pg_catalog.setval('seq_doc_type_21', 1, false);
-
-
-
-SELECT pg_catalog.setval('seq_doc_type_22', 1, false);
-
-
-
-SELECT pg_catalog.setval('seq_doc_type_3', 1, false);
-
-
-
-SELECT pg_catalog.setval('seq_doc_type_4', 1, false);
-
-
-
-SELECT pg_catalog.setval('seq_doc_type_5', 1, false);
-
-
-
-SELECT pg_catalog.setval('seq_doc_type_6', 1, false);
-
-
-
-SELECT pg_catalog.setval('seq_doc_type_7', 1, false);
-
-
-
-SELECT pg_catalog.setval('seq_doc_type_8', 1, false);
-
-
-
-SELECT pg_catalog.setval('seq_doc_type_9', 1, false);
-
-
-
-SELECT pg_catalog.setval('todo_list_tl_id_seq', 1, false);
-
-
-
-SELECT pg_catalog.setval('user_sec_extension_use_id_seq', 1, true);
-
-
-
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (313, 
'Administration', 'gestion', 'GEADM');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1600, 
'Gestion des extensions', 'extension', 'EXTENSION');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1701, 
'Consultation', 'prvision', 'PREVCON');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1702, 
'Modification et cration', 'prvision', 'PREVMOD');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1135, 
'Ajoute ou modifie des catégories de documents', 'parametre', 'PARCATDOC');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (210, 
'Ajout de plan analytique', 'compta_anal', 'CAPA');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (220, 
'Ajout de poste analytique', 'compta_anal', 'CAPO');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (230, 
'Ajout de groupe analytique', 'compta_anal', 'CAGA');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (235, 
'Ajout d''operation diverses', 'compta_anal', 'CAOD');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (240, 
'Impression', 'compta_anal', 'CAIMP');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (300, 
'Gestion', 'gestion', 'GESTION');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (305, 
'Import en Banque', 'gestion', 'GEBQ');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (307, 
'Effacement d''opération', 'gestion', 'GEOP');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (310, 
'Courrier (lecture & écriture)', 'gestion', 'GECOUR');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (311, 
'Fournisseur', 'gestion', 'GESUPPL');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (312, 
'Client', 'gestion', 'GECUST');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (700, 
'Rapport', 'impression', 'IMPRAP');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (710, 
'Journaux', 'impression', 'IMPJRN');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (720, 
'Fiche', 'impression', 'IMPFIC');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (730, 
'Poste', 'impression', 'IMPPOSTE');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (740, 
'Bilan', 'impression', 'IMPBIL');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (750, 
'Balance', 'impression', 'IMPBAL');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (800, 
'Ajout de fiche', 'fiche', 'FICADD');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (805, 
'Création, modification et effacement de fiche', 'fiche', 'FIC');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (910, 
'création, modification et effacement de catégorie de fiche', 'fiche', 
'FICCAT');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1100, 
'Mode comptabilité analytique', 'parametre', 'PARCA');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1110, 
'Ajout de période', 'parametre', 'PARPER');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1120, 
'Catégorie des fiches', 'parametre', 'PARFIC');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1130, 
'Document', 'parametre', 'PARDOC');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1140, 
'Modification journaux', 'parametre', 'PARJRN');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1150, 
'TVA', 'parametre', 'PARTVA');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1160, 
'Moyen de paiement', 'parametre', 'PARMP');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1180, 
'Clôture ', 'parametre', 'PARCLO');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1185, 
'Changement du plan comptable ', 'parametre', 'PARPCMN');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1170, 
'Poste Comptable de base', 'parametre', 'PARPOS');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1190, 
'Centralisation', 'parametre', 'PARCENT');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1200, 
'Écriture d''ouverture', 'parametre', 'PAREO');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1210, 
'Mode strict', 'parametre', 'PARSTR');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1220, 
'Coordonnées société', 'parametre', 'PARCOORD');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1230, 
'Création de rapport', 'parametre', 'PARRAP');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1240, 
'Effacement et création d''opération prédéfinie', 'parametre', 'PARPREDE');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1245, 
'Sécurité du dossier', 'parametre', 'PARSEC');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1500, 
'Stock (lecture)', 'stock', 'STOLE');
-INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1510, 
'Stock (changement)', 'stock', 'STOWRITE');
-
-
-
-
-
-
-
-
-
-INSERT INTO attr_def (ad_id, ad_text) VALUES (1, 'Nom');
-INSERT INTO attr_def (ad_id, ad_text) VALUES (2, 'Taux TVA');
-INSERT INTO attr_def (ad_id, ad_text) VALUES (3, 'Numéro de compte');
-INSERT INTO attr_def (ad_id, ad_text) VALUES (4, 'Nom de la banque');
-INSERT INTO attr_def (ad_id, ad_text) VALUES (5, 'Poste Comptable');
-INSERT INTO attr_def (ad_id, ad_text) VALUES (6, 'Prix vente');
-INSERT INTO attr_def (ad_id, ad_text) VALUES (7, 'Prix achat');
-INSERT INTO attr_def (ad_id, ad_text) VALUES (8, 'Durée Amortissement');
-INSERT INTO attr_def (ad_id, ad_text) VALUES (9, 'Description');
-INSERT INTO attr_def (ad_id, ad_text) VALUES (10, 'Date début');
-INSERT INTO attr_def (ad_id, ad_text) VALUES (11, 'Montant initial');
-INSERT INTO attr_def (ad_id, ad_text) VALUES (12, 'Personne de contact ');
-INSERT INTO attr_def (ad_id, ad_text) VALUES (13, 'numéro de tva ');
-INSERT INTO attr_def (ad_id, ad_text) VALUES (14, 'Adresse ');
-INSERT INTO attr_def (ad_id, ad_text) VALUES (16, 'pays ');
-INSERT INTO attr_def (ad_id, ad_text) VALUES (17, 'téléphone ');
-INSERT INTO attr_def (ad_id, ad_text) VALUES (18, 'email ');
-INSERT INTO attr_def (ad_id, ad_text) VALUES (19, 'Gestion stock');
-INSERT INTO attr_def (ad_id, ad_text) VALUES (20, 'Partie fiscalement non 
déductible');
-INSERT INTO attr_def (ad_id, ad_text) VALUES (21, 'TVA non déductible');
-INSERT INTO attr_def (ad_id, ad_text) VALUES (22, 'TVA non déductible 
récupérable par l''impôt');
-INSERT INTO attr_def (ad_id, ad_text) VALUES (23, 'Quick Code');
-INSERT INTO attr_def (ad_id, ad_text) VALUES (24, 'Ville');
-INSERT INTO attr_def (ad_id, ad_text) VALUES (25, 'Société');
-INSERT INTO attr_def (ad_id, ad_text) VALUES (26, 'Fax');
-INSERT INTO attr_def (ad_id, ad_text) VALUES (27, 'GSM');
-INSERT INTO attr_def (ad_id, ad_text) VALUES (15, 'code postal');
-INSERT INTO attr_def (ad_id, ad_text) VALUES (30, 'Numero de client');
-INSERT INTO attr_def (ad_id, ad_text) VALUES (31, 'Dpense  charge du grant 
(partie prive)');
-
-
-
-INSERT INTO attr_min (frd_id, ad_id) VALUES (1, 1);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (1, 2);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (2, 1);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (2, 2);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (3, 1);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (3, 2);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 1);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 3);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 4);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 12);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 13);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 14);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 15);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 16);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 17);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 18);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (8, 1);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (8, 12);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (8, 13);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (8, 14);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (8, 15);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (8, 16);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (8, 17);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (8, 18);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (9, 1);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (9, 12);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (9, 13);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (9, 14);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (9, 16);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (9, 17);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (9, 18);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (1, 6);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (1, 7);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (2, 6);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (2, 7);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (3, 7);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (1, 19);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (2, 19);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (14, 1);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (5, 1);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (5, 4);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (5, 10);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (5, 12);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (6, 1);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (6, 4);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (6, 10);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (6, 12);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (10, 1);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (10, 12);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (11, 1);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (11, 12);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (12, 1);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (12, 12);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (13, 1);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (13, 9);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (7, 1);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (7, 8);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (7, 9);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (7, 10);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (5, 11);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (6, 11);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (1, 15);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (9, 15);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (15, 1);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (15, 9);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (1, 23);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (2, 23);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (3, 23);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 23);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (5, 23);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (6, 23);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (8, 23);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (9, 23);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (10, 23);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (11, 23);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (12, 23);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (13, 23);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (14, 23);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (15, 23);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (7, 23);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (9, 24);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (8, 24);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (14, 24);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (16, 1);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (16, 17);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (16, 18);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (16, 25);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (16, 26);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (16, 27);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (16, 23);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (25, 1);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (25, 4);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (25, 3);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (25, 5);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (25, 15);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (25, 16);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (25, 24);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (25, 23);
-INSERT INTO attr_min (frd_id, ad_id) VALUES (2, 30);
-
-
-
-
-
-
-INSERT INTO bilan (b_id, b_name, b_file_template, b_file_form, b_type) VALUES 
(1, 'Bilan Belge complet', 'document/fr_be/bnb.rtf', 'document/fr_be/bnb.form', 
'RTF');
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-INSERT INTO document_state (s_id, s_value) VALUES (1, 'Clôturé');
-INSERT INTO document_state (s_id, s_value) VALUES (2, 'A suivre');
-INSERT INTO document_state (s_id, s_value) VALUES (3, 'A faire');
-INSERT INTO document_state (s_id, s_value) VALUES (4, 'Abandonné');
-
-
-
-INSERT INTO document_type (dt_id, dt_value) VALUES (1, 'Document Interne');
-INSERT INTO document_type (dt_id, dt_value) VALUES (2, 'Bons de commande 
client');
-INSERT INTO document_type (dt_id, dt_value) VALUES (3, 'Bon de commande 
Fournisseur');
-INSERT INTO document_type (dt_id, dt_value) VALUES (4, 'Facture');
-INSERT INTO document_type (dt_id, dt_value) VALUES (5, 'Lettre de rappel');
-INSERT INTO document_type (dt_id, dt_value) VALUES (6, 'Courrier');
-INSERT INTO document_type (dt_id, dt_value) VALUES (7, 'Proposition');
-INSERT INTO document_type (dt_id, dt_value) VALUES (8, 'Email');
-INSERT INTO document_type (dt_id, dt_value) VALUES (9, 'Divers');
-INSERT INTO document_type (dt_id, dt_value) VALUES (10, 'Note de frais');
-INSERT INTO document_type (dt_id, dt_value) VALUES (20, 'Réception commande 
Fournisseur');
-INSERT INTO document_type (dt_id, dt_value) VALUES (21, 'Réception commande 
Client');
-INSERT INTO document_type (dt_id, dt_value) VALUES (22, 'Réception magazine');
-
-
-
-INSERT INTO fiche_def (fd_id, fd_class_base, fd_label, fd_create_account, 
frd_id) VALUES (2, '400', 'Client', true, 9);
-INSERT INTO fiche_def (fd_id, fd_class_base, fd_label, fd_create_account, 
frd_id) VALUES (1, '604', 'Marchandises', true, 2);
-INSERT INTO fiche_def (fd_id, fd_class_base, fd_label, fd_create_account, 
frd_id) VALUES (3, '5500', 'Banque', true, 4);
-INSERT INTO fiche_def (fd_id, fd_class_base, fd_label, fd_create_account, 
frd_id) VALUES (4, '440', 'Fournisseur', true, 8);
-INSERT INTO fiche_def (fd_id, fd_class_base, fd_label, fd_create_account, 
frd_id) VALUES (5, '61', 'S & B D', true, 3);
-INSERT INTO fiche_def (fd_id, fd_class_base, fd_label, fd_create_account, 
frd_id) VALUES (6, '700', 'Vente', true, 1);
-
-
-
-INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (1, 'Vente 
Service', 700);
-INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (2, 'Achat 
Marchandises', 604);
-INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (3, 'Achat 
Service et biens divers', 61);
-INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (4, 
'Banque', 5500);
-INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (5, 'Prêt 
> a un an', 17);
-INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (6, 'Prêt 
< a un an', 430);
-INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (8, 
'Fournisseurs', 440);
-INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (9, 
'Clients', 400);
-INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (10, 
'Salaire Administrateur', 6200);
-INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (11, 
'Salaire Ouvrier', 6203);
-INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (12, 
'Salaire Employé', 6202);
-INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (13, 
'Dépenses non admises', 674);
-INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (14, 
'Administration des Finances', NULL);
-INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (15, 
'Autres fiches', NULL);
-INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (7, 
'Matériel à amortir', 2400);
-INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (16, 
'Contact', NULL);
-INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (25, 
'Compte Salarié / Administrateur', NULL);
-
-
-
-
-
-
-
-
-
-
-
-
-INSERT INTO form (fo_id, fo_fr_id, fo_pos, fo_label, fo_formula) VALUES 
(3000398, 3000000, 1, 'Prestation [ case 03 ]', '[700%]-[7000005]');
-INSERT INTO form (fo_id, fo_fr_id, fo_pos, fo_label, fo_formula) VALUES 
(3000399, 3000000, 2, 'Prestation intra [ case 47 ]', '[7000005]');
-INSERT INTO form (fo_id, fo_fr_id, fo_pos, fo_label, fo_formula) VALUES 
(3000400, 3000000, 3, 'Tva due   [case 54]', '[4513]+[4512]+[4511] 
FROM=01.2005');
-INSERT INTO form (fo_id, fo_fr_id, fo_pos, fo_label, fo_formula) VALUES 
(3000401, 3000000, 4, 'Marchandises, matière première et auxiliaire [case 81 
]', '[60%]');
-INSERT INTO form (fo_id, fo_fr_id, fo_pos, fo_label, fo_formula) VALUES 
(3000402, 3000000, 7, 'Service et bien divers [case 82]', '[61%]');
-INSERT INTO form (fo_id, fo_fr_id, fo_pos, fo_label, fo_formula) VALUES 
(3000403, 3000000, 8, 'bien d''invest [ case 83 ]', '[2400%]');
-INSERT INTO form (fo_id, fo_fr_id, fo_pos, fo_label, fo_formula) VALUES 
(3000404, 3000000, 9, 'TVA déductible [ case 59 ]', 'abs([4117]-[411%])');
-INSERT INTO form (fo_id, fo_fr_id, fo_pos, fo_label, fo_formula) VALUES 
(3000405, 3000000, 8, 'TVA non ded -> voiture', '[610022]*0.21/2');
-INSERT INTO form (fo_id, fo_fr_id, fo_pos, fo_label, fo_formula) VALUES 
(3000406, 3000000, 9, 'Acompte TVA', '[4117]');
-
-
-
-INSERT INTO format_csv_banque (name, include_file) VALUES ('Fortis', 
'fortis_be.inc.php');
-INSERT INTO format_csv_banque (name, include_file) VALUES ('EUB', 
'eub_be.inc.php');
-INSERT INTO format_csv_banque (name, include_file) VALUES ('ING', 
'ing_be.inc.php');
-INSERT INTO format_csv_banque (name, include_file) VALUES ('CBC', 
'cbc_be.inc.php');
-INSERT INTO format_csv_banque (name, include_file) VALUES ('Argenta Belgique', 
'argenta_be.inc.php');
-INSERT INTO format_csv_banque (name, include_file) VALUES ('CBC Belgique', 
'cbc_be.inc.php');
-INSERT INTO format_csv_banque (name, include_file) VALUES ('Dexia', 
'dexia_be.inc.php');
-INSERT INTO format_csv_banque (name, include_file) VALUES ('VMS Keytrade', 
'keytrade_be.inc.php');
-
-
-
-INSERT INTO formdef (fr_id, fr_label) VALUES (3000000, 'TVA déclaration 
Belge');
-
-
-
-
-
-
-
-
-
-INSERT INTO info_def (id_type, id_description) VALUES ('BON_COMMANDE', 'Numero 
de bon de commande');
-INSERT INTO info_def (id_type, id_description) VALUES ('OTHER', 'Info 
diverses');
-
-
-
-
-
-
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 1, 16, 
0);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 1, 27, 
0);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (5, 1, 36, 
0);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (6, 1, 40, 
0);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 4, 18, 
2);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 12, 19, 
3);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (6, 19, 44, 
2);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 13, 9, 
31);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 13, 20, 
31);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 13, 29, 
31);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (1, 2, 3, 1);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 12, 8, 
1);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 3, 17, 
1);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 12, 28, 
1);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (5, 2, 37, 
1);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (6, 2, 41, 
1);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (1, 6, 4, 
120);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (6, 6, 42, 
120);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (1, 7, 5, 
130);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (5, 7, 38, 
130);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (6, 7, 43, 
130);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 14, 10, 
40);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 14, 21, 
40);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 14, 30, 
40);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 16, 12, 
70);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 16, 23, 
70);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 16, 32, 
70);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 17, 13, 
80);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 17, 24, 
80);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 17, 33, 
80);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 18, 14, 
90);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 18, 25, 
90);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 18, 34, 
90);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 23, 45, 
400);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (1, 23, 46, 
400);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 23, 47, 
400);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 23, 48, 
400);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (5, 23, 49, 
400);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (6, 23, 50, 
400);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 24, 51, 
60);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 24, 52, 
60);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 15, 11, 
50);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 15, 22, 
50);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 15, 31, 
50);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (1, 5, 1, 
30);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 5, 6, 
30);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 5, 15, 
30);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 5, 26, 
30);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (5, 5, 35, 
30);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (6, 5, 39, 
30);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (1, 1, 2, 0);
-INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 1, 7, 0);
-
-
-
-
-
-
-
-
-
-INSERT INTO jrn_action (ja_id, ja_name, ja_desc, ja_url, ja_action, ja_lang, 
ja_jrn_type) VALUES (2, 'Voir', 'Voir toutes les factures', 'user_jrn.php', 
'action=voir_jrn', 'FR', 'VEN');
-INSERT INTO jrn_action (ja_id, ja_name, ja_desc, ja_url, ja_action, ja_lang, 
ja_jrn_type) VALUES (4, 'Voir Impayés', 'Voir toutes les factures non payées', 
'user_jrn.php', 'action=voir_jrn_non_paye', 'FR', 'VEN');
-INSERT INTO jrn_action (ja_id, ja_name, ja_desc, ja_url, ja_action, ja_lang, 
ja_jrn_type) VALUES (1, 'Nouvelle', 'Création d''une facture', 'user_jrn.php', 
'action=insert_vente&blank', 'FR', 'VEN');
-INSERT INTO jrn_action (ja_id, ja_name, ja_desc, ja_url, ja_action, ja_lang, 
ja_jrn_type) VALUES (10, 'Nouveau', 'Encode un nouvel achat (matériel, 
marchandises, services et biens divers)', 'user_jrn.php', 'action=new&blank', 
'FR', 'ACH');
-INSERT INTO jrn_action (ja_id, ja_name, ja_desc, ja_url, ja_action, ja_lang, 
ja_jrn_type) VALUES (12, 'Voir', 'Voir toutes les factures', 'user_jrn.php', 
'action=voir_jrn', 'FR', 'ACH');
-INSERT INTO jrn_action (ja_id, ja_name, ja_desc, ja_url, ja_action, ja_lang, 
ja_jrn_type) VALUES (14, 'Voir Impayés', 'Voir toutes les factures non payées', 
'user_jrn.php', 'action=voir_jrn_non_paye', 'FR', 'ACH');
-INSERT INTO jrn_action (ja_id, ja_name, ja_desc, ja_url, ja_action, ja_lang, 
ja_jrn_type) VALUES (20, 'Nouveau', 'Encode un nouvel achat (matériel, 
marchandises, services et biens divers)', 'user_jrn.php', 'action=new&blank', 
'FR', 'FIN');
-INSERT INTO jrn_action (ja_id, ja_name, ja_desc, ja_url, ja_action, ja_lang, 
ja_jrn_type) VALUES (22, 'Voir', 'Voir toutes les factures', 'user_jrn.php', 
'action=voir_jrn', 'FR', 'FIN');
-INSERT INTO jrn_action (ja_id, ja_name, ja_desc, ja_url, ja_action, ja_lang, 
ja_jrn_type) VALUES (30, 'Nouveau', NULL, 'user_jrn.php', 'action=new&blank', 
'FR', 'ODS');
-INSERT INTO jrn_action (ja_id, ja_name, ja_desc, ja_url, ja_action, ja_lang, 
ja_jrn_type) VALUES (32, 'Voir', 'Voir toutes les factures', 'user_jrn.php', 
'action=voir_jrn', 'FR', 'ODS');
-INSERT INTO jrn_action (ja_id, ja_name, ja_desc, ja_url, ja_action, ja_lang, 
ja_jrn_type) VALUES (40, 'Soldes', 'Voir les soldes des comptes en banques', 
'user_jrn.php', 'action=solde', 'FR', 'FIN');
-
-
-
-INSERT INTO jrn_def (jrn_def_id, jrn_def_name, jrn_def_class_deb, 
jrn_def_class_cred, jrn_def_fiche_deb, jrn_def_fiche_cred, jrn_deb_max_line, 
jrn_cred_max_line, jrn_def_ech, jrn_def_ech_lib, jrn_def_type, jrn_def_code, 
jrn_def_pj_pref) VALUES (4, 'Opération Diverses', NULL, NULL, NULL, NULL, 5, 5, 
false, NULL, 'ODS', 'ODS-01', 'ODS');
-INSERT INTO jrn_def (jrn_def_id, jrn_def_name, jrn_def_class_deb, 
jrn_def_class_cred, jrn_def_fiche_deb, jrn_def_fiche_cred, jrn_deb_max_line, 
jrn_cred_max_line, jrn_def_ech, jrn_def_ech_lib, jrn_def_type, jrn_def_code, 
jrn_def_pj_pref) VALUES (1, 'Financier', '5* ', '5*', '3,2,4', '3,2,4', 5, 5, 
false, NULL, 'FIN', 'FIN-01', 'FIN');
-INSERT INTO jrn_def (jrn_def_id, jrn_def_name, jrn_def_class_deb, 
jrn_def_class_cred, jrn_def_fiche_deb, jrn_def_fiche_cred, jrn_deb_max_line, 
jrn_cred_max_line, jrn_def_ech, jrn_def_ech_lib, jrn_def_type, jrn_def_code, 
jrn_def_pj_pref) VALUES (3, 'Achat', '6*', '4*', '5', '4', 1, 3, true, 
'échéance', 'ACH', 'ACH-01', 'ACH');
-INSERT INTO jrn_def (jrn_def_id, jrn_def_name, jrn_def_class_deb, 
jrn_def_class_cred, jrn_def_fiche_deb, jrn_def_fiche_cred, jrn_deb_max_line, 
jrn_cred_max_line, jrn_def_ech, jrn_def_ech_lib, jrn_def_type, jrn_def_code, 
jrn_def_pj_pref) VALUES (2, 'Vente', '4*', '7*', '2', '6', 2, 1, true, 
'échéance', 'VEN', 'VEN-01', 'VEN');
-
-
-
-
-
-
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 79, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 79, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 79, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 79, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 80, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 80, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 80, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 80, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 81, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 81, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 81, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 81, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 82, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 82, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 82, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 82, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 83, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 83, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 83, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 83, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 84, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 84, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 84, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 84, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 85, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 85, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 85, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 85, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 86, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 86, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 86, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 86, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 87, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 87, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 87, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 87, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 88, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 88, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 88, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 88, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 89, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 89, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 89, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 89, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 90, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 90, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 90, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 90, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 91, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 91, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 91, 'OP');
-INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 91, 'OP');
-
-
-
-
-
-
-INSERT INTO jrn_type (jrn_type_id, jrn_desc) VALUES ('FIN', 'Financier');
-INSERT INTO jrn_type (jrn_type_id, jrn_desc) VALUES ('VEN', 'Vente');
-INSERT INTO jrn_type (jrn_type_id, jrn_desc) VALUES ('ACH', 'Achat');
-INSERT INTO jrn_type (jrn_type_id, jrn_desc) VALUES ('ODS', 'Opérations 
Diverses');
-
-
-
-
-
-
-
-
-
-
-
-
-INSERT INTO mod_payment (mp_id, mp_lib, mp_jrn_def_id, mp_type, mp_fd_id, 
mp_qcode) VALUES (2, 'Caisse', 1, 'VEN', NULL, NULL);
-INSERT INTO mod_payment (mp_id, mp_lib, mp_jrn_def_id, mp_type, mp_fd_id, 
mp_qcode) VALUES (4, 'Caisse', 1, 'ACH', NULL, NULL);
-INSERT INTO mod_payment (mp_id, mp_lib, mp_jrn_def_id, mp_type, mp_fd_id, 
mp_qcode) VALUES (1, 'Paiement électronique', 1, 'VEN', NULL, NULL);
-INSERT INTO mod_payment (mp_id, mp_lib, mp_jrn_def_id, mp_type, mp_fd_id, 
mp_qcode) VALUES (3, 'Par gérant ou administrateur', 2, 'ACH', NULL, NULL);
-
-
-
-
-
-
-
-
-
-
-
-
-INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_NAME', NULL);
-INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_CP', NULL);
-INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_COMMUNE', NULL);
-INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_TVA', NULL);
-INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_STREET', NULL);
-INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_NUMBER', NULL);
-INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_TEL', NULL);
-INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_PAYS', NULL);
-INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_FAX', NULL);
-INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_ANALYTIC', 'nu');
-INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_COUNTRY', 'BE');
-INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_STRICT', 'Y');
-INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_TVA_USE', 'Y');
-INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_PJ_SUGGEST', 'Y');
-INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_CHECK_PERIODE', 'N');
-
-
-
-INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('DNA', '6740', 
'Dépense non déductible');
-INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('CUSTOMER', '400', 
'Poste comptable de base pour les clients');
-INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('COMPTE_TVA', 
'451', 'TVA à payer');
-INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('BANQUE', '550', 
'Poste comptable de base pour les banques');
-INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('VIREMENT_INTERNE', 
'58', 'Poste Comptable pour les virements internes');
-INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('COMPTE_COURANT', 
'56', 'Poste comptable pour le compte courant');
-INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('CAISSE', '57', 
'Poste comptable pour la caisse');
-INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('TVA_DNA', '6740', 
'Tva non déductible s');
-INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('TVA_DED_IMPOT', 
'619000', 'Tva déductible par l''impôt');
-INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('VENTE', '70', 
'Poste comptable de base pour les ventes');
-INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('DEP_PRIV', '4890', 
'Depense a charge du gerant');
-INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('SUPPLIER', '440', 
'Poste par défaut pour les fournisseurs');
-
-
-
-INSERT INTO parm_money (pm_id, pm_code, pm_rate) VALUES (1, 'EUR', 1.0000);
-
-
-
-INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, 
p_central) VALUES (79, '2010-01-01', '2010-01-31', '2010', false, false);
-INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, 
p_central) VALUES (80, '2010-02-01', '2010-02-28', '2010', false, false);
-INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, 
p_central) VALUES (81, '2010-03-01', '2010-03-31', '2010', false, false);
-INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, 
p_central) VALUES (82, '2010-04-01', '2010-04-30', '2010', false, false);
-INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, 
p_central) VALUES (83, '2010-05-01', '2010-05-31', '2010', false, false);
-INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, 
p_central) VALUES (84, '2010-06-01', '2010-06-30', '2010', false, false);
-INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, 
p_central) VALUES (85, '2010-07-01', '2010-07-31', '2010', false, false);
-INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, 
p_central) VALUES (86, '2010-08-01', '2010-08-31', '2010', false, false);
-INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, 
p_central) VALUES (87, '2010-09-01', '2010-09-30', '2010', false, false);
-INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, 
p_central) VALUES (88, '2010-10-01', '2010-10-31', '2010', false, false);
-INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, 
p_central) VALUES (89, '2010-11-01', '2010-11-30', '2010', false, false);
-INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, 
p_central) VALUES (90, '2010-12-01', '2010-12-30', '2010', false, false);
-INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, 
p_central) VALUES (91, '2010-12-31', '2010-12-31', '2010', false, false);
-
-
-
-INSERT INTO parm_poste (p_value, p_type) VALUES ('1', 'PAS');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('101', 'PASINV');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('141', 'PASINV');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('42', 'PAS');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('43', 'PAS');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('44', 'PAS');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('45', 'PAS');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('46', 'PAS');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('47', 'PAS');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('48', 'PAS');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('492', 'PAS');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('493', 'PAS');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('2', 'ACT');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('2409', 'ACTINV');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('3', 'ACT');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('5', 'ACT');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('491', 'ACT');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('490', 'ACT');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('6', 'CHA');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('7', 'PRO');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('4', 'ACT');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('40', 'ACT');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('5501', 'ACTINV');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('5511', 'ACTINV');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('5521', 'ACTINV');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('5531', 'ACTINV');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('5541', 'ACTINV');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('5551', 'ACTINV');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('5561', 'ACTINV');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('5571', 'ACTINV');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('5581', 'ACTINV');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('5591', 'ACTINV');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('6311', 'CHAINV');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('6321', 'CHAINV');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('6331', 'CHAINV');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('6341', 'CHAINV');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('6351', 'CHAINV');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('6361', 'CHAINV');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('6371', 'CHAINV');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('649', 'CHAINV');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('6511', 'CHAINV');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('6701', 'CHAINV');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('608', 'CHAINV');
-INSERT INTO parm_poste (p_value, p_type) VALUES ('709', 'PROINV');
+SELECT pg_catalog.setval('bilan_b_id_seq', 4, true);
 
 
 
 
 
 
+SELECT pg_catalog.setval('bookmark_b_id_seq', 1, false);
 
 
 
+SELECT pg_catalog.setval('bud_card_bc_id_seq', 1, false);
 
 
 
+SELECT pg_catalog.setval('bud_detail_bd_id_seq', 1, false);
 
 
 
+SELECT pg_catalog.setval('bud_detail_periode_bdp_id_seq', 1, false);
 
 
 
@@ -1187,7 +570,6 @@ INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, 
pcm_type) VALUES ('62',
 INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES 
('620', 'Rémunérations et avantages sociaux directs', '62', 'CHA');
 INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES 
('6200', 'Administrateurs ou gérants', '620', 'CHA');
 INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES 
('6201', 'Personnel de directions', '620', 'CHA');
-INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES 
('6202', 'Employés,620', '6202', 'CHA');
 INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES 
('6203', 'Ouvriers', '620', 'CHA');
 INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES 
('6204', 'Autres membres du personnel', '620', 'CHA');
 INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES 
('621', 'Cotisations patronales d''assurances sociales', '62', 'CHA');
@@ -1445,28 +827,1211 @@ INSERT INTO tmp_pcmn (pcm_val, pcm_lib, 
pcm_val_parent, pcm_type) VALUES ('2820'
 INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES 
('4516', 'Tva Export 0%', '451', 'PAS');
 INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES 
('4115', 'Tva Intracomm 0%', '411', 'ACT');
 INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES 
('4116', 'Tva Export 0%', '411', 'ACT');
-INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES 
('41141', 'TVA pour l\\''export', '4114', 'ACT');
+INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES 
('41141', 'TVA pour l\''export', '4114', 'ACT');
 INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES 
('41142', 'TVA sur les opérations intracommunautaires', '4114', 'ACT');
-INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES 
('45141', 'TVA pour l\\''export', '451', 'PAS');
+INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES 
('45141', 'TVA pour l\''export', '451', 'PAS');
 INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES 
('45142', 'TVA sur les opérations intracommunautaires', '4514', 'PAS');
 INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES 
('41143', 'TVA sur les opérations avec des assujettis art 44 Code TVA', '4114', 
'ACT');
 INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES 
('45143', 'TVA sur les opérations avec des assujettis art 44 Code TVA', '4514', 
'PAS');
 INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES 
('41144', 'TVA sur les opérations avec des cocontractants', '4114', 'ACT');
 INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES 
('45144', 'TVA sur les opérations avec des cocontractants', '4514', 'PAS');
+INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES 
('6202', 'Employés,620', '62', 'CHA');
+
+
+
+
+
+
+
+
+
+SELECT pg_catalog.setval('del_action_del_id_seq', 1, false);
+
+
+
+
+
+
+SELECT pg_catalog.setval('del_jrn_dj_id_seq', 1, false);
+
+
+
+
+
+
+SELECT pg_catalog.setval('del_jrnx_djx_id_seq', 1, false);
+
+
+
+
+
+
+SELECT pg_catalog.setval('document_d_id_seq', 1, false);
+
+
+
+
+
+
+SELECT pg_catalog.setval('document_modele_md_id_seq', 1, false);
+
+
+
+SELECT pg_catalog.setval('document_seq', 1, false);
+
+
+
+INSERT INTO document_state (s_id, s_value, s_status) VALUES (2, 'A suivre', 
NULL);
+INSERT INTO document_state (s_id, s_value, s_status) VALUES (3, 'A faire', 
NULL);
+INSERT INTO document_state (s_id, s_value, s_status) VALUES (1, 'Clôturé', 
'C');
+INSERT INTO document_state (s_id, s_value, s_status) VALUES (4, 'Abandonné', 
'C');
+
+
+
+SELECT pg_catalog.setval('document_state_s_id_seq', 100, false);
+
+
+
+SELECT pg_catalog.setval('document_type_dt_id_seq', 25, false);
+
+
+
+
+
+
+SELECT pg_catalog.setval('extension_ex_id_seq', 1, true);
+
+
+
+
+
+
+INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, 
p_central) VALUES (79, '2010-01-01', '2010-01-31', '2010', false, false);
+INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, 
p_central) VALUES (80, '2010-02-01', '2010-02-28', '2010', false, false);
+INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, 
p_central) VALUES (81, '2010-03-01', '2010-03-31', '2010', false, false);
+INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, 
p_central) VALUES (82, '2010-04-01', '2010-04-30', '2010', false, false);
+INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, 
p_central) VALUES (83, '2010-05-01', '2010-05-31', '2010', false, false);
+INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, 
p_central) VALUES (84, '2010-06-01', '2010-06-30', '2010', false, false);
+INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, 
p_central) VALUES (85, '2010-07-01', '2010-07-31', '2010', false, false);
+INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, 
p_central) VALUES (86, '2010-08-01', '2010-08-31', '2010', false, false);
+INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, 
p_central) VALUES (87, '2010-09-01', '2010-09-30', '2010', false, false);
+INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, 
p_central) VALUES (88, '2010-10-01', '2010-10-31', '2010', false, false);
+INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, 
p_central) VALUES (89, '2010-11-01', '2010-11-30', '2010', false, false);
+INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, 
p_central) VALUES (90, '2010-12-01', '2010-12-30', '2010', false, false);
+INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, 
p_central) VALUES (91, '2010-12-31', '2010-12-31', '2010', false, false);
+
+
+
+
+
+
+
+
+
+SELECT pg_catalog.setval('forecast_cat_fc_id_seq', 1, false);
+
+
+
+SELECT pg_catalog.setval('forecast_f_id_seq', 1, false);
+
+
+
+
+
+
+SELECT pg_catalog.setval('forecast_item_fi_id_seq', 1, false);
+
+
+
+INSERT INTO formdef (fr_id, fr_label) VALUES (3000000, 'TVA déclaration 
Belge');
+
+
+
+INSERT INTO form (fo_id, fo_fr_id, fo_pos, fo_label, fo_formula) VALUES 
(3000398, 3000000, 1, 'Prestation [ case 03 ]', '[700%]-[7000005]');
+INSERT INTO form (fo_id, fo_fr_id, fo_pos, fo_label, fo_formula) VALUES 
(3000399, 3000000, 2, 'Prestation intra [ case 47 ]', '[7000005]');
+INSERT INTO form (fo_id, fo_fr_id, fo_pos, fo_label, fo_formula) VALUES 
(3000400, 3000000, 3, 'Tva due   [case 54]', '[4513]+[4512]+[4511] 
FROM=01.2005');
+INSERT INTO form (fo_id, fo_fr_id, fo_pos, fo_label, fo_formula) VALUES 
(3000401, 3000000, 4, 'Marchandises, matière première et auxiliaire [case 81 
]', '[60%]');
+INSERT INTO form (fo_id, fo_fr_id, fo_pos, fo_label, fo_formula) VALUES 
(3000402, 3000000, 7, 'Service et bien divers [case 82]', '[61%]');
+INSERT INTO form (fo_id, fo_fr_id, fo_pos, fo_label, fo_formula) VALUES 
(3000403, 3000000, 8, 'bien d''invest [ case 83 ]', '[2400%]');
+INSERT INTO form (fo_id, fo_fr_id, fo_pos, fo_label, fo_formula) VALUES 
(3000404, 3000000, 9, 'TVA déductible [ case 59 ]', 'abs([4117]-[411%])');
+INSERT INTO form (fo_id, fo_fr_id, fo_pos, fo_label, fo_formula) VALUES 
(3000405, 3000000, 8, 'TVA non ded -> voiture', '[610022]*0.21/2');
+INSERT INTO form (fo_id, fo_fr_id, fo_pos, fo_label, fo_formula) VALUES 
(3000406, 3000000, 9, 'Acompte TVA', '[4117]');
+
+
+
+
+
+
+
+
+
+SELECT pg_catalog.setval('historique_analytique_ha_id_seq', 1, false);
+
+
+
+INSERT INTO info_def (id_type, id_description) VALUES ('BON_COMMANDE', 'Numero 
de bon de commande');
+INSERT INTO info_def (id_type, id_description) VALUES ('OTHER', 'Info 
diverses');
+
+
+
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 1, 16, 
0);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 1, 27, 
0);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (5, 1, 36, 
0);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (6, 1, 40, 
0);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 4, 18, 
2);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 12, 19, 
3);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (6, 19, 44, 
2);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 13, 9, 
31);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 13, 20, 
31);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 13, 29, 
31);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (1, 2, 3, 1);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 12, 8, 
1);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 3, 17, 
1);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 12, 28, 
1);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (5, 2, 37, 
1);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (6, 2, 41, 
1);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (1, 6, 4, 
120);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (6, 6, 42, 
120);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (1, 7, 5, 
130);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (5, 7, 38, 
130);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (6, 7, 43, 
130);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 14, 10, 
40);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 14, 21, 
40);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 14, 30, 
40);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 16, 12, 
70);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 16, 23, 
70);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 16, 32, 
70);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 17, 13, 
80);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 17, 24, 
80);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 17, 33, 
80);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 18, 14, 
90);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 18, 25, 
90);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 18, 34, 
90);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 23, 45, 
400);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (1, 23, 46, 
400);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 23, 47, 
400);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 23, 48, 
400);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (5, 23, 49, 
400);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (6, 23, 50, 
400);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 24, 51, 
60);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 24, 52, 
60);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 15, 11, 
50);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 15, 22, 
50);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 15, 31, 
50);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (1, 5, 1, 
30);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 5, 6, 
30);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 5, 15, 
30);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 5, 26, 
30);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (5, 5, 35, 
30);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (6, 5, 39, 
30);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (1, 1, 2, 0);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 1, 7, 0);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (500000, 1, 
54, 10);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (500000, 9, 
55, 20);
+INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (500000, 23, 
56, 30);
+
+
+
+
+
+
+SELECT pg_catalog.setval('jnt_letter_jl_id_seq', 1, false);
+
+
+
+
+
+
+SELECT pg_catalog.setval('jrn_info_ji_id_seq', 1, false);
+
+
+
+
+
+
+SELECT pg_catalog.setval('jrn_note_n_id_seq', 1, false);
+
+
+
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 79, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 79, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 79, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 79, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 80, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 80, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 80, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 80, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 81, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 81, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 81, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 81, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 82, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 82, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 82, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 82, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 83, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 83, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 83, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 83, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 84, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 84, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 84, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 84, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 85, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 85, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 85, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 85, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 86, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 86, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 86, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 86, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 87, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 87, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 87, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 87, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 88, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 88, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 88, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 88, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 89, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 89, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 89, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 89, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 90, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 90, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 90, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 90, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 91, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 91, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 91, 'OP');
+INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 91, 'OP');
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+SELECT pg_catalog.setval('key_distribution_activity_ka_id_seq', 1, false);
+
+
+
+SELECT pg_catalog.setval('key_distribution_detail_ke_id_seq', 1, false);
+
+
+
+SELECT pg_catalog.setval('key_distribution_kd_id_seq', 1, false);
+
+
+
+
+
+
+SELECT pg_catalog.setval('key_distribution_ledger_kl_id_seq', 1, false);
+
+
+
+
+
+
+SELECT pg_catalog.setval('letter_cred_lc_id_seq', 1, false);
+
+
+
+
+
+
+SELECT pg_catalog.setval('letter_deb_ld_id_seq', 1, false);
+
+
+
+SELECT pg_catalog.setval('link_action_type_l_id_seq', 1, false);
+
+
+
+INSERT INTO menu_default (md_id, md_code, me_code) VALUES (1, 'code_invoice', 
'COMPTA/VENMENU/VEN');
+INSERT INTO menu_default (md_id, md_code, me_code) VALUES (2, 'code_follow', 
'GESTION/FOLLOW');
+
+
+
+SELECT pg_catalog.setval('menu_default_md_id_seq', 2, true);
+
+
+
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('ACH', 
'Achat', 'compta_ach.inc.php', NULL, 'Nouvel achat ou dépense', NULL, NULL, 
'ME', 'Vous permet d''encoder des achats, dépenses, des notes de frais ou des 
notes de crédits, vous pouvez spécifier un bénéficiaire ou un autre moyen de 
paiement');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('ANCHOP', 
'Historique', 'anc_history.inc.php', NULL, 'Historique des imputations 
analytiques', NULL, NULL, 'ME', 'Historique des imputations analytiques');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('ANCBS', 
'Balance simple', 'anc_balance_simple.inc.php', NULL, 'Balance simple des 
imputations analytiques', NULL, NULL, 'ME', 'Balance simple des imputations 
analytiques');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('ANCTAB', 
'Tableau', 'anc_acc_table.inc.php', NULL, 'Tableau lié à la comptabilité', 
NULL, NULL, 'ME', 'Tableau lié à la comptabilité');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('ANCBCC', 
'Balance Analytique/comptabilité', 'anc_acc_balance.inc.php', NULL, 'Lien entre 
comptabilité et Comptabilité analytique', NULL, NULL, 'ME', 'Lien entre 
comptabilité et Comptabilité analytique');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('ANCGR', 
'Groupe', 'anc_group_balance.inc.php', NULL, 'Balance par groupe', NULL, NULL, 
'ME', 'Balance par groupe');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('CFGTVA', 
'TVA', 'tva.inc.php', NULL, 'Config. de la tva', NULL, NULL, 'ME', 'Permet 
d''ajouter des taux de TVA ou de les modifier ainsi que les postes comptables 
de ces TVA, ces TVA sont utilisables dans les menus de vente et d''achat');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('VEN', 
'Vente', 'compta_ven.inc.php', NULL, 'Nouvelle vente ou recette', NULL, NULL, 
'ME', 'Encodage de tous vos revenus ou vente');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('CFGMENU', 'Config. Menu', 'menu.inc.php', NULL, 'Configuration des menus et 
plugins', NULL, NULL, 'ME', 'Ajout de menu ou de plugins');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('SUPPL', 
'Fournisseur', 'supplier.inc.php', NULL, 'Suivi fournisseur', NULL, NULL, 'ME', 
'Suivi des fournisseurs : devis, lettres, email....');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('ANCODS', 
'Opérations diverses', 'anc_od.inc.php', NULL, 'OD analytique', NULL, NULL, 
'ME', 'Opérations diverses en Analytique');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('REPORT', 
'Création de rapport', 'report.inc.php', NULL, 'Création de rapport', NULL, 
NULL, 'ME', 'Création de rapport sur mesure, comme les ratios, vous permet de 
créer des graphiques de vos données (vente, achat...)');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('new_line', 'saut de ligne', NULL, NULL, 'Saut de ligne', NULL, NULL, 'SP', 
NULL);
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('CUST', 
'Client', 'customer.inc.php', NULL, 'Suivi client', NULL, NULL, 'ME', 'Suivi 
client : devis, réunion, courrier, commande...');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('STOCK_HISTO', 'Historique stock', 'stock_histo.inc.php', NULL, 'Historique 
des mouvement de stock', NULL, NULL, 'ME', NULL);
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('CSV:histo', 'Export Historique', 'export_histo_csv.php', NULL, NULL, NULL, 
NULL, 'PR', NULL);
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('CSV:ledger', 'Export Journaux', 'export_ledger_csv.php', NULL, NULL, NULL, 
NULL, 'PR', NULL);
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('PDF:ledger', 'Export Journaux', 'export_ledger_pdf.php', NULL, NULL, NULL, 
NULL, 'PR', NULL);
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('CSV:postedetail', 'Export Poste détail', 'export_poste_detail_csv.php', NULL, 
NULL, NULL, NULL, 'PR', NULL);
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('PDF:postedetail', 'Export Poste détail', 'export_poste_detail_pdf.php', NULL, 
NULL, NULL, NULL, 'PR', NULL);
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('CSV:fichedetail', 'Export Fiche détail', 'export_fiche_detail_csv.php', NULL, 
NULL, NULL, NULL, 'PR', NULL);
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('PDF:fichedetail', 'Export Fiche détail', 'export_fiche_detail_pdf.php', NULL, 
NULL, NULL, NULL, 'PR', NULL);
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('CSV:fiche_balance', 'Export Fiche balance', 'export_fiche_balance_csv.php', 
NULL, NULL, NULL, NULL, 'PR', NULL);
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('PDF:fiche_balance', 'Export Fiche balance', 'export_fiche_balance_pdf.php', 
NULL, NULL, NULL, NULL, 'PR', NULL);
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('CSV:report', 'Export report', 'export_form_csv.php', NULL, NULL, NULL, NULL, 
'PR', NULL);
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('PDF:report', 'Export report', 'export_form_pdf.php', NULL, NULL, NULL, NULL, 
'PR', NULL);
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('CSV:fiche', 'Export Fiche', 'export_fiche_csv.php', NULL, NULL, NULL, NULL, 
'PR', NULL);
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('PDF:fiche', 'Export Fiche', 'export_fiche_pdf.php', NULL, NULL, NULL, NULL, 
'PR', NULL);
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('CSV:glcompte', 'Export Grand Livre', 'export_gl_csv.php', NULL, NULL, NULL, 
NULL, 'PR', NULL);
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('PDF:glcompte', 'Export Grand Livre', 'export_gl_pdf.php', NULL, NULL, NULL, 
NULL, 'PR', NULL);
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('PDF:sec', 'Export Sécurité', 'export_security_pdf.php', NULL, NULL, NULL, 
NULL, 'PR', NULL);
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('CSV:AncList', 'Export Comptabilité analytique', 'export_anc_list_csv.php', 
NULL, NULL, NULL, NULL, 'PR', NULL);
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('CSV:AncBalSimple', 'Export Comptabilité analytique balance simple', 
'export_anc_balance_simple_csv.php', NULL, NULL, NULL, NULL, 'PR', NULL);
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('PDF:AncBalSimple', 'Export Comptabilité analytique', 
'export_anc_balance_simple_pdf.php', NULL, NULL, NULL, NULL, 'PR', NULL);
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('CSV:AncBalDouble', 'Export Comptabilité analytique balance double', 
'export_anc_balance_double_csv.php', NULL, NULL, NULL, NULL, 'PR', NULL);
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('PDF:AncBalDouble', 'Export Comptabilité analytique balance double', 
'export_anc_balance_double_pdf.php', NULL, NULL, NULL, NULL, 'PR', NULL);
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('CSV:balance', 'Export Balance comptable', 'export_balance_csv.php', NULL, 
NULL, NULL, NULL, 'PR', NULL);
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('PDF:balance', 'Export Balance comptable', 'export_balance_pdf.php', NULL, 
NULL, NULL, NULL, 'PR', NULL);
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('CSV:AncTable', 'Export Tableau Analytique', 'export_anc_table_csv.php', NULL, 
NULL, NULL, NULL, 'PR', NULL);
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('CSV:AncAccList', 'Export Historique Compt. Analytique', 
'export_anc_acc_list_csv.php', NULL, NULL, NULL, NULL, 'PR', NULL);
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('CSV:AncBalGroup', 'Export Balance groupe analytique', 
'export_anc_balance_group_csv.php', NULL, NULL, NULL, NULL, 'PR', NULL);
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('OTH:Bilan', 'Export Bilan', 'export_bilan_oth.php', NULL, NULL, NULL, NULL, 
'PR', NULL);
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('CSV:AncGrandLivre', 'Impression Grand-Livre', 
'export_anc_grandlivre_csv.php', NULL, NULL, NULL, NULL, 'PR', NULL);
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('CSV:reportinit', 'Export définition d''un raport', 
'export_reportinit_csv.php', NULL, NULL, NULL, NULL, 'PR', NULL);
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('CSV:ActionGestion', 'Export Action Gestion', 'export_follow_up_csv.php', 
NULL, NULL, NULL, NULL, 'PR', NULL);
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('CSV:StockHisto', 'Export Historique mouvement stock', 
'export_stock_histo_csv.php', NULL, NULL, NULL, NULL, 'PR', NULL);
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('CSV:StockResmList', 'Export Résumé list stock', 
'export_stock_resume_list.php', NULL, NULL, NULL, NULL, 'PR', NULL);
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('EXT', 
'Extension', NULL, NULL, 'Extensions (plugins)', NULL, NULL, 'ME', 'Menu 
regroupant les plugins');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('PLANANC', 'Plan Compt. analytique', 'anc_pa.inc.php', NULL, 'Plan 
analytique', NULL, NULL, 'ME', 'Axe analytique');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('ANCGROUP', 'Groupe', 'anc_group.inc.php', NULL, 'Groupe analytique', NULL, 
NULL, 'ME', 'Regroupement de compte analytique');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('CONTACT', 'Contact', 'contact.inc.php', NULL, 'Liste des contacts', NULL, 
NULL, 'ME', 'Liste de tous vos contacts');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('PREDOP', 
'Ecriture prédefinie', 'preod.inc.php', NULL, 'Gestion des opérations 
prédéfinifies', NULL, NULL, 'ME', 'Les opérations prédéfinies sont des 
opérations que vous faites régulièrement (loyer, abonnement,...) ');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('ODS', 
'Opérations Diverses', 'compta_ods.inc.php', NULL, 'Nouvelle opérations 
diverses', NULL, NULL, 'ME', 'Opération diverses tels que les amortissements, 
les augmentations de capital, les salaires, ...');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('FIN', 
'Nouvel extrait', 'compta_fin.inc.php', NULL, 'Nouvel extrait bancaire', NULL, 
NULL, 'ME', 'Encodage d''un extrait bancaire (=relevé bancaire)');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('JSSEARCH', 'Recherche', NULL, NULL, 'Recherche', NULL, 'search_reconcile()', 
'ME', 'Historique de toutes vos opérations un menu de recherche dans une 
nouvelle fenêtre, vous permettra de retrouver rapidement l''opération qui vous 
intéresse');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('PARAM', 
'Paramètre', NULL, NULL, 'Module paramètre', NULL, NULL, 'ME', 'Module 
paramètres');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('CFGCATDOC', 'Catégorie de documents', 'cat_document.inc.php', NULL, 'Config. 
catégorie de documents', NULL, NULL, 'ME', 'Vous permet d''ajouter de nouveaux 
type de documents (bordereau de livraison, devis..)');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('LETCARD', 'Lettrage par Fiche', 'lettering.card.inc.php', NULL, 'Lettrage par 
fiche', NULL, NULL, 'ME', 'Lettrage par fiche');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('ACHISTO', 'Historique achat', 'history_operation.inc.php', NULL, 'Historique 
achat', 'ledger_type=ACH', NULL, 'ME', 'Historique de toutes vos opérations 
dans les journaux d''achats un menu de recherche, vous permettra de retrouver 
rapidement l''opération qui vous intéresse');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('ODHISTO', 'Historique opérations diverses', 'history_operation.inc.php', 
NULL, 'Historique opérations diverses', 'ledger_type=ODS', NULL, 'ME', 
'Historique de toutes vos opérations dans les journaux d''opérations diverses 
un menu de recherche, vous permettra de retrouver rapidement l''opération qui 
vous intéresse');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('PRINTPOSTE', 'Poste', 'impress_poste.inc.php', NULL, 'Impression du détail 
d''un poste comptable', NULL, NULL, 'ME', 'Impression du détail d''un poste 
comptable');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('PRINTREPORT', 'Rapport', 'impress_rapport.inc.php', NULL, 'Impression de 
rapport', NULL, NULL, 'ME', 'Impression de rapport personnalisé, il est aussi 
possible d''exporter en CSV afin de faire des graphiques');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('PRINTGL', 'Grand Livre', 'impress_gl_comptes.inc.php', NULL, 'Impression du 
grand livre', NULL, NULL, 'ME', 'Impression du grand livre');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('PRINTBAL', 'Balance', 'balance.inc.php', NULL, 'Impression des balances 
comptables', NULL, NULL, 'ME', 'Impression des balances comptables');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('MENUACH', 'Achat', NULL, NULL, 'Menu achat', NULL, NULL, 'ME', 'Regroupement 
pour les menus d''achats(nouvelle opération, historique...)');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('MOD', 
'Menu et profil', NULL, NULL, 'Menu ', NULL, NULL, 'ME', 'Regroupement pour les 
menus et les profils');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('PRINT', 
'Impression', NULL, NULL, 'Menu impression', NULL, NULL, 'ME', 'Menu 
impression');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('BK', 
'Banque', 'bank.inc.php', NULL, 'Information Banque', NULL, NULL, 'ME', 
'Regroupement des menus des journaux de trésorerie');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('ANCGL', 
'Grand''Livre', 'anc_great_ledger.inc.php', NULL, 'Grand livre analytique', 
NULL, NULL, 'ME', 'Grand livre pour la comptabilité analytique');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('GESTION', 'Gestion', NULL, NULL, 'Module gestion', NULL, NULL, 'ME', 'Module 
gestion');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('LET', 
'Lettrage', NULL, NULL, 'Lettrage', NULL, NULL, 'ME', 'Menu Lettrage');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('ACCESS', 
'Accueil', NULL, 'user_login.php', 'Accueil', NULL, NULL, 'ME', 'Choix de votre 
dossier');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('COMPTA', 
'Comptabilité', NULL, NULL, 'Module comptabilité', NULL, NULL, 'ME', 'Module 
comptabilité');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('DIVPARM', 'Divers', NULL, NULL, 'Paramètres divers', NULL, NULL, 'ME', 'Menu 
de différents paramètres');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('CFGPRO', 
'Profil', 'profile.inc.php', NULL, 'Configuration profil', NULL, NULL, 'ME', 
'Configuration des profils des utilisateurs, permet de fixer les journaux, 
profils dans les documents et stock que  ce profil peut utiliser. Cela limite 
les utilisateurs puisque ceux-ci ont un profil');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('CFGACC', 
'Poste', 'poste.inc.php', NULL, 'Config. poste comptable de base', NULL, NULL, 
'ME', 'Config. poste comptable de base');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('CARD', 
'Fiche', 'fiche.inc.php', NULL, 'Liste,Balance,Historique par fiche', NULL, 
NULL, 'ME', 'Permet d''avoir la balance de toutes vos fiches, les résumés 
exportables en CSV, les historiques avec ou sans lettrages');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('PREFERENCE', 'Préférence', NULL, NULL, 'Préférence', NULL, 
'set_preference(<DOSSIER>)', 'ME', 'Préférence de l''utilisateur, apparence de 
l''application pour l''utilisateur, période par défaut et mot de passe');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('CFGTAG', 
'Configuration étiquette', 'cfgtags.inc.php', NULL, 'Configuration des tags', 
NULL, NULL, 'ME', 'Configuration des tags ou dossiers, on l''appele tag ou 
dossier suivant la façon dont vous utilisez 
+cette fonctionnalité. Vous pouvez en ajouter, en supprimer ou les modifier');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('ANCBC2', 
'Balance croisée double', 'anc_balance_double.inc.php', NULL, 'Balance double 
croisées des imputations analytiques', NULL, NULL, 'ME', 'Balance double 
croisées des imputations analytiques');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('COMPANY', 'Sociétés', 'company.inc.php', NULL, 'Parametre societe', NULL, 
NULL, 'ME', 'Information sur votre société : nom, adresse... utilisé lors de la 
génération de documents');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('PERIODE', 'Période', 'periode.inc.php', NULL, 'Gestion des périodes', NULL, 
NULL, 'ME', 'Gestion des périodes : clôture, ajout de période, afin de créer 
des périodes vous pouvez aussi utiliser le plugin outil comptable');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('VERIFBIL', 'Vérification ', 'verif_bilan.inc.php', NULL, 'Vérification de la 
comptabilité', NULL, NULL, 'ME', 'Vérifie que votre comptabilité ne contient 
pas d''erreur de base, tels que l''équilibre entre le passif et l''actif, 
l''utilisation des postes comptables...');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('OPEN', 
'Ecriture Ouverture', 'opening.inc.php', NULL, 'Ecriture d''ouverture', NULL, 
NULL, 'ME', 'Ecriture d''ouverture ou écriture à nouveau, reporte les soldes 
des comptes de l''année passé du poste comptable 0xxx à 5xxxx sur l''année 
courante');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('CFGDOC', 
'Document', 'document_modele.inc.php', NULL, 'Config. modèle de document', 
NULL, NULL, 'ME', 'Chargement de modèles de documents qui seront générés par 
NOALYSS, les formats utilisables sont libreoffice, html, text et rtf');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('CFGLED', 
'journaux', 'cfgledger.inc.php', NULL, 'Configuration des journaux', NULL, 
NULL, 'ME', 'Création et modification des journaux, préfixe des pièces 
justificatives, numérotation, catégories de fiches accessibles à ce journal');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('CFGSEC', 
'Sécurité', 'param_sec.inc.php', NULL, 'configuration de la sécurité', NULL, 
NULL, 'ME', 'Configuration de la sécurité, vous permet de donner un profil à 
vos utilisateurs, cela leur permettra d''utiliser ce que vous souhaitez qu''ils 
puissent utiliser');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('CFGATCARD', 'Attribut de fiche', 'card_attr.inc.php', NULL, 'Gestion des 
attributs de fiches ', NULL, NULL, 'ME', 'Permet d''ajouter de nouveaux 
attributs que vous pourrez par la suite ajouter à des catégories de fiches');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('STOCK_STATE', 'Etat des stock', 'stock_state.inc.php', NULL, 'Etat des 
stock', NULL, NULL, 'ME', 'Etat des stock de l''exercice indiqué');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('STOCK_INV', 'Modification Stocks', 'stock_inv.inc.php', NULL, 'Modification 
des stocks (inventaire)', NULL, NULL, 'ME', 'Modification des stocks, menu 
utilisé pour l''inventaire');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('STOCK_INVHISTO', 'Histo. Changement', 'stock_inv_histo.inc.php', NULL, 'Liste 
des changements manuels des stocks', NULL, NULL, 'ME', 'Liste des changements 
manuels des stocks, inventaire, transfert de marchandises entre dépôts...');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('NAVI', 
'Navigateur', NULL, NULL, 'Menu simplifié pour retrouver rapidement un menu', 
NULL, 'ask_navigator(<DOSSIER>)', 'ME', 'Le navigateur vous présente une liste 
de menu auquel vous avez accès et vous permet d''accèder plus rapidement au 
menu que vous souhaitez');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('SEARCH', 
'Recherche', NULL, NULL, 'Recherche', NULL, 'popup_recherche(<DOSSIER>)', 'ME', 
'Historique de toutes vos opérations dans tous  les journaux auquels vous avez 
accès, vous permettra de retrouver rapidement l''opération qui vous intéresse 
sur base de la date, du poste comptable, des montants...');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('HIST', 
'Historique', 'history_operation.inc.php', NULL, 'Historique', 
'ledger_type=ALL', NULL, 'ME', 'Historique de toutes vos opérations un menu de 
recherche, vous permettra de retrouver rapidement l''opération qui vous 
intéresse');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('FREC', 
'Rapprochement', 'compta_fin_rec.inc.php', NULL, 'Rapprochement bancaire', 
NULL, NULL, 'ME', 'Permet de faire correspondre vos extraits bancaires avec les 
opérations de vente ou d''achat, le lettrage se fait automatiquement');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('FSALDO', 
'Soldes', 'compta_fin_saldo.inc.php', NULL, 'Solde des comptes en banques, 
caisse...', NULL, NULL, 'ME', 'Solde des journaux de trésorerie cela concerne 
les comptes en banques, caisse , les chèques... ');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('LOGOUT', 
'Sortie &#9094', NULL, 'logout.php', 'Sortie', NULL, NULL, 'ME', 'Déconnexion 
');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('LETACC', 
'Lettrage par Poste', 'lettering.account.inc.php', NULL, 'lettrage par poste 
comptable', NULL, NULL, 'ME', 'lettrage par poste comptable');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('CARDBAL', 'Balance', 'balance_card.inc.php', NULL, 'Balance par catégorie de 
fiche', NULL, NULL, 'ME', 'Balance par catégorie de fiche ou pour toutes les 
fiches ayant un poste comptable');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('CFGPCMN', 'Plan Comptable', 'param_pcmn.inc.php', NULL, 'Config. du plan 
comptable', NULL, NULL, 'ME', 'Modification de votre plan comptable, parfois il 
est plus rapide d''utiliser le plugin "Poste Comptable"');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('VEHISTO', 'Historique vente', 'history_operation.inc.php', NULL, 'Historique 
des ventes', 'ledger_type=VEN', NULL, 'ME', 'Historique de toutes vos 
opérations dans les journaux de vente un menu de recherche, vous permettra de 
retrouver rapidement l''opération qui vous intéresse');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('FIHISTO', 'Historique financier', 'history_operation.inc.php', NULL, 
'Historique financier', 'ledger_type=FIN', NULL, 'ME', 'Historique de toutes 
vos opérations dans les journaux de trésorerie un menu de recherche, vous 
permettra de retrouver rapidement l''opération qui vous intéresse');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('PRINTREC', 'Rapprochement', 'impress_rec.inc.php', NULL, 'Impression des 
rapprochements', NULL, NULL, 'ME', 'Impression des rapprochements : opérations 
non rapprochées ou avec des montants différents');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('PRINTBILAN', 'Bilan', 'impress_bilan.inc.php', NULL, 'Impression de bilan', 
NULL, NULL, 'ME', 'Impression de bilan, ce module est basique, il est plus 
intéressant d''utiliser le plugin "rapport avancés"');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('CFGSTOCK', 'Configuration des dépôts', 'stock_cfg.inc.php', NULL, 
'Configuration dépôts', NULL, NULL, 'ME', 'Configuration des entrepots de 
dépôts');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('STOCK', 
'Stock', NULL, NULL, 'Stock', NULL, NULL, 'ME', 'Permet d''ajouter de nouvelles 
catégorie de fiche, d''ajouter des attributs à ces catégories (numéro de 
téléphone, gsm, email...)');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('CFGCARDCAT', 'Catégorie de fiche', 'fiche_def.inc.php', NULL, 'Gestion 
catégorie de fiche', NULL, NULL, 'ME', 'Permet de changer le poste comptable de 
base des catégories de fiches');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('CFGCARD', 'Fiche', 'cfgfiche.inc.php', NULL, 'Configuration de catégorie de 
fiches', NULL, NULL, 'ME', 'Permet d''ajouter de nouvelles catégorie de fiche, 
d''ajouter des attributs à ces catégories (numéro de téléphone, gsm, 
email...)');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('CFGDOCST', 'Etat des documents', 'doc_state.inc.php', NULL, 'Etat des 
documents', NULL, NULL, 'ME', 'Permet d''ajouter des état pour les documents 
utilisés dans le suivi (à faire, à suivre...)');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('MENUODS', 'Opérations diverses', NULL, NULL, 'Menu opérations diverses', 
NULL, NULL, 'ME', 'Regroupement pour les menus d''opérations diverses (nouvelle 
opération, historique...)');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('PRINTJRN', 'Impression Journaux', 'impress_jrn.inc.php', NULL, 'Impression 
des journaux', NULL, NULL, 'ME', 'Impression des journaux avec les détails pour 
les parties privés, la TVA et ce qui est non déductibles en ce qui concerne les 
journaux de vente et d''achat');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('VENMENU', 'Vente / Recette', NULL, NULL, 'Menu ventes et recettes', NULL, 
NULL, 'ME', 'Regroupement des menus ventes et recettes');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('ANCIMP', 
'Impression', NULL, NULL, 'Impression compta. analytique', NULL, NULL, 'ME', 
'Impression compta. analytique');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('ANC', 
'Compta Analytique', NULL, NULL, 'Module comptabilité analytique', NULL, NULL, 
'ME', 'Module comptabilité analytique');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('DASHBOARD', 'Tableau de bord', 'dashboard.inc.php', NULL, 'Tableau de bord', 
NULL, NULL, 'ME', 'Tableau de suivi, vous permet de voir en un coup d''oeil vos 
dernières opérations, un petit calendrier, une liste de chose à faire...');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('ADV', 
'Avancé', NULL, NULL, 'Menu avancé', NULL, NULL, 'ME', 'Menu regroupant la 
création de rapport, la vérification de la comptabilité...');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('MENUFIN', 'Trésorerie', NULL, NULL, 'Menu Financier', NULL, NULL, 'ME', 
'Regroupement pour les menus de trésorerie (nouvelle opération, 
historique...)');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('FOLLOW', 
'Liste Suivi', 'action.inc.php', NULL, 'Document de suivi sous forme de liste', 
NULL, NULL, 'ME', 'Liste de vos suivis, en fait de tous les documents, réunions 
... dont vous avez besoin afin de suivre vos clients, fournisseurs ou 
administrations. Il permet la génération de documents comme les devis, les 
bordereau de livraison...');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('CFGPAY', 
'Moyen de paiement', 'payment_middle.inc.php', NULL, 'Config. des méthodes de 
paiement', NULL, NULL, 'ME', 'Configuration des moyens de paiements que vous 
voulez utiliser dans les journaux de type VEN ou ACH, les moyens de paiement 
permettent de générer l''opération de trésorerie en même temps que l''achat, la 
note de frais ou la vente');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('ADM', 
'Administration', 'adm.inc.php', NULL, 'Suivi administration, banque', NULL, 
NULL, 'ME', 'Suivi des administrations : courrrier, déclarations.');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('FORECAST', 'Prévision', 'forecast.inc.php', NULL, 'Prévision', NULL, NULL, 
'ME', 'Prévision de vos achats, revenus, permet de suivre l''évolution de votre 
société. Vos prévisions sont des formules sur les postes comptables et vous 
permettent aussi vos marges brutes.');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('CSV:Reconciliation', 'Export opérations rapprochées', 'export_rec_csv.php', 
NULL, 'Export opérations rapprochées en CSV', NULL, NULL, 'PR', '');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('MANAGER', 'Administrateur', 'manager.inc.php', NULL, 'Suivi des gérants, 
administrateurs et salariés', NULL, NULL, 'ME', 'Suivi de vos salariés, 
managers ainsi que des administrateurs, pour les documents et les opérations 
comptables');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('CFGDEFMENU', 'Menu par défaut', 'default_menu.inc.php', NULL, 'Configuration 
des menus par défaut', NULL, NULL, 'ME', 'Configuration des menus par défaut, 
ces menus sont appelés par des actions dans d''autres menus');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('AGENDA', 
'Agenda', 'calendar.inc.php', NULL, 'Agenda', NULL, NULL, 'ME', 'Agenda, 
présentation du suivi sous forme d''agenda ');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('PDF:AncReceipt', 'Export pièce PDF', 'export_anc_receipt_pdf.php', NULL, 
NULL, NULL, NULL, 'PR', NULL);
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('ANCKEY', 
'Clef de répartition', 'anc_key.inc.php', NULL, NULL, NULL, NULL, 'ME', 'Permet 
de gèrer les clefs de répartition en comptabilité analytique');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('CFGPLUGIN', 'Configuration extension', 'cfgplugin.inc.php', NULL, NULL, NULL, 
NULL, 'ME', 'Permet d''installer et d''activer facilement des extensions');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('BOOKMARK', 'Favori &#9733 ', NULL, NULL, 'Raccourci vers vos menus préférés', 
NULL, 'show_bookmark(<DOSSIER>)', 'ME', 'Ce menu vous présente  un menu rapide 
de vos menus préférés');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES ('BALAGE', 
'Balance agée', 'balance_age.inc.php', NULL, 'Balance agée', NULL, NULL, 'ME', 
'Balance agée pour les clients et fournisseurs');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('CSV:balance_age', 'Export Balance agée', 'export_balance_age_csv.php', NULL, 
'Balance agée', NULL, NULL, 'PR', 'Balance agée pour les clients et 
fournisseurs');
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('RAW:receipt', 'Exporte la pièce', 'export_receipt.php', NULL, 'export la 
pièce justificative d''une opération', NULL, NULL, 'PR', NULL);
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('RAW:document', 'Export le document', 'export_document.php', NULL, 'exporte le 
document d''un événement', NULL, NULL, 'PR', NULL);
+INSERT INTO menu_ref (me_code, me_menu, me_file, me_url, me_description, 
me_parameter, me_javascript, me_type, me_description_etendue) VALUES 
('RAW:document_template', 'Exporte le modèle de document', 
'export_document_template.php', NULL, 'export le modèle de document utilisé 
dans le suivi', NULL, NULL, 'PR', NULL);
+
+
+
+INSERT INTO mod_payment (mp_id, mp_lib, mp_jrn_def_id, mp_fd_id, mp_qcode, 
jrn_def_id) VALUES (2, 'Caisse', 1, NULL, NULL, 2);
+INSERT INTO mod_payment (mp_id, mp_lib, mp_jrn_def_id, mp_fd_id, mp_qcode, 
jrn_def_id) VALUES (1, 'Paiement électronique', 1, NULL, NULL, 2);
+INSERT INTO mod_payment (mp_id, mp_lib, mp_jrn_def_id, mp_fd_id, mp_qcode, 
jrn_def_id) VALUES (4, 'Caisse', 1, NULL, NULL, 3);
+INSERT INTO mod_payment (mp_id, mp_lib, mp_jrn_def_id, mp_fd_id, mp_qcode, 
jrn_def_id) VALUES (3, 'Par gérant ou administrateur', 2, NULL, NULL, 3);
+
+
+
+SELECT pg_catalog.setval('mod_payment_mp_id_seq', 10, true);
+
+
+
+SELECT pg_catalog.setval('op_def_op_seq', 1, false);
+
+
+
+
+
+
+
+
+
+SELECT pg_catalog.setval('op_predef_detail_opd_id_seq', 1, false);
+
+
+
+
+
+
+INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_NAME', NULL);
+INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_CP', NULL);
+INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_COMMUNE', NULL);
+INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_TVA', NULL);
+INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_STREET', NULL);
+INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_NUMBER', NULL);
+INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_TEL', NULL);
+INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_PAYS', NULL);
+INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_FAX', NULL);
+INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_ANALYTIC', 'nu');
+INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_COUNTRY', 'BE');
+INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_STRICT', 'Y');
+INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_TVA_USE', 'Y');
+INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_PJ_SUGGEST', 'Y');
+INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_DATE_SUGGEST', 'Y');
+INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_ALPHANUM', 'N');
+INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_CHECK_PERIODE', 'N');
+INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_UPDLAB', 'N');
+INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_STOCK', 'N');
+
+
+
+INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('CUSTOMER', '400', 
'Poste comptable de base pour les clients');
+INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('COMPTE_TVA', 
'451', 'TVA à payer');
+INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('BANQUE', '550', 
'Poste comptable de base pour les banques');
+INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('VIREMENT_INTERNE', 
'58', 'Poste Comptable pour les virements internes');
+INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('COMPTE_COURANT', 
'56', 'Poste comptable pour le compte courant');
+INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('CAISSE', '57', 
'Poste comptable pour la caisse');
+INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('TVA_DNA', '6740', 
'Tva non déductible s');
+INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('TVA_DED_IMPOT', 
'619000', 'Tva déductible par l''impôt');
+INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('VENTE', '70', 
'Poste comptable de base pour les ventes');
+INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('DEP_PRIV', '4890', 
'Depense a charge du gerant');
+INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('SUPPLIER', '440', 
'Poste par défaut pour les fournisseurs');
+INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('DNA', '67', 
'Dépense non déductible');
+
+
+
+INSERT INTO parm_money (pm_id, pm_code, pm_rate) VALUES (1, 'EUR', 1.0000);
+
+
+
+INSERT INTO parm_poste (p_value, p_type) VALUES ('1', 'PAS');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('101', 'PASINV');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('141', 'PASINV');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('42', 'PAS');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('43', 'PAS');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('44', 'PAS');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('45', 'PAS');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('46', 'PAS');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('47', 'PAS');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('48', 'PAS');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('492', 'PAS');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('493', 'PAS');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('2', 'ACT');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('2409', 'ACTINV');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('3', 'ACT');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('5', 'ACT');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('491', 'ACT');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('490', 'ACT');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('6', 'CHA');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('7', 'PRO');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('4', 'ACT');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('40', 'ACT');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('5501', 'ACTINV');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('5511', 'ACTINV');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('5521', 'ACTINV');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('5531', 'ACTINV');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('5541', 'ACTINV');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('5551', 'ACTINV');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('5561', 'ACTINV');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('5571', 'ACTINV');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('5581', 'ACTINV');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('5591', 'ACTINV');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('6311', 'CHAINV');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('6321', 'CHAINV');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('6331', 'CHAINV');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('6341', 'CHAINV');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('6351', 'CHAINV');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('6361', 'CHAINV');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('6371', 'CHAINV');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('649', 'CHAINV');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('6511', 'CHAINV');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('6701', 'CHAINV');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('608', 'CHAINV');
+INSERT INTO parm_poste (p_value, p_type) VALUES ('709', 'PROINV');
+
+
+
+SELECT pg_catalog.setval('plan_analytique_pa_id_seq', 1, false);
+
+
+
+SELECT pg_catalog.setval('poste_analytique_po_id_seq', 1, false);
+
+
+
+INSERT INTO profile_menu_type (pm_type, pm_desc) VALUES ('P', 'Impression');
+INSERT INTO profile_menu_type (pm_type, pm_desc) VALUES ('S', 'Extension');
+INSERT INTO profile_menu_type (pm_type, pm_desc) VALUES ('E', 'Menu');
+INSERT INTO profile_menu_type (pm_type, pm_desc) VALUES ('M', 'Module');
+
+
+
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (59, 'CFGPAY', 'DIVPARM', 1, 40, 
'E', 0, 56);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (68, 'CFGATCARD', 'DIVPARM', 1, 
90, 'E', 0, 56);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (61, 'CFGACC', 'DIVPARM', 1, 60, 
'E', 0, 56);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (54, 'COMPANY', 'PARAM', 1, 10, 
'E', 0, 45);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (2, 'ANC', NULL, 1, 500, 'M', 0, 
NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (526, 'PRINTGL', 'PRINT', 1, 200, 
'E', 0, 6);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (523, 'PRINTBAL', 'PRINT', 1, 
500, 'E', 0, 6);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (529, 'PRINTREPORT', 'PRINT', 1, 
850, 'E', 0, 6);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (527, 'PRINTJRN', 'PRINT', 1, 
100, 'E', 0, 6);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (530, 'PRINTREC', 'PRINT', 1, 
1000, 'E', 0, 6);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (524, 'PRINTBILAN', 'PRINT', 1, 
900, 'E', 0, 6);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (686, 'PRINTREPORT', 'PRINT', 2, 
850, 'E', 0, 716);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (651, 'ANCHOP', 'ANCIMP', 1, 100, 
'E', 0, 78);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (173, 'COMPTA', NULL, 1, 400, 
'M', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (55, 'PERIODE', 'PARAM', 1, 20, 
'E', 0, 45);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (56, 'DIVPARM', 'PARAM', 1, 30, 
'E', 0, 45);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (652, 'ANCGL', 'ANCIMP', 1, 200, 
'E', 0, 78);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (60, 'CFGTVA', 'DIVPARM', 1, 50, 
'E', 0, 56);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (653, 'ANCBS', 'ANCIMP', 1, 300, 
'E', 0, 78);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (654, 'ANCBC2', 'ANCIMP', 1, 400, 
'E', 0, 78);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (655, 'ANCTAB', 'ANCIMP', 1, 500, 
'E', 0, 78);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (656, 'ANCBCC', 'ANCIMP', 1, 600, 
'E', 0, 78);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (657, 'ANCGR', 'ANCIMP', 1, 700, 
'E', 0, 78);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (658, 'CSV:AncGrandLivre', NULL, 
1, NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (662, 'new_line', NULL, 1, 350, 
'M', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (67, 'CFGCATDOC', 'DIVPARM', 1, 
80, 'E', 0, 56);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (69, 'CFGPCMN', 'PARAM', 1, 40, 
'E', 0, 45);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (23, 'LET', 'COMPTA', 1, 80, 'E', 
0, 173);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (72, 'PREDOP', 'PARAM', 1, 70, 
'E', 0, 45);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (75, 'PLANANC', 'ANC', 1, 10, 
'E', 0, 2);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (65, 'CFGCARDCAT', 'DIVPARM', 1, 
70, 'E', 0, 56);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (76, 'ANCODS', 'ANC', 1, 20, 'E', 
0, 2);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (77, 'ANCGROUP', 'ANC', 1, 30, 
'E', 0, 2);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (78, 'ANCIMP', 'ANC', 1, 40, 'E', 
0, 2);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (45, 'PARAM', NULL, 1, 200, 'M', 
0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (79, 'PREFERENCE', NULL, 1, 150, 
'M', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (37, 'CUST', 'GESTION', 1, 10, 
'E', 0, 34);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (38, 'SUPPL', 'GESTION', 1, 20, 
'E', 0, 34);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (39, 'ADM', 'GESTION', 1, 30, 
'E', 0, 34);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (40, 'STOCK', 'GESTION', 1, 50, 
'E', 0, 34);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (41, 'FORECAST', 'GESTION', 1, 
70, 'E', 0, 34);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (42, 'FOLLOW', 'GESTION', 1, 80, 
'E', 0, 34);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (29, 'VERIFBIL', 'ADV', 1, 210, 
'E', 0, 28);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (31, 'PREDOP', 'ADV', 1, 230, 
'E', 0, 28);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (32, 'OPEN', 'ADV', 1, 240, 'E', 
0, 28);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (33, 'REPORT', 'ADV', 1, 250, 
'E', 0, 28);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (43, 'HIST', 'COMPTA', 1, 10, 
'E', 0, 173);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (28, 'ADV', 'COMPTA', 1, 200, 
'E', 0, 173);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (688, 'PLANANC', 'ANC', 2, 10, 
'E', 0, 727);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (690, 'ANCODS', 'ANC', 2, 20, 
'E', 0, 727);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (528, 'PRINTPOSTE', 'PRINT', 1, 
300, 'E', 0, 6);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (683, 'PRINTGL', 'PRINT', 2, 200, 
'E', 0, 716);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (685, 'PRINTBAL', 'PRINT', 2, 
500, 'E', 0, 716);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (694, 'PRINTJRN', 'PRINT', 2, 
100, 'E', 0, 716);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (695, 'PRINTREC', 'PRINT', 2, 
1000, 'E', 0, 716);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (696, 'PRINTBILAN', 'PRINT', 2, 
900, 'E', 0, 716);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (53, 'ACCESS', NULL, 1, 250, 'M', 
0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (785, 'STOCK_HISTO', 'STOCK', 1, 
10, 'E', NULL, 30);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (820, 'STOCK_HISTO', 'STOCK', 1, 
10, 'E', NULL, 40);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (786, 'STOCK_STATE', 'STOCK', 1, 
20, 'E', NULL, 30);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (821, 'STOCK_STATE', 'STOCK', 1, 
20, 'E', NULL, 40);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (789, 'STOCK_INVHISTO', 'STOCK', 
1, 30, 'E', NULL, 30);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (822, 'STOCK_INVHISTO', 'STOCK', 
1, 30, 'E', NULL, 40);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (795, 'STOCK_INV', 'STOCK', 1, 
30, 'E', NULL, 30);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (823, 'STOCK_INV', 'STOCK', 1, 
30, 'E', NULL, 40);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (824, 'PRINTGL', 'PRINT', 1, 200, 
'E', 0, 35);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (825, 'PRINTBAL', 'PRINT', 1, 
500, 'E', 0, 35);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (826, 'PRINTREPORT', 'PRINT', 1, 
850, 'E', 0, 35);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (827, 'PRINTJRN', 'PRINT', 1, 
100, 'E', 0, 35);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (828, 'PRINTREC', 'PRINT', 1, 
1000, 'E', 0, 35);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (829, 'PRINTBILAN', 'PRINT', 1, 
900, 'E', 0, 35);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (830, 'PRINTPOSTE', 'PRINT', 1, 
300, 'E', 0, 35);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (816, 'BALAGE', 'PRINT', 1, 550, 
'E', 0, 6);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (831, 'BALAGE', 'PRINT', 1, 550, 
'E', 0, 35);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (787, 'STOCK_HISTO', 'STOCK', 2, 
10, 'E', NULL, 702);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (832, 'STOCK_HISTO', 'STOCK', 2, 
10, 'E', NULL, 706);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (788, 'STOCK_STATE', 'STOCK', 2, 
20, 'E', NULL, 702);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (833, 'STOCK_STATE', 'STOCK', 2, 
20, 'E', NULL, 706);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (790, 'STOCK_INVHISTO', 'STOCK', 
2, 30, 'E', NULL, 702);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (834, 'STOCK_INVHISTO', 'STOCK', 
2, 30, 'E', NULL, 706);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (796, 'STOCK_INV', 'STOCK', 2, 
30, 'E', NULL, 702);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (835, 'STOCK_INV', 'STOCK', 2, 
30, 'E', NULL, 706);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (836, 'PRINTREPORT', 'PRINT', 2, 
850, 'E', 0, 719);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (837, 'PRINTGL', 'PRINT', 2, 200, 
'E', 0, 719);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (838, 'PRINTBAL', 'PRINT', 2, 
500, 'E', 0, 719);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (839, 'PRINTJRN', 'PRINT', 2, 
100, 'E', 0, 719);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (840, 'PRINTREC', 'PRINT', 2, 
1000, 'E', 0, 719);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (841, 'PRINTBILAN', 'PRINT', 2, 
900, 'E', 0, 719);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (769, 'PRINTPOSTE', 'PRINT', 2, 
300, 'E', 0, 716);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (842, 'PRINTPOSTE', 'PRINT', 2, 
300, 'E', 0, 719);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (817, 'BALAGE', 'PRINT', 2, 550, 
'E', 0, 716);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (843, 'BALAGE', 'PRINT', 2, 550, 
'E', 0, 719);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (123, 'CSV:histo', NULL, 1, NULL, 
'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (20, 'LOGOUT', NULL, 1, 300, 'M', 
0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (35, 'PRINT', 'GESTION', 1, 40, 
'E', 0, 34);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (124, 'CSV:ledger', NULL, 1, 
NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (125, 'PDF:ledger', NULL, 1, 
NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (6, 'PRINT', 'COMPTA', 1, 60, 
'E', 0, 173);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (126, 'CSV:postedetail', NULL, 1, 
NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (3, 'MENUACH', 'COMPTA', 1, 30, 
'E', 0, 173);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (34, 'GESTION', NULL, 1, 450, 
'M', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (18, 'MENUODS', 'COMPTA', 1, 50, 
'E', 0, 173);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (88, 'ODS', 'MENUODS', 1, 10, 
'E', 0, 18);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (4, 'VENMENU', 'COMPTA', 1, 20, 
'E', 0, 173);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (90, 'VEN', 'VENMENU', 1, 10, 
'E', 0, 4);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (19, 'FIN', 'MENUFIN', 1, 10, 
'E', 0, 92);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (73, 'CFGDOC', 'PARAM', 1, 80, 
'E', 0, 45);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (74, 'CFGLED', 'PARAM', 1, 90, 
'E', 0, 45);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (71, 'CFGSEC', 'PARAM', 1, 60, 
'E', 0, 45);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (82, 'EXT', NULL, 1, 550, 'M', 0, 
NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (95, 'FREC', 'MENUFIN', 1, 40, 
'E', 0, 92);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (94, 'FSALDO', 'MENUFIN', 1, 30, 
'E', 0, 92);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (27, 'LETACC', 'LET', 1, 20, 'E', 
0, 23);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (24, 'LETCARD', 'LET', 1, 10, 
'E', 0, 23);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (167, 'MOD', 'PARAM', 1, 10, 'E', 
0, 45);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (92, 'MENUFIN', 'COMPTA', 1, 40, 
'E', 0, 173);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (151, 'SEARCH', NULL, 1, 600, 
'M', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (85, 'ACH', 'MENUACH', 1, 10, 
'E', 0, 3);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (127, 'PDF:postedetail', NULL, 1, 
NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (128, 'CSV:fichedetail', NULL, 1, 
NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (129, 'PDF:fichedetail', NULL, 1, 
NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (130, 'CSV:fiche_balance', NULL, 
1, NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (131, 'PDF:fiche_balance', NULL, 
1, NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (132, 'CSV:report', NULL, 1, 
NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (133, 'PDF:report', NULL, 1, 
NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (134, 'CSV:fiche', NULL, 1, NULL, 
'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (135, 'PDF:fiche', NULL, 1, NULL, 
'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (136, 'CSV:glcompte', NULL, 1, 
NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (137, 'PDF:glcompte', NULL, 1, 
NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (138, 'PDF:sec', NULL, 1, NULL, 
'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (139, 'CSV:AncList', NULL, 1, 
NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (140, 'CSV:AncBalSimple', NULL, 
1, NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (141, 'PDF:AncBalSimple', NULL, 
1, NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (142, 'CSV:AncBalDouble', NULL, 
1, NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (143, 'PDF:AncBalDouble', NULL, 
1, NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (144, 'CSV:balance', NULL, 1, 
NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (145, 'PDF:balance', NULL, 1, 
NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (146, 'CSV:AncTable', NULL, 1, 
NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (147, 'CSV:AncAccList', NULL, 1, 
NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (148, 'CSV:AncBalGroup', NULL, 1, 
NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (149, 'OTH:Bilan', NULL, 1, NULL, 
'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (1, 'DASHBOARD', NULL, 1, 100, 
'M', 1, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (172, 'CFGPRO', 'MOD', 1, NULL, 
'E', 0, 167);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (171, 'CFGMENU', 'MOD', 1, NULL, 
'E', 0, 167);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (86, 'ACHISTO', 'MENUACH', 1, 20, 
'E', 0, 3);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (91, 'VEHISTO', 'VENMENU', 1, 20, 
'E', 0, 4);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (781, 'BK', 'GESTION', 1, 35, 
'E', 0, 34);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (783, 'CSV:ActionGestion', NULL, 
1, NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (784, 'CFGSTOCK', 'PARAM', 1, 40, 
'E', 0, 45);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (30, 'STOCK', 'COMPTA', 1, 90, 
'E', 0, 173);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (791, 'CSV:StockHisto', NULL, 1, 
NULL, 'P', NULL, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (792, 'CSV:StockResmList', NULL, 
1, NULL, 'P', NULL, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (779, 'CSV:reportinit', NULL, 1, 
NULL, 'P', NULL, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (797, 'CFGDOCST', 'DIVPARM', 1, 
9, 'E', 0, 56);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (36, 'CARD', 'GESTION', 1, 60, 
'E', 0, 34);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (5, 'CARD', 'COMPTA', 1, 70, 'E', 
0, 173);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (525, 'CFGCARD', 'PARAM', 1, 400, 
'E', 0, 45);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (93, 'FIHISTO', 'MENUFIN', 1, 20, 
'E', 0, 92);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (89, 'ODHISTO', 'MENUODS', 1, 20, 
'E', 0, 18);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (799, 'NAVI', NULL, 1, 90, 'M', 
0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (801, 'BOOKMARK', NULL, 1, 85, 
'M', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (803, 'CFGTAG', 'PARAM', 1, 390, 
'E', 0, 45);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (804, 'CSV:Reconciliation', NULL, 
1, 0, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (806, 'MANAGER', 'GESTION', 1, 
25, 'E', 0, 34);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (808, 'CFGDEFMENU', 'MOD', 1, 30, 
'E', 0, 167);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (809, 'AGENDA', 'NULL', 1, 410, 
'M', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (811, 'PDF:AncReceipt', NULL, 1, 
NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (812, 'ANCKEY', 'ANC', 1, 15, 
'E', 0, 2);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (814, 'CFGPLUGIN', 'PARAM', 1, 
15, 'E', 0, 45);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (818, 'CSV:balance_age', NULL, 1, 
NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (668, 'ANCHOP', 'ANCIMP', 2, 100, 
'E', 0, 692);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (669, 'COMPTA', NULL, 2, 400, 
'M', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (672, 'ANCGL', 'ANCIMP', 2, 200, 
'E', 0, 692);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (674, 'ANCBS', 'ANCIMP', 2, 300, 
'E', 0, 692);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (675, 'ANCBC2', 'ANCIMP', 2, 400, 
'E', 0, 692);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (676, 'ANCTAB', 'ANCIMP', 2, 500, 
'E', 0, 692);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (677, 'ANCBCC', 'ANCIMP', 2, 600, 
'E', 0, 692);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (678, 'ANCGR', 'ANCIMP', 2, 700, 
'E', 0, 692);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (679, 'CSV:AncGrandLivre', NULL, 
2, NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (680, 'new_line', NULL, 2, 350, 
'M', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (684, 'LET', 'COMPTA', 2, 80, 
'E', 0, 669);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (717, 'CSV:ledger', NULL, 2, 
NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (718, 'PDF:ledger', NULL, 2, 
NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (719, 'PRINT', 'COMPTA', 2, 60, 
'E', 0, 669);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (720, 'CSV:postedetail', NULL, 2, 
NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (721, 'MENUACH', 'COMPTA', 2, 30, 
'E', 0, 669);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (723, 'GESTION', NULL, 2, 450, 
'M', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (724, 'MENUODS', 'COMPTA', 2, 50, 
'E', 0, 669);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (725, 'ODS', 'MENUODS', 2, 10, 
'E', 0, 724);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (727, 'ANC', NULL, 2, 500, 'M', 
0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (728, 'VENMENU', 'COMPTA', 2, 20, 
'E', 0, 669);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (729, 'VEN', 'VENMENU', 2, 10, 
'E', 0, 728);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (731, 'FIN', 'MENUFIN', 2, 10, 
'E', 0, 742);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (735, 'EXT', NULL, 2, 550, 'M', 
0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (736, 'FREC', 'MENUFIN', 2, 40, 
'E', 0, 742);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (737, 'FSALDO', 'MENUFIN', 2, 30, 
'E', 0, 742);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (738, 'LETACC', 'LET', 2, 20, 
'E', 0, 684);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (691, 'ANCGROUP', 'ANC', 2, 30, 
'E', 0, 727);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (692, 'ANCIMP', 'ANC', 2, 40, 
'E', 0, 727);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (697, 'PREFERENCE', NULL, 2, 150, 
'M', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (698, 'CUST', 'GESTION', 2, 10, 
'E', 0, 723);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (699, 'SUPPL', 'GESTION', 2, 20, 
'E', 0, 723);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (700, 'ADM', 'GESTION', 2, 30, 
'E', 0, 723);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (702, 'STOCK', 'GESTION', 2, 50, 
'E', 0, 723);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (703, 'FORECAST', 'GESTION', 2, 
70, 'E', 0, 723);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (704, 'FOLLOW', 'GESTION', 2, 80, 
'E', 0, 723);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (705, 'VERIFBIL', 'ADV', 2, 210, 
'E', 0, 712);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (707, 'PREDOP', 'ADV', 2, 230, 
'E', 0, 712);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (708, 'OPEN', 'ADV', 2, 240, 'E', 
0, 712);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (709, 'REPORT', 'ADV', 2, 250, 
'E', 0, 712);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (711, 'HIST', 'COMPTA', 2, 10, 
'E', 0, 669);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (712, 'ADV', 'COMPTA', 2, 200, 
'E', 0, 669);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (713, 'ACCESS', NULL, 2, 250, 
'M', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (714, 'CSV:histo', NULL, 2, NULL, 
'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (715, 'LOGOUT', NULL, 2, 300, 
'M', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (716, 'PRINT', 'GESTION', 2, 40, 
'E', 0, 723);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (739, 'LETCARD', 'LET', 2, 10, 
'E', 0, 684);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (742, 'MENUFIN', 'COMPTA', 2, 40, 
'E', 0, 669);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (744, 'SEARCH', NULL, 2, 600, 
'M', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (745, 'ACH', 'MENUACH', 2, 10, 
'E', 0, 721);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (746, 'PDF:postedetail', NULL, 2, 
NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (747, 'CSV:fichedetail', NULL, 2, 
NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (748, 'PDF:fichedetail', NULL, 2, 
NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (749, 'CSV:fiche_balance', NULL, 
2, NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (750, 'PDF:fiche_balance', NULL, 
2, NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (751, 'CSV:report', NULL, 2, 
NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (752, 'PDF:report', NULL, 2, 
NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (722, 'ACHISTO', 'MENUACH', 2, 
20, 'E', 0, 721);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (730, 'VEHISTO', 'VENMENU', 2, 
20, 'E', 0, 728);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (753, 'CSV:fiche', NULL, 2, NULL, 
'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (754, 'PDF:fiche', NULL, 2, NULL, 
'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (755, 'CSV:glcompte', NULL, 2, 
NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (756, 'PDF:glcompte', NULL, 2, 
NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (757, 'PDF:sec', NULL, 2, NULL, 
'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (758, 'CSV:AncList', NULL, 2, 
NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (759, 'CSV:AncBalSimple', NULL, 
2, NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (760, 'PDF:AncBalSimple', NULL, 
2, NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (761, 'CSV:AncBalDouble', NULL, 
2, NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (762, 'PDF:AncBalDouble', NULL, 
2, NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (763, 'CSV:balance', NULL, 2, 
NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (764, 'PDF:balance', NULL, 2, 
NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (765, 'CSV:AncTable', NULL, 2, 
NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (766, 'CSV:AncAccList', NULL, 2, 
NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (767, 'CSV:AncBalGroup', NULL, 2, 
NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (768, 'OTH:Bilan', NULL, 2, NULL, 
'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (772, 'DASHBOARD', NULL, 2, 100, 
'M', 1, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (782, 'BK', 'GESTION', 2, 35, 
'E', 0, 723);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (706, 'STOCK', 'COMPTA', 2, 90, 
'E', 0, 669);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (793, 'CSV:StockHisto', NULL, 2, 
NULL, 'P', NULL, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (794, 'CSV:StockResmList', NULL, 
2, NULL, 'P', NULL, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (780, 'CSV:reportinit', NULL, 2, 
NULL, 'P', NULL, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (798, 'CFGDOCST', 'DIVPARM', 2, 
9, 'E', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (701, 'CARD', 'GESTION', 2, 60, 
'E', 0, 723);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (710, 'CARD', 'COMPTA', 2, 70, 
'E', 0, 669);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (770, 'CFGCARD', 'PARAM', 2, 400, 
'E', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (743, 'FIHISTO', 'MENUFIN', 2, 
20, 'E', 0, 742);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (726, 'ODHISTO', 'MENUODS', 2, 
20, 'E', 0, 724);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (800, 'NAVI', NULL, 2, 90, 'M', 
0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (802, 'BOOKMARK', NULL, 2, 85, 
'M', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (805, 'CSV:Reconciliation', NULL, 
2, NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (807, 'MANAGER', 'GESTION', 2, 
25, 'E', 0, 723);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (810, 'AGENDA', 'NULL', 2, 410, 
'M', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (813, 'ANCKEY', 'ANC', 2, 15, 
'E', 0, 727);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (815, 'CFGPLUGIN', 'PARAM', 2, 
15, 'E', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (819, 'CSV:balance_age', NULL, 2, 
NULL, 'P', 0, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (844, 'CONTACT', 'GESTION', 1, 
22, 'E', 0, 34);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (845, 'CONTACT', 'GESTION', 2, 
22, 'E', 0, 723);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (846, 'RAW:receipt', NULL, 1, 
NULL, 'P', NULL, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (847, 'RAW:receipt', NULL, 2, 
NULL, 'P', NULL, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (848, 'RAW:document', NULL, 1, 
NULL, 'P', NULL, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (849, 'RAW:document', NULL, 2, 
NULL, 'P', NULL, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (850, 'RAW:document_template', 
NULL, 1, NULL, 'P', NULL, NULL);
+INSERT INTO profile_menu (pm_id, me_code, me_code_dep, p_id, p_order, 
p_type_display, pm_default, pm_id_dep) VALUES (851, 'RAW:document_template', 
NULL, 2, NULL, 'P', NULL, NULL);
+
+
+
+SELECT pg_catalog.setval('profile_menu_pm_id_seq', 851, true);
+
+
+
+SELECT pg_catalog.setval('profile_p_id_seq', 11, true);
+
+
+
+INSERT INTO stock_repository (r_id, r_name, r_adress, r_country, r_city, 
r_phone) VALUES (1, 'Dépôt par défaut', NULL, NULL, NULL, NULL);
+
+
+
+INSERT INTO profile_sec_repository (ur_id, p_id, r_id, ur_right) VALUES (1, 1, 
1, 'W');
+INSERT INTO profile_sec_repository (ur_id, p_id, r_id, ur_right) VALUES (2, 2, 
1, 'W');
+
+
+
+SELECT pg_catalog.setval('profile_sec_repository_ur_id_seq', 2, true);
+
+
+
+INSERT INTO profile_user (user_name, pu_id, p_id) VALUES ('phpcompta', 1, 1);
+
+
+
+SELECT pg_catalog.setval('profile_user_pu_id_seq', 6, true);
+
+
+
+
+
+
+SELECT pg_catalog.setval('quant_fin_qf_id_seq', 1, false);
+
+
+
+INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste, 
tva_both_side) VALUES (1, '21%', 0.2100, 'Tva applicable à tout ce qui bien et 
service divers', '4111,4511', 0);
+INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste, 
tva_both_side) VALUES (2, '12%', 0.1200, 'Tva ', '4112,4512', 0);
+INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste, 
tva_both_side) VALUES (3, '6%', 0.0600, 'Tva applicable aux journaux et 
livres', '4113,4513', 0);
+INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste, 
tva_both_side) VALUES (4, '0%', 0.0000, 'Aucune tva n''est applicable', 
'4114,4514', 0);
+INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste, 
tva_both_side) VALUES (6, 'EXPORT', 0.0000, 'Tva pour les exportations', 
'41141,45144', 0);
+INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste, 
tva_both_side) VALUES (5, 'INTRA', 0.0000, 'Tva pour les livraisons / 
acquisition intra communautaires', '41142,45142', 0);
+INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste, 
tva_both_side) VALUES (7, 'COC', 0.0000, 'Opérations avec des cocontractants', 
'41144,45144', 0);
+INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste, 
tva_both_side) VALUES (8, 'ART44', 0.0000, 'Opérations pour les opérations avec 
des assujettis à l\''art 44 Code TVA', '41143,45143', 0);
+
+
+
 
 
 
 
 
 
-INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) 
VALUES (1, '21%', 0.2100, 'Tva applicable à tout ce qui bien et service 
divers', '4111,4511');
-INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) 
VALUES (2, '12%', 0.1200, 'Tva ', '4112,4512');
-INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) 
VALUES (3, '6%', 0.0600, 'Tva applicable aux journaux et livres', '4113,4513');
-INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) 
VALUES (4, '0%', 0.0000, 'Aucune tva n''est applicable', '4114,4514');
-INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) 
VALUES (6, 'EXPORT', 0.0000, 'Tva pour les exportations', '41141,45144');
-INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) 
VALUES (5, 'INTRA', 0.0000, 'Tva pour les livraisons / acquisition intra 
communautaires', '41142,45142');
-INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) 
VALUES (7, 'COC', 0.0000, 'Opérations avec des cocontractants', '41144,45144');
-INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) 
VALUES (8, 'ART44', 0.0000, 'Opérations pour les opérations avec des assujettis 
à l\\''art 44 Code TVA', '41143,45143');
+SELECT pg_catalog.setval('s_attr_def', 9001, false);
+
+
+
+SELECT pg_catalog.setval('s_cbc', 1, false);
+
+
+
+SELECT pg_catalog.setval('s_central', 1, false);
+
+
+
+SELECT pg_catalog.setval('s_central_order', 1, false);
+
+
+
+SELECT pg_catalog.setval('s_centralized', 1, false);
+
+
+
+SELECT pg_catalog.setval('s_currency', 1, true);
+
+
+
+SELECT pg_catalog.setval('s_fdef', 6, true);
+
+
+
+SELECT pg_catalog.setval('s_fiche', 20, true);
+
+
+
+SELECT pg_catalog.setval('s_fiche_def_ref', 16, true);
+
+
+
+SELECT pg_catalog.setval('s_form', 1, false);
+
+
+
+SELECT pg_catalog.setval('s_formdef', 1, false);
+
+
+
+SELECT pg_catalog.setval('s_grpt', 2, true);
+
+
+
+SELECT pg_catalog.setval('s_idef', 1, false);
+
+
+
+SELECT pg_catalog.setval('s_internal', 1, false);
+
+
+
+SELECT pg_catalog.setval('s_invoice', 1, false);
+
+
+
+SELECT pg_catalog.setval('s_isup', 1, false);
+
+
+
+SELECT pg_catalog.setval('s_jnt_fic_att_value', 371, true);
+
+
+
+SELECT pg_catalog.setval('s_jnt_id', 56, true);
+
+
+
+SELECT pg_catalog.setval('s_jrn', 1, false);
+
+
+
+SELECT pg_catalog.setval('s_jrn_1', 1, false);
+
+
+
+SELECT pg_catalog.setval('s_jrn_2', 1, false);
+
+
+
+SELECT pg_catalog.setval('s_jrn_3', 1, false);
+
+
+
+SELECT pg_catalog.setval('s_jrn_4', 1, false);
+
+
+
+SELECT pg_catalog.setval('s_jrn_def', 5, false);
+
+
+
+SELECT pg_catalog.setval('s_jrn_op', 1, false);
+
+
+
+SELECT pg_catalog.setval('s_jrn_pj1', 1, false);
+
+
+
+SELECT pg_catalog.setval('s_jrn_pj2', 1, false);
+
+
+
+SELECT pg_catalog.setval('s_jrn_pj3', 1, false);
+
+
+
+SELECT pg_catalog.setval('s_jrn_pj4', 1, false);
+
+
+
+SELECT pg_catalog.setval('s_jrn_rapt', 1, false);
+
+
+
+SELECT pg_catalog.setval('s_jrnaction', 5, true);
+
+
+
+SELECT pg_catalog.setval('s_jrnx', 1, false);
+
+
+
+SELECT pg_catalog.setval('s_oa_group', 1, true);
+
+
+
+SELECT pg_catalog.setval('s_periode', 91, true);
+
+
+
+SELECT pg_catalog.setval('s_quantity', 7, true);
+
+
+
+SELECT pg_catalog.setval('s_stock_goods', 1, false);
+
+
+
+SELECT pg_catalog.setval('s_tva', 1001, true);
+
+
+
+SELECT pg_catalog.setval('s_user_act', 1, false);
+
+
+
+SELECT pg_catalog.setval('s_user_jrn', 1, false);
+
+
+
+SELECT pg_catalog.setval('seq_bud_hypothese_bh_id', 1, false);
+
+
+
+SELECT pg_catalog.setval('seq_doc_type_1', 1, false);
+
+
+
+SELECT pg_catalog.setval('seq_doc_type_10', 1, false);
+
+
+
+SELECT pg_catalog.setval('seq_doc_type_2', 1, false);
+
+
+
+SELECT pg_catalog.setval('seq_doc_type_20', 1, false);
+
+
+
+SELECT pg_catalog.setval('seq_doc_type_21', 1, false);
+
+
+
+SELECT pg_catalog.setval('seq_doc_type_22', 1, false);
+
+
+
+SELECT pg_catalog.setval('seq_doc_type_3', 1, false);
+
+
+
+SELECT pg_catalog.setval('seq_doc_type_4', 1, false);
+
+
+
+SELECT pg_catalog.setval('seq_doc_type_5', 1, false);
+
+
+
+SELECT pg_catalog.setval('seq_doc_type_6', 1, false);
+
+
+
+SELECT pg_catalog.setval('seq_doc_type_7', 1, false);
+
+
+
+SELECT pg_catalog.setval('seq_doc_type_8', 1, false);
+
+
+
+SELECT pg_catalog.setval('seq_doc_type_9', 1, false);
+
+
+
+
+
+
+SELECT pg_catalog.setval('stock_change_c_id_seq', 1, false);
+
+
+
+
+
+
+SELECT pg_catalog.setval('stock_repository_r_id_seq', 1, true);
+
+
+
+SELECT pg_catalog.setval('tags_t_id_seq', 1, false);
+
+
+
+
+
+
+
+
+
+SELECT pg_catalog.setval('tmp_stockgood_detail_d_id_seq', 1, false);
+
+
+
+SELECT pg_catalog.setval('tmp_stockgood_s_id_seq', 1, false);
+
+
+
+
+
+
+
+
+
+SELECT pg_catalog.setval('todo_list_shared_id_seq', 1, false);
+
+
+
+SELECT pg_catalog.setval('todo_list_tl_id_seq', 1, false);
+
+
+
+
+
+
+SELECT pg_catalog.setval('uos_pk_seq', 1, false);
 
 
 
@@ -1478,14 +2043,23 @@ INSERT INTO user_local_pref (user_id, parameter_type, 
parameter_value) VALUES ('
 
 
 
-INSERT INTO user_sec_extension (use_id, ex_id, use_login, use_access) VALUES 
(1, 1, 'phpcompta', 'Y');
+INSERT INTO user_sec_action_profile (ua_id, p_id, p_granted, ua_right) VALUES 
(1, 1, 1, 'W');
+INSERT INTO user_sec_action_profile (ua_id, p_id, p_granted, ua_right) VALUES 
(2, 1, 2, 'W');
+INSERT INTO user_sec_action_profile (ua_id, p_id, p_granted, ua_right) VALUES 
(3, 1, -1, 'W');
+INSERT INTO user_sec_action_profile (ua_id, p_id, p_granted, ua_right) VALUES 
(4, 2, 1, 'W');
+INSERT INTO user_sec_action_profile (ua_id, p_id, p_granted, ua_right) VALUES 
(5, 2, 2, 'W');
+INSERT INTO user_sec_action_profile (ua_id, p_id, p_granted, ua_right) VALUES 
(6, 2, -1, 'W');
+
+
+
+SELECT pg_catalog.setval('user_sec_action_profile_ua_id_seq', 6, true);
 
 
 
 
 
 
-INSERT INTO version (val) VALUES (75);
+INSERT INTO version (val) VALUES (125);
 
 
 
diff --git a/include/sql/mod1/function.sql b/include/sql/mod1/function.sql
index d90e0c5..6e7c3b2 100644
--- a/include/sql/mod1/function.sql
+++ b/include/sql/mod1/function.sql
@@ -1,20 +1,37 @@
-CREATE FUNCTION account_add(p_id public.account_type, p_name character 
varying) RETURNS void
+CREATE FUNCTION account_add(p_id public.account_type, p_name character 
varying) RETURNS text
+    LANGUAGE plpgsql
     AS $$
 declare
        nParent tmp_pcmn.pcm_val_parent%type;
        nCount integer;
+       sReturn text;
 begin
-       select count(*) into nCount from tmp_pcmn where pcm_val=p_id;
+       sReturn:= format_account(p_id);
+       select count(*) into nCount from tmp_pcmn where pcm_val=sReturn;
        if nCount = 0 then
                nParent=account_parent(p_id);
                insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent)
-                       values (p_id, p_name,nParent);
+                       values (p_id, p_name,nParent) returning pcm_val into 
sReturn;
        end if;
-return;
+return sReturn;
 end ;
-$$
-    LANGUAGE plpgsql;
+$$;
+CREATE FUNCTION account_alphanum() RETURNS boolean
+    LANGUAGE plpgsql
+    AS $$
+declare
+       l_auto bool;
+begin
+       l_auto := true;
+       select pr_value into l_auto from parameter where pr_id='MY_ALPHANUM';
+       if l_auto = 'N' or l_auto is null then
+               l_auto:=false;
+       end if;
+       return l_auto;
+end;
+$$;
 CREATE FUNCTION account_auto(p_fd_id integer) RETURNS boolean
+    LANGUAGE plpgsql
     AS $$
 declare
        l_auto bool;
@@ -26,14 +43,16 @@ begin
        end if;
        return l_auto;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
 CREATE FUNCTION account_compute(p_f_id integer) RETURNS public.account_type
+    LANGUAGE plpgsql
     AS $$
 declare
        class_base fiche_def.fd_class_base%type;
        maxcode numeric;
-       sResult account_type;
+       sResult text;
+       bAlphanum bool;
+       sName text;
 begin
        select fd_class_base into class_base
        from
@@ -41,56 +60,73 @@ begin
        where
                f_id=p_f_id;
        raise notice 'account_compute class base %',class_base;
-       select count (pcm_val) into maxcode from tmp_pcmn where pcm_val_parent 
= class_base;
-       if maxcode = 0  then
-               maxcode:=class_base::numeric;
+       bAlphanum := account_alphanum();
+       if bAlphanum = false  then
+       raise info 'account_compute : Alphanum is false';
+               select count (pcm_val) into maxcode from tmp_pcmn where 
pcm_val_parent = class_base;
+               if maxcode = 0  then
+                       maxcode:=class_base::numeric;
+               else
+                       select max (pcm_val) into maxcode from tmp_pcmn where 
pcm_val_parent = class_base;
+                       maxcode:=maxcode::numeric;
+               end if;
+               if maxcode::text = class_base then
+                       maxcode:=class_base::numeric*1000;
+               end if;
+               maxcode:=maxcode+1;
+               raise notice 'account_compute Max code %',maxcode;
+               sResult:=maxcode::account_type;
        else
-               select max (pcm_val) into maxcode from tmp_pcmn where 
pcm_val_parent = class_base;
-               maxcode:=maxcode::numeric;
-       end if;
-       if maxcode::text = class_base then
-               maxcode:=class_base::numeric*1000;
+       raise info 'account_compute : Alphanum is true';
+               -- if alphanum, use name
+               select ad_value into sName from fiche_detail where f_id=p_f_id 
and ad_id=1;
+               raise info 'name is %',sName;
+               if sName is null then
+                       raise exception 'Cannot compute an accounting without 
the name of the card for %',p_f_id;
+               end if;
+               sResult := class_base||sName;
+               sResult := substr(sResult,1,40);
+               raise info 'Result is %',sResult;
        end if;
-       maxcode:=maxcode+1;
-       raise notice 'account_compute Max code %',maxcode;
-       sResult:=maxcode::account_type;
-       return sResult;
-end;
-$$
-    LANGUAGE plpgsql;
-CREATE FUNCTION account_insert(p_f_id integer, p_account text) RETURNS integer
-    AS $_$
+       return sResult::account_type;
+end;
+$$;
+CREATE FUNCTION account_insert(p_f_id integer, p_account text) RETURNS text
+    LANGUAGE plpgsql
+    AS $$
 declare
        nParent tmp_pcmn.pcm_val_parent%type;
        sName varchar;
-       nNew tmp_pcmn.pcm_val%type;
+       sNew tmp_pcmn.pcm_val%type;
        bAuto bool;
        nFd_id integer;
        sClass_Base fiche_def.fd_class_base%TYPE;
        nCount integer;
        first text;
        second text;
+       s_account text;
 begin
 
-       if length(trim(p_account)) != 0 then
+       if p_account is not null and length(trim(p_account)) != 0 then
        -- if there is coma in p_account, treat normally
                if position (',' in p_account) = 0 then
                        raise info 'p_account is not empty';
-                               select count(*)  into nCount from tmp_pcmn 
where pcm_val=p_account::account_type;
+                               s_account := substr( p_account,1 , 40);
+                               select count(*)  into nCount from tmp_pcmn 
where pcm_val=s_account::account_type;
                                raise notice 'found in tmp_pcm %',nCount;
                                if nCount !=0  then
                                        raise info 'this account exists in 
tmp_pcmn ';
-                                       perform 
attribut_insert(p_f_id,5,p_account);
+                                       perform 
attribut_insert(p_f_id,5,s_account);
                                   else
                                       -- account doesn't exist, create it
-                                       select av_text into sName from
-                                               attr_value join 
jnt_fic_att_value using (jft_id)
+                                       select ad_value into sName from
+                                               fiche_detail
                                        where
                                        ad_id=1 and f_id=p_f_id;
 
-                                       
nParent:=account_parent(p_account::account_type);
-                                       insert into 
tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) values 
(p_account::account_type,sName,nParent);
-                                       perform 
attribut_insert(p_f_id,5,p_account);
+                                       
nParent:=account_parent(s_account::account_type);
+                                       insert into 
tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) values 
(s_account::account_type,sName,nParent);
+                                       perform 
attribut_insert(p_f_id,5,s_account);
 
                                end if;
                else
@@ -107,41 +143,41 @@ begin
                perform attribut_insert(p_f_id,5,p_account);
                end if;
        else
-       raise info 'p_account is  empty';
+       raise info 'A000 : p_account is  empty';
                select fd_id into nFd_id from fiche where f_id=p_f_id;
                bAuto:= account_auto(nFd_id);
 
                select fd_class_base into sClass_base from fiche_def where 
fd_id=nFd_id;
 raise info 'sClass_Base : %',sClass_base;
-               if bAuto = true and sClass_base similar to '^[[:digit:]]*$'  
then
+               if bAuto = true and sClass_base similar to '[[:digit:]]*'  then
                        raise info 'account generated automatically';
-                       nNew:=account_compute(p_f_id);
-                       raise info 'nNew %', nNew;
-                       select av_text into sName from
-                               attr_value join jnt_fic_att_value using (jft_id)
+                       sNew:=account_compute(p_f_id);
+                       raise info 'sNew %', sNew;
+                       select ad_value into sName from
+                               fiche_detail
                        where
                                ad_id=1 and f_id=p_f_id;
-                               nParent:=account_parent(nNew);
-                       perform account_add  (nNew,sName);
-                       perform attribut_insert(p_f_id,5,nNew);
+                       nParent:=account_parent(sNew);
+                       sNew := account_add  (sNew,sName);
+                       perform attribut_insert(p_f_id,5,sNew);
 
                else
                -- if there is an account_base then it is the default
-                     select fd_class_base::account_type into nNew from 
fiche_def join fiche using (fd_id) where f_id=p_f_id;
-                       if nNew is null or length(trim(nNew)) = 0 then
+                     select fd_class_base::account_type into sNew from 
fiche_def join fiche using (fd_id) where f_id=p_f_id;
+                       if sNew is null or length(trim(sNew)) = 0 then
                                raise notice 'count is null';
                                 perform attribut_insert(p_f_id,5,null);
                        else
-                                perform attribut_insert(p_f_id,5,nNew);
+                                perform attribut_insert(p_f_id,5,sNew);
                        end if;
                end if;
        end if;
 
 return 0;
 end;
-$_$
-    LANGUAGE plpgsql;
+$$;
 CREATE FUNCTION account_parent(p_account public.account_type) RETURNS 
public.account_type
+    LANGUAGE plpgsql
     AS $$
 declare
        sSubParent tmp_pcmn.pcm_val_parent%type;
@@ -170,31 +206,31 @@ begin
        raise notice 'account_parent : Parent is %',sSubParent;
        return sSubParent;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
 CREATE FUNCTION account_update(p_f_id integer, p_account public.account_type) 
RETURNS integer
+    LANGUAGE plpgsql
     AS $$
 declare
        nMax fiche.f_id%type;
        nCount integer;
        nParent tmp_pcmn.pcm_val_parent%type;
        sName varchar;
-       nJft_id attr_value.jft_id%type;
        first text;
        second text;
 begin
 
        if length(trim(p_account)) != 0 then
+               -- 2 accounts in card separated by comma
                if position (',' in p_account) = 0 then
                        select count(*) into nCount from tmp_pcmn where 
pcm_val=p_account;
                        if nCount = 0 then
-                       select av_text into sName from
-                               attr_value join jnt_fic_att_value using (jft_id)
+                       select ad_value into sName from
+                               fiche_detail
                                where
                                ad_id=1 and f_id=p_f_id;
                        nParent:=account_parent(p_account);
                        insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) 
values (p_account,sName,nParent);
-                       end if;
+               end if;
                else
                raise info 'presence of a comma';
                -- there is 2 accounts separated by a comma
@@ -206,63 +242,61 @@ begin
                if  position (',' in first) != 0 or position (',' in second) != 
0 then
                        raise exception 'Too many comas, invalid account';
                end if;
+               -- check that both account are in PCMN
+
                end if;
+       else
+               -- account is null
+               update fiche_detail set ad_value=null where f_id=p_f_id and 
ad_id=5 ;
        end if;
-       select jft_id into njft_id from jnt_fic_att_value where f_id=p_f_id and 
ad_id=5;
-       update attr_value set av_text=p_account where jft_id=njft_id;
 
-return njft_id;
+       update fiche_detail set ad_value=p_account where f_id=p_f_id and 
ad_id=5 ;
+
+return 0;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
 CREATE FUNCTION action_gestion_ins_upd() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$
 begin
 NEW.ag_title := substr(trim(NEW.ag_title),1,70);
 NEW.ag_hour := substr(trim(NEW.ag_hour),1,5);
+NEW.ag_owner := lower(NEW.ag_owner);
 return NEW;
 end;
-$$
-    LANGUAGE plpgsql;
-CREATE FUNCTION action_get_tree(p_id bigint) RETURNS SETOF bigint
+$$;
+CREATE FUNCTION action_gestion_related_ins_up() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$
-
 declare
-   e bigint;
-   i bigint;
+       nTmp bigint;
 begin
-   for e in select ag_id from action_gestion where ag_ref_ag_id=p_id
-   loop
-       if e = 0 then 
-               return;
-       end if;
-       return next e;
-       for i in select ag_id from action_gestion where ag_ref_ag_id=e
-       loop
-       if i = 0 then 
-               return;
-       end if;
-               return next i;
-       end loop;
-   end loop;
-   return;
+
+if NEW.aga_least > NEW.aga_greatest then
+       nTmp := NEW.aga_least;
+       NEW.aga_least := NEW.aga_greatest;
+       NEW.aga_greatest := nTmp;
+end if;
+
+if NEW.aga_least = NEW.aga_greatest then
+       return NULL;
+end if;
+
+return NEW;
 
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
 CREATE FUNCTION attribut_insert(p_f_id integer, p_ad_id integer, p_value 
character varying) RETURNS void
+    LANGUAGE plpgsql
     AS $$
-declare 
-       n_jft_id integer;
 begin
-       select nextval('s_jnt_fic_att_value') into n_jft_id;
-        insert into jnt_fic_att_value (jft_id,f_id,ad_id) values 
(n_jft_id,p_f_id,p_ad_id);
-        insert into attr_value (jft_id,av_text) values 
(n_jft_id,trim(p_value));
+       insert into fiche_detail (f_id,ad_id, ad_value) values 
(p_f_id,p_ad_id,p_value);
+       
 return;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
 CREATE FUNCTION attribute_correct_order() RETURNS void
+    LANGUAGE plpgsql
     AS $$
 declare
     crs_correct cursor for select A.jnt_id,A.jnt_order from jnt_fic_attr as A 
join jnt_fic_attr as B using (fd_id) where A.jnt_order=B.jnt_order and A.jnt_id 
> B.jnt_id;
@@ -280,9 +314,20 @@ begin
        close crs_correct;
        perform attribute_correct_order ();
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
+CREATE FUNCTION card_after_delete() RETURNS trigger
+    LANGUAGE plpgsql
+    AS $$
+
+begin
+
+       delete from action_gestion where f_id_dest = OLD.f_id;
+       return OLD;
+
+end;
+$$;
 CREATE FUNCTION card_class_base(p_f_id integer) RETURNS text
+    LANGUAGE plpgsql
     AS $$
 declare
        n_poste fiche_def.fd_class_base%type;
@@ -296,33 +341,45 @@ begin
        end if;
 return n_poste;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
+CREATE FUNCTION category_card_before_delete() RETURNS trigger
+    LANGUAGE plpgsql
+    AS $$
+
+begin
+    if OLD.fd_id > 499000 then
+        return null;
+    end if;
+    return OLD;
+
+end;
+$$;
 CREATE FUNCTION check_balance(p_grpt integer) RETURNS numeric
+    LANGUAGE plpgsql
     AS $$
-declare 
+declare
        amount_jrnx_debit numeric;
        amount_jrnx_credit numeric;
        amount_jrn numeric;
 begin
-       select sum (j_montant) into amount_jrnx_credit 
-       from jrnx 
-               where 
+       select coalesce(sum (j_montant),0) into amount_jrnx_credit
+       from jrnx
+               where
        j_grpt=p_grpt
        and j_debit=false;
 
-       select sum (j_montant) into amount_jrnx_debit 
-       from jrnx 
-               where 
+       select coalesce(sum (j_montant),0) into amount_jrnx_debit
+       from jrnx
+               where
        j_grpt=p_grpt
        and j_debit=true;
 
-       select jr_montant into amount_jrn 
+       select coalesce(jr_montant,0) into amount_jrn
        from jrn
        where
        jr_grpt_id=p_grpt;
 
-       if ( amount_jrnx_debit != amount_jrnx_credit ) 
+       if ( amount_jrnx_debit != amount_jrnx_credit )
                then
                return abs(amount_jrnx_debit-amount_jrnx_credit);
                end if;
@@ -332,9 +389,29 @@ begin
                end if;
        return 0;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
+CREATE FUNCTION check_periode() RETURNS trigger
+    LANGUAGE plpgsql
+    AS $$
+declare 
+  nPeriode int;
+begin
+if periode_exist(to_char(NEW.p_start,'DD.MM.YYYY'),NEW.p_id) <> -1 then
+       nPeriode:=periode_exist(to_char(NEW.p_start,'DD.MM.YYYY'),NEW.p_id) ;
+        raise info 'Overlap periode start % periode %',NEW.p_start,nPeriode;
+       return null;
+end if;
+
+if periode_exist(to_char(NEW.p_end,'DD.MM.YYYY'),NEW.p_id) <> -1 then
+       nPeriode:=periode_exist(to_char(NEW.p_start,'DD.MM.YYYY'),NEW.p_id) ;
+        raise info 'Overlap periode end % periode %',NEW.p_end,nPeriode;
+       return null;
+end if;
+return NEW;
+end;
+$$;
 CREATE FUNCTION correct_sequence(p_sequence text, p_col text, p_table text) 
RETURNS integer
+    LANGUAGE plpgsql
     AS $$
 declare
 last_sequence int8;
@@ -363,9 +440,9 @@ begin
 return 0;
 
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
 CREATE FUNCTION create_missing_sequence() RETURNS integer
+    LANGUAGE plpgsql
     AS $$
 declare
 p_sequence text;
@@ -386,9 +463,9 @@ close c1;
 return 0;
 
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
 CREATE FUNCTION drop_index(p_constraint character varying) RETURNS void
+    LANGUAGE plpgsql
     AS $$
 declare 
        nCount integer;
@@ -398,9 +475,9 @@ begin
        execute 'drop index '||p_constraint ;
        end if;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
 CREATE FUNCTION drop_it(p_constraint character varying) RETURNS void
+    LANGUAGE plpgsql
     AS $$
 declare 
        nCount integer;
@@ -410,9 +487,9 @@ begin
        execute 'alter table parm_periode drop constraint '||p_constraint ;
        end if;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
 CREATE FUNCTION extension_ins_upd() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$
 declare
  sCode text;
@@ -437,9 +514,9 @@ return NEW;
 
 end;
 
-$$
-    LANGUAGE plpgsql;
+$$;
 CREATE FUNCTION fiche_account_parent(p_f_id integer) RETURNS 
public.account_type
+    LANGUAGE plpgsql
     AS $$
 declare
 ret tmp_pcmn.pcm_val%TYPE;
@@ -450,16 +527,14 @@ begin
        end if;
        return ret;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
 CREATE FUNCTION fiche_attribut_synchro(p_fd_id integer) RETURNS void
+    LANGUAGE plpgsql
     AS $$
 declare
        -- this sql gives the f_id and the missing attribute (ad_id)
-       list_missing cursor for select f_id,fd_id,ad_id,jnt_order from 
jnt_fic_attr join fiche as A using (fd_id) where fd_id=p_fd_id and ad_id not in 
(select ad_id from fiche join jnt_fic_att_value using (f_id) where 
fd_id=jnt_fic_attr.fd_id and A.f_id=f_id);
+       list_missing cursor for select f_id,fd_id,ad_id,jnt_order from 
jnt_fic_attr join fiche as A using (fd_id) where fd_id=p_fd_id and ad_id not in 
(select ad_id from fiche join fiche_detail using (f_id) where 
fd_id=jnt_fic_attr.fd_id and A.f_id=f_id);
        rec record;
-       -- value of the last insert
-       jnt jnt_fic_att_value%ROWTYPE;
 begin
        open list_missing;
        loop
@@ -468,17 +543,15 @@ begin
        IF NOT FOUND then
                exit;
        end if;
-       -- insert a value into jnt_fic_att_value
-       insert  into jnt_fic_att_value (f_id,ad_id) values (rec.f_id,rec.ad_id) 
returning * into jnt;
-
+       
        -- now we insert into attr_value
-       insert into attr_value values (jnt.jft_id,'');
+       insert into fiche_detail (f_id,ad_id,ad_value) values 
(rec.f_id,rec.ad_id,null);
        end loop;
        close list_missing;
 end; 
-$$
-    LANGUAGE plpgsql;
+$$;
 CREATE FUNCTION fiche_def_ins_upd() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$
 begin
 
@@ -487,9 +560,187 @@ if position (',' in NEW.fd_class_base) != 0 then
 
 end if;
 return NEW;
-end;$$
-    LANGUAGE plpgsql;
+end;$$;
+CREATE FUNCTION fiche_detail_qcode_upd() RETURNS trigger
+    LANGUAGE plpgsql
+    AS $$
+declare
+       i record;
+begin
+       if NEW.ad_id=23 and NEW.ad_value != OLD.ad_value then
+               RAISE NOTICE 'new qcode [%] old qcode 
[%]',NEW.ad_value,OLD.ad_value;
+               update jrnx set j_qcode=NEW.ad_value where j_qcode = 
OLD.ad_value;    
+               update op_predef_detail set opd_poste=NEW.ad_value where 
opd_poste=OLD.ad_value;
+               raise notice 'TRG fiche_detail update op_predef_detail set 
opd_poste=% where opd_poste=%;',NEW.ad_value,OLD.ad_value;
+               for i in select ad_id from attr_def where ad_type = 'card' or 
ad_id=25 loop
+                       update fiche_detail set ad_value=NEW.ad_value where 
ad_value=OLD.ad_value and ad_id=i.ad_id;
+                       RAISE NOTICE 'change for ad_id [%] ',i.ad_id;
+                       if i.ad_id=19 then
+                               RAISE NOTICE 'Change in stock_goods OLD[%] by 
NEW[%]',OLD.ad_value,NEW.ad_value;
+                               update stock_goods set sg_code=NEW.ad_value 
where sg_code=OLD.ad_value;
+                       end if;
+
+               end loop;
+       end if;
+return NEW;
+end;
+$$;
+CREATE FUNCTION fill_quant_fin() RETURNS void
+    LANGUAGE plpgsql
+    AS $$
+declare
+   sBank text;
+   sCassa text;
+   sCustomer text;
+   sSupplier text;
+   rec record;
+   recBank record;
+   recSupp_Cust record;
+   nCount integer;
+   nAmount numeric;
+   nBank integer;
+   nOther integer;
+   nSupp_Cust integer;
+begin
+       select p_value into sBank from parm_code where p_code='BANQUE';
+       select p_value into sCassa from parm_code where p_code='CAISSE';
+       select p_value into sSupplier from parm_code where p_code='SUPPLIER';
+       select p_value into sCustomer from parm_code where p_code='CUSTOMER';
+       
+       for rec in select jr_id,jr_grpt_id from jrn 
+           where jr_def_id in (select jrn_def_id from jrn_def where 
jrn_def_type='FIN')
+               and jr_id not in (select jr_id from quant_fin)
+       loop
+               -- there are only 2 lines for bank operations
+               -- first debit
+               select count(j_id) into nCount from jrnx where 
j_grpt=rec.jr_grpt_id;
+               if nCount > 2 then 
+                       raise notice 'Trop de valeur pour jr_grpt_id % count 
%',rec.jr_grpt_id,nCount;
+                       return;
+               end if;
+               nBank := 0; nOther:=0;
+               for recBank in select  j_id, j_montant,j_debit,j_qcode,j_poste 
from jrnx where j_grpt=rec.jr_grpt_id
+               loop
+               if recBank.j_poste like sBank||'%' then
+                       -- retrieve f_id for bank
+                       select f_id into nBank from vw_poste_qcode where 
j_qcode=recBank.j_qcode;
+                       if recBank.j_debit = false then
+                               nAmount=recBank.j_montant*(-1);
+                       else 
+                               nAmount=recBank.j_montant;
+                       end if;
+               else
+                       select f_id into nOther from vw_poste_qcode where 
j_qcode=recBank.j_qcode;
+               end if;
+               end loop;
+               if nBank != 0 and nOther != 0 then
+                       insert into quant_fin 
(jr_id,qf_bank,qf_other,qf_amount) values (rec.jr_id,nBank,nOther,nAmount);
+               end if;
+       end loop;
+       for rec in select jr_id,jr_grpt_id from jrn 
+           where jr_def_id in (select jrn_def_id from jrn_def where 
jrn_def_type='FIN') and jr_id not in (select jr_id from quant_fin)
+       loop
+               -- there are only 2 lines for bank operations
+               -- first debit
+               select count(j_id) into nCount from jrnx where 
j_grpt=rec.jr_grpt_id;
+               if nCount > 2 then 
+                       raise notice 'Trop de valeur pour jr_grpt_id % count 
%',rec.jr_grpt_id,nCount;
+                       return;
+               end if;
+               nBank := 0; nOther:=0;
+               for recBank in select  j_id, j_montant,j_debit,j_qcode,j_poste 
from jrnx where j_grpt=rec.jr_grpt_id
+               loop
+               if recBank.j_poste like sCassa||'%' then
+                       -- retrieve f_id for bank
+                       select f_id into nBank from vw_poste_qcode where 
j_qcode=recBank.j_qcode;
+                       if recBank.j_debit = false then
+                               nAmount=recBank.j_montant*(-1);
+                       else 
+                               nAmount=recBank.j_montant;
+                       end if;
+               else
+                       select f_id into nOther from vw_poste_qcode where 
j_qcode=recBank.j_qcode;
+               end if;
+               end loop;
+               if nBank != 0 and nOther != 0 then
+                       insert into quant_fin 
(jr_id,qf_bank,qf_other,qf_amount) values (rec.jr_id,nBank,nOther,nAmount);
+               end if;
+       end loop;
+
+       for rec in select jr_id,jr_grpt_id from jrn 
+           where jr_def_id in (select jrn_def_id from jrn_def where 
jrn_def_type='FIN') and jr_id not in (select jr_id from quant_fin)
+       loop
+               -- there are only 2 lines for bank operations
+               -- first debit
+               select count(j_id) into nCount from jrnx where 
j_grpt=rec.jr_grpt_id;
+               if nCount > 2 then 
+                       raise notice 'Trop de valeur pour jr_grpt_id % count 
%',rec.jr_grpt_id,nCount;
+                       return;
+               end if;
+               nSupp_Cust := 0; nOther:=0;
+               for recSupp_Cust in select  j_id, 
j_montant,j_debit,j_qcode,j_poste from jrnx where j_grpt=rec.jr_grpt_id
+               loop
+               if recSupp_Cust.j_poste like sSupplier||'%'  then
+                       -- retrieve f_id for bank
+                       select f_id into nSupp_Cust from vw_poste_qcode where 
j_qcode=recSupp_Cust.j_qcode;
+                       if recSupp_Cust.j_debit = true then
+                               nAmount=recSupp_Cust.j_montant*(-1);
+                       else 
+                               nAmount=recSupp_Cust.j_montant;
+                       end if;
+               else if  recSupp_Cust.j_poste like sCustomer||'%' then
+                       select f_id into nSupp_Cust from vw_poste_qcode where 
j_qcode=recSupp_Cust.j_qcode;
+                       if recSupp_Cust.j_debit = false then
+                               nAmount=recSupp_Cust.j_montant*(-1);
+                       else 
+                               nAmount=recSupp_Cust.j_montant;
+                       end if;
+                       else
+                       select f_id into nOther from vw_poste_qcode where 
j_qcode=recSupp_Cust.j_qcode;
+                       
+                       end if;
+               end if;
+               end loop;
+               if nSupp_Cust != 0 and nOther != 0 then
+                       insert into quant_fin 
(jr_id,qf_bank,qf_other,qf_amount) values (rec.jr_id,nOther,nSupp_Cust,nAmount);
+               end if;
+       end loop;
+       for rec in select jr_id,jr_grpt_id from jrn 
+           where jr_def_id in (select jrn_def_id from jrn_def where 
jrn_def_type='FIN') and jr_id not in (select jr_id from quant_fin)
+       loop
+               -- there are only 2 lines for bank operations
+               -- first debit
+               select count(j_id) into nCount from jrnx where 
j_grpt=rec.jr_grpt_id;
+               if nCount > 2 then 
+                       raise notice 'Trop de valeur pour jr_grpt_id % count 
%',rec.jr_grpt_id,nCount;
+                       return;
+               end if;
+               nSupp_Cust := 0; nOther:=0;
+               for recSupp_Cust in select  j_id, 
j_montant,j_debit,j_qcode,j_poste from jrnx where j_grpt=rec.jr_grpt_id
+               loop
+               if recSupp_Cust.j_poste like '441%'  then
+                       -- retrieve f_id for bank
+                       select f_id into nSupp_Cust from vw_poste_qcode where 
j_qcode=recSupp_Cust.j_qcode;
+                       if recSupp_Cust.j_debit = false then
+                               nAmount=recSupp_Cust.j_montant*(-1);
+                       else 
+                               nAmount=recSupp_Cust.j_montant;
+                       end if;
+                       else
+                       select f_id into nOther from vw_poste_qcode where 
j_qcode=recSupp_Cust.j_qcode;
+                       
+                       
+               end if;
+               end loop;
+               if nSupp_Cust != 0 and nOther != 0 then
+                       insert into quant_fin 
(jr_id,qf_bank,qf_other,qf_amount) values (rec.jr_id,nOther,nSupp_Cust,nAmount);
+               end if;
+       end loop;
+       return;
+end;
+$$;
 CREATE FUNCTION find_pcm_type(pp_value public.account_type) RETURNS text
+    LANGUAGE plpgsql
     AS $$
 declare
        str_type parm_poste.p_type%TYPE;
@@ -508,9 +759,58 @@ begin
        end loop;
 return 'CON';
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
+CREATE FUNCTION find_periode(p_date text) RETURNS integer
+    LANGUAGE plpgsql
+    AS $$
+
+declare n_p_id int4;
+begin
+
+select p_id into n_p_id
+       from parm_periode
+       where
+               p_start <= to_date(p_date,'DD.MM.YYYY')
+               and
+               p_end >= to_date(p_date,'DD.MM.YYYY');
+
+if NOT FOUND then
+       return -1;
+end if;
+
+return n_p_id;
+
+end;$$;
+CREATE FUNCTION format_account(p_account public.account_type) RETURNS 
public.account_type
+    LANGUAGE plpgsql
+    AS $_$
+
+declare
+
+sResult account_type;
+
+begin
+sResult := lower(p_account);
+
+sResult := translate(sResult,E'éèêëàâäïîüûùöôç','eeeeaaaiiuuuooc');
+sResult := translate(sResult,E' $€µ£%.+-/\\!(){}(),;_&|"#''^<>*','');
+
+return upper(sResult);
+
+end;
+$_$;
+
+
+
+COMMENT ON FUNCTION format_account(p_account public.account_type) IS 'format 
the accounting :
+- upper case
+- remove space and special char.
+';
+
+
+
 CREATE FUNCTION get_letter_jnt(a bigint) RETURNS bigint
+    LANGUAGE plpgsql
     AS $$
 declare
  nResult bigint;
@@ -524,9 +824,64 @@ begin
     end if;
 return nResult;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
+CREATE FUNCTION get_menu_dependency(profile_menu_id integer) RETURNS SETOF 
integer
+    LANGUAGE plpgsql
+    AS $$
+declare
+       i int;
+       x int;
+       e int;
+begin
+       for x in select pm_id,me_code
+                       from profile_menu
+                       where me_code_dep in (select me_code from profile_menu 
where pm_id=profile_menu_id)
+                       and p_id = (select p_id from profile_menu where 
pm_id=profile_menu_id)
+       loop
+               return next x;
+
+       for e in select *  from comptaproc.get_menu_dependency(x)
+               loop
+                       return next e;
+               end loop;
+
+       end loop;
+       return;
+end;
+$$;
+CREATE FUNCTION get_menu_tree(p_code text, p_profile integer) RETURNS SETOF 
public.menu_tree
+    LANGUAGE plpgsql
+    AS $$
+declare
+       i menu_tree;
+       e menu_tree;
+       a text;
+       x v_all_menu%ROWTYPE;
+begin
+       for x in select *  from v_all_menu where me_code_dep=p_code::text and 
p_id=p_profile
+       loop
+               if x.me_code_dep is not null then
+                       i.code := x.me_code_dep||'/'||x.me_code;
+               else
+                       i.code := x.me_code;
+               end if;
+
+               i.description := x.me_description;
+
+               return next i;
+
+       for e in select *  from get_menu_tree(x.me_code,p_profile)
+               loop
+                       e.code:=x.me_code_dep||'/'||e.code;
+                       return next e;
+               end loop;
+
+       end loop;
+       return;
+end;
+$$;
 CREATE FUNCTION get_pcm_tree(source public.account_type) RETURNS SETOF 
public.account_type
+    LANGUAGE plpgsql
     AS $$
 declare
        i account_type;
@@ -543,9 +898,30 @@ begin
        end loop;
        return;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
+CREATE FUNCTION get_profile_menu(p_profile integer) RETURNS SETOF 
public.menu_tree
+    LANGUAGE plpgsql
+    AS $$
+declare
+       a menu_tree;
+       e menu_tree;
+begin
+for a in select me_code,me_description from v_all_menu where p_id=p_profile
+       and me_code_dep is null and me_type <> 'PR' and me_type <>'SP'
+loop
+               return next a;
+
+               for e in select * from get_menu_tree(a.code,p_profile)
+               loop
+                       return next e;
+               end loop;
+
+       end loop;
+return;
+end;
+$$;
 CREATE FUNCTION group_analytic_ins_upd() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$
 declare 
 name text;
@@ -555,17 +931,17 @@ name:=trim(name);
 name:=replace(name,' ','');
 NEW.ga_id:=name;
 return NEW;
-end;$$
-    LANGUAGE plpgsql;
+end;$$;
 CREATE FUNCTION group_analytique_del() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$
 begin
 update poste_analytique set ga_id=null
 where ga_id=OLD.ga_id;
 return OLD;
-end;$$
-    LANGUAGE plpgsql;
+end;$$;
 CREATE FUNCTION html_quote(p_string text) RETURNS text
+    LANGUAGE plpgsql
     AS $$
 declare
        r text;
@@ -575,9 +951,9 @@ begin
        r:=replace(r,'>','&gt;');
        r:=replace(r,'''','&quot;');
        return r;
-end;$$
-    LANGUAGE plpgsql;
+end;$$;
 CREATE FUNCTION info_def_ins_upd() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$
 declare 
        row_info_def info_def%ROWTYPE;
@@ -594,31 +970,11 @@ end if;
 row_info_def.id_type:=str_type;
 return row_info_def;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
 CREATE FUNCTION insert_jrnx(p_date character varying, p_montant numeric, 
p_poste public.account_type, p_grpt integer, p_jrn_def integer, p_debit 
boolean, p_tech_user text, p_tech_per integer, p_qcode text, p_comment text) 
RETURNS void
+    LANGUAGE plpgsql
     AS $$
-declare
-       sCode varchar;
-       nCount_qcode integer;
-begin
-       sCode=trim(p_qcode);
-
-       -- if p_qcode is empty try to find one
-       if length(sCode) = 0 or p_qcode is null then
-               select count(*) into nCount_qcode
-                       from vw_poste_qcode where j_poste=p_poste;
-       -- if we find only one q_code for a accountancy account
-       -- then retrieve it
-               if nCount_qcode = 1 then
-                       select j_qcode::text into sCode
-                       from vw_poste_qcode where j_poste=p_poste;
-               else
-                sCode=NULL;
-               end if;
-
-       end if;
-
+begin
        insert into jrnx
        (
                j_date,
@@ -642,146 +998,256 @@ begin
                p_comment,
                p_tech_user,
                p_tech_per,
-               sCode
+               p_qcode
        );
 
 return;
 end;
-$$
-    LANGUAGE plpgsql;
-CREATE FUNCTION insert_quant_purchase(p_internal text, p_j_id numeric, p_fiche 
character varying, p_quant numeric, p_price numeric, p_vat numeric, p_vat_code 
integer, p_nd_amount numeric, p_nd_tva numeric, p_nd_tva_recup numeric, 
p_dep_priv numeric, p_client character varying) RETURNS void
+$$;
+CREATE FUNCTION insert_quant_purchase(p_internal text, p_j_id numeric, p_fiche 
character varying, p_quant numeric, p_price numeric, p_vat numeric, p_vat_code 
integer, p_nd_amount numeric, p_nd_tva numeric, p_nd_tva_recup numeric, 
p_dep_priv numeric, p_client character varying, p_tva_sided numeric, 
p_price_unit numeric) RETURNS void
+    LANGUAGE plpgsql
     AS $$
 declare
-       fid_client integer;
-       fid_good   integer;
-begin
-       select f_id into fid_client from
-               attr_value join jnt_fic_att_value using (jft_id) where ad_id=23 
and av_text=upper(trim(p_client));
-       select f_id into fid_good from
-               attr_value join jnt_fic_att_value using (jft_id) where ad_id=23 
and av_text=upper(trim(p_fiche));
-       insert into quant_purchase
-               (qp_internal,
-               j_id,
-               qp_fiche,
-               qp_quantite,
-               qp_price,
-               qp_vat,
-               qp_vat_code,
-               qp_nd_amount,
-               qp_nd_tva,
-               qp_nd_tva_recup,
-               qp_supplier,
-               qp_dep_priv)
-       values
-               (p_internal,
-               p_j_id,
-               fid_good,
-               p_quant,
-               p_price,
-               p_vat,
-               p_vat_code,
-               p_nd_amount,
-               p_nd_tva,
-               p_nd_tva_recup,
-               fid_client,
-               p_dep_priv);
-       return;
+        fid_client integer;
+        fid_good   integer;
+        account_priv    account_type;
+        fid_good_account account_type;
+        n_dep_priv numeric;
+begin
+        n_dep_priv := 0;
+        select p_value into account_priv from parm_code where 
p_code='DEP_PRIV';
+        select f_id into fid_client from
+                fiche_detail where ad_id=23 and ad_value=upper(trim(p_client));
+        select f_id into fid_good from
+                 fiche_detail where ad_id=23 and ad_value=upper(trim(p_fiche));
+        select ad_value into fid_good_account from fiche_detail where ad_id=5 
and f_id=fid_good;
+        if strpos( fid_good_account , account_priv ) = 1 then
+                n_dep_priv=p_price;
+        end if; 
+            
+        insert into quant_purchase
+                (qp_internal,
+                j_id,
+                qp_fiche,
+                qp_quantite,
+                qp_price,
+                qp_vat,
+                qp_vat_code,
+                qp_nd_amount,
+                qp_nd_tva,
+                qp_nd_tva_recup,
+                qp_supplier,
+                qp_dep_priv,
+                qp_vat_sided,
+                qp_unit)
+        values
+                (p_internal,
+                p_j_id,
+                fid_good,
+                p_quant,
+                p_price,
+                p_vat,
+                p_vat_code,
+                p_nd_amount,
+                p_nd_tva,
+                p_nd_tva_recup,
+                fid_client,
+                n_dep_priv,
+                p_tva_sided,
+                p_price_unit);
+        return;
 end;
- $$
-    LANGUAGE plpgsql;
-CREATE FUNCTION insert_quant_sold(p_internal text, p_jid numeric, p_fiche 
character varying, p_quant numeric, p_price numeric, p_vat numeric, p_vat_code 
integer, p_client character varying) RETURNS void
+ $$;
+CREATE FUNCTION insert_quant_sold(p_internal text, p_jid numeric, p_fiche 
character varying, p_quant numeric, p_price numeric, p_vat numeric, p_vat_code 
integer, p_client character varying, p_tva_sided numeric, p_price_unit numeric) 
RETURNS void
+    LANGUAGE plpgsql
     AS $$
 declare
-       fid_client integer;
-       fid_good   integer;
-begin
-
-       select f_id into fid_client from
-               attr_value join jnt_fic_att_value using (jft_id) where ad_id=23 
and av_text=upper(trim(p_client));
-       select f_id into fid_good from
-               attr_value join jnt_fic_att_value using (jft_id) where ad_id=23 
and av_text=upper(trim(p_fiche));
-       insert into quant_sold
-               
(qs_internal,j_id,qs_fiche,qs_quantite,qs_price,qs_vat,qs_vat_code,qs_client,qs_valid)
-       values
-               
(p_internal,p_jid,fid_good,p_quant,p_price,p_vat,p_vat_code,fid_client,'Y');
-       return;
+        fid_client integer;
+        fid_good   integer;
+begin
+
+        select f_id into fid_client from
+                fiche_detail where ad_id=23 and ad_value=upper(trim(p_client));
+        select f_id into fid_good from
+                fiche_detail where ad_id=23 and ad_value=upper(trim(p_fiche));
+        insert into quant_sold
+                
(qs_internal,j_id,qs_fiche,qs_quantite,qs_price,qs_vat,qs_vat_code,qs_client,qs_valid,qs_vat_sided,qs_unit)
+        values
+                
(p_internal,p_jid,fid_good,p_quant,p_price,p_vat,p_vat_code,fid_client,'Y',p_tva_sided,p_price_unit);
+        return;
 end;
- $$
-    LANGUAGE plpgsql;
+ $$;
 CREATE FUNCTION insert_quick_code(nf_id integer, tav_text text) RETURNS integer
-    AS $$
+    LANGUAGE plpgsql
+    AS $_$
        declare
        ns integer;
        nExist integer;
        tText text;
+       tBase text;
+       tName text;
+       nCount Integer;
+       nDuplicate Integer;
        begin
-       tText := upper(trim(tav_text));
+       tText := lower(trim(tav_text));
        tText := replace(tText,' ','');
-       
+        tText:= translate(tText,E' $€µ£%+/\\!(){}(),;&|"#''^<>*','');
+       tText := translate(tText,E'éèêëàâäïîüûùöôç','eeeeaaaiiuuuooc');
+       nDuplicate := 0;
+       tBase := tText;
        loop
                -- take the next sequence
                select nextval('s_jnt_fic_att_value') into ns;
                if length (tText) = 0 or tText is null then
-                       tText := 'FID'||ns;
+                       select count(*) into nCount from fiche_detail where 
f_id=nf_id and ad_id=1;
+                       if nCount = 0 then
+                               tText := 'FICHE'||ns::text;
+                       else
+                               select ad_value into tName from fiche_detail 
where f_id=nf_id and ad_id=1;
+                               
+                               tName := lower(trim(tName));
+                               tName := substr(tName,1,6);
+                               tName := replace(tName,' ','');
+                               tName:= translate(tName,E' 
$€µ£%+/\\!(){}(),;&|"#''^<>*','');
+                               tName := 
translate(tName,E'éèêëàâäïîüûùöôç','eeeeaaaiiuuuooc');
+                               tBase := tName;
+                               if nDuplicate = 0 then
+                                       tText := tName;
+                               else
+                                       tText := tName||nDuplicate::text;
+                               end if;
+                       end if;
                end if;
                -- av_text already used ?
-               select count(*) into nExist 
-                       from jnt_fic_att_value join attr_value using (jft_id) 
-               where 
-                       ad_id=23 and  av_text=upper(tText);
+               select count(*) into nExist
+                       from fiche_detail
+               where
+                       ad_id=23 and  ad_value=upper(tText);
 
                if nExist = 0 then
                        exit;
                end if;
-               tText:='FID'||ns;
+               nDuplicate := nDuplicate + 1 ;
+               tText := tBase || nDuplicate::text;
+               
+               if nDuplicate > 9999 then
+                       raise Exception 'too many duplicate % duplicate# 
%',tText,nDuplicate;
+               end if;
        end loop;
-       -- insert into table jnt_fic_att_value
-       insert into jnt_fic_att_value values (ns,nf_id,23);
-       -- insert value into attr_value
-       insert into attr_value values (ns,upper(tText));
+
+
+       insert into fiche_detail(jft_id,f_id,ad_id,ad_value) values 
(ns,nf_id,23,upper(tText));
        return ns;
        end;
-$$
-    LANGUAGE plpgsql;
+$_$;
+
+
+
+CREATE FUNCTION is_closed(p_periode integer, p_jrn_def_id integer) RETURNS 
boolean
+    LANGUAGE plpgsql
+    AS $$
+declare
+bClosed bool;
+str_status text;
+begin
+select p_closed into bClosed from parm_periode
+       where p_id=p_periode;
+
+if bClosed = true then
+       return bClosed;
+end if;
+
+select status into str_status from jrn_periode
+       where p_id =p_periode and jrn_def_id=p_jrn_def_id;
+
+if str_status <> 'OP' then
+   return bClosed;
+end if;
+return false;
+end;
+$$;
+CREATE FUNCTION jnt_fic_attr_ins() RETURNS trigger
+    LANGUAGE plpgsql
+    AS $$
+declare
+   r_record jnt_fic_attr%ROWTYPE;
+   i_max integer;
+begin
+r_record=NEW;
+perform comptaproc.fiche_attribut_synchro(r_record.fd_id);
+select coalesce(max(jnt_order),0) into i_max from jnt_fic_attr where 
fd_id=r_record.fd_id;
+i_max := i_max + 10;
+NEW.jnt_order=i_max;
+return NEW;
+end;
+$$;
+CREATE FUNCTION jrn_add_note(p_jrid bigint, p_note text) RETURNS void
+    LANGUAGE plpgsql
+    AS $$
+declare
+       tmp bigint;
+begin
+       if length(trim(p_note)) = 0 then
+          delete from jrn_note where jr_id= p_jrid;
+          return;
+       end if;
+       
+       select n_id into tmp from jrn_note where jr_id = p_jrid;
+       
+       if FOUND then
+          update jrn_note set n_text=trim(p_note) where jr_id = p_jrid;
+       else 
+          insert into jrn_note (jr_id,n_text) values ( p_jrid, p_note);
+
+       end if;
+       
+       return;
+end;
+$$;
 CREATE FUNCTION jrn_check_periode() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$
-declare 
+declare
 bClosed bool;
 str_status text;
 ljr_tech_per jrn.jr_tech_per%TYPE;
 ljr_def_id jrn.jr_def_id%TYPE;
 lreturn jrn%ROWTYPE;
 begin
+if TG_OP='UPDATE' then
+       ljr_tech_per :=OLD.jr_tech_per ;
+       NEW.jr_tech_per := 
comptaproc.find_periode(to_char(NEW.jr_date,'DD.MM.YYYY'));
+       ljr_def_id   :=OLD.jr_def_id;
+       lreturn      :=NEW;
+       if NEW.jr_date = OLD.jr_date then
+               return NEW;
+       end if;
+       if comptaproc.is_closed(NEW.jr_tech_per,NEW.jr_def_id) = true then
+               raise exception 'Periode fermee';
+       end if;
+end if;
+
 if TG_OP='INSERT' then
-       ljr_tech_per :=NEW.jr_tech_per;
+       NEW.jr_tech_per := 
comptaproc.find_periode(to_char(NEW.jr_date,'DD.MM.YYYY'));
+       ljr_tech_per :=NEW.jr_tech_per ;
        ljr_def_id   :=NEW.jr_def_id;
-        lreturn      :=NEW;
+       lreturn      :=NEW;
 end if;
 
 if TG_OP='DELETE' then
        ljr_tech_per :=OLD.jr_tech_per;
        ljr_def_id   :=OLD.jr_def_id;
-        lreturn      :=OLD;
+       lreturn      :=OLD;
 end if;
 
-select p_closed into bClosed from parm_periode 
-       where p_id=ljr_tech_per;
-
-if bClosed = true then
-       raise exception 'Periode fermee';
-end if;
-
-select status into str_status from jrn_periode 
-       where p_id =ljr_tech_per and jrn_def_id=ljr_def_id;
-
-if str_status <> 'OP' then
-       raise exception 'Periode fermee';
+if comptaproc.is_closed (ljr_def_id,ljr_def_id) = true then
+       raise exception 'Periode fermee';
 end if;
 
 return lreturn;
-end;$$
-    LANGUAGE plpgsql;
+end;$$;
 CREATE FUNCTION jrn_def_add() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$begin
 execute 'insert into jrn_periode(p_id,jrn_def_id,status) select 
p_id,'||NEW.jrn_def_id||',
        case when p_central=true then ''CE''
@@ -791,9 +1257,9 @@ execute 'insert into jrn_periode(p_id,jrn_def_id,status) 
select p_id,'||NEW.jrn_
 from
 parm_periode ';
 return NEW;
-end;$$
-    LANGUAGE plpgsql;
+end;$$;
 CREATE FUNCTION jrn_def_delete() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$
 declare 
 nb numeric;
@@ -804,9 +1270,9 @@ if nb <> 0 then
        raise exception 'EFFACEMENT INTERDIT: JOURNAL UTILISE';
 end if;
 return OLD;
-end;$$
-    LANGUAGE plpgsql;
+end;$$;
 CREATE FUNCTION jrn_del() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$
 declare
 row jrn%ROWTYPE;
@@ -854,20 +1320,169 @@ insert into del_jrn ( jr_id,
              ,now() from jrn where jr_id=row.jr_id;
 return row;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
 CREATE FUNCTION jrnx_del() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$
 declare
 row jrnx%ROWTYPE;
 begin
 row:=OLD;
-insert into del_jrnx select * from jrnx where j_id=row.j_id;
+
+
+insert into del_jrnx(
+            j_id, j_date, j_montant, j_poste, j_grpt, j_rapt, j_jrn_def, 
+            j_debit, j_text, j_centralized, j_internal, j_tech_user, 
j_tech_date, 
+            j_tech_per, j_qcode, f_id)  SELECT j_id, j_date, j_montant, 
j_poste, j_grpt, j_rapt, j_jrn_def, 
+       j_debit, j_text, j_centralized, j_internal, j_tech_user, j_tech_date, 
+       j_tech_per, j_qcode, f_id from jrnx where j_id=row.j_id;
 return row;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
+CREATE FUNCTION jrnx_ins() RETURNS trigger
+    LANGUAGE plpgsql
+    AS $$
+declare
+n_fid bigint;
+nCount integer;
+sQcode text;
+
+begin
+n_fid := NULL;
+sQcode := NULL;
+
+NEW.j_tech_per := comptaproc.find_periode(to_char(NEW.j_date,'DD.MM.YYYY'));
+if NEW.j_tech_per = -1 then
+        raise exception 'Période invalide';
+end if;
+
+if trim(coalesce(NEW.j_qcode,'')) = '' then
+        -- how many card has this accounting
+        select count(*) into nCount from fiche_detail where ad_id=5 and 
ad_value=NEW.j_poste;
+        -- only one card is found , then we change the j_qcode by the card
+        if nCount = 1 then
+                select f_id into n_fid from fiche_detail where ad_id = 5 and 
ad_value=NEW.j_poste;
+            if FOUND then
+                select ad_value into sQcode  from fiche_detail where 
f_id=n_fid and ad_id = 23;
+                NEW.f_id := n_fid;
+                NEW.j_qcode = sQcode;
+                raise info 'comptaproc.jrnx_ins : found card % qcode 
%',n_fid,sQcode;
+            end if;
+        end if;
+
+end if;
+
+NEW.j_qcode=trim(upper(coalesce(NEW.j_qcode,'')));
+
+if length (coalesce(NEW.j_qcode,'')) = 0 then
+    NEW.j_qcode=NULL;
+    else
+      select f_id into n_fid from fiche_detail  where ad_id=23 and 
ad_value=NEW.j_qcode;
+      if NOT FOUND then
+        raise exception 'La fiche dont le quick code est % n''existe 
pas',NEW.j_qcode;
+    end if;
+end if;
+
+NEW.f_id:=n_fid;
+return NEW;
+end;
+$$;
+CREATE FUNCTION jrnx_letter_del() RETURNS trigger
+    LANGUAGE plpgsql
+    AS $$
+declare
+row jrnx%ROWTYPE;
+begin
+row:=OLD;
+delete from jnt_letter 
+       where (jl_id in (select jl_id from letter_deb) and jl_id not in(select 
jl_id from letter_cred )) 
+               or (jl_id not in (select jl_id from letter_deb  ) and jl_id  
in(select jl_id from letter_cred ));
+return row;
+end;
+$$;
+CREATE FUNCTION menu_complete_dependency(n_profile numeric) RETURNS void
+    LANGUAGE plpgsql
+    AS $$
+declare 
+ n_count integer;
+ csr_root_menu cursor (p_profile numeric) is select pm_id,
+       me_code,
+       me_code_dep 
+       
+       from profile_menu 
+       where 
+       me_code in 
+               (select a.me_code_dep 
+                       from profile_menu as a 
+                       join profile_menu as b on (a.me_code=b.me_code and 
a.me_code_dep=b.me_code_dep and a.pm_id <> b.pm_id and a.p_id=b.p_id) 
+                       where a.p_id=n_profile) 
+               and p_id=p_profile;
+
+begin
+       for duplicate in csr_root_menu(n_profile)
+       loop
+               raise notice 'found %',duplicate;
+               update profile_menu set pm_id_dep  = duplicate.pm_id 
+                       where pm_id in (select a.pm_id
+                               from profile_menu as a 
+                               left join profile_menu as b on 
(a.me_code=b.me_code and a.me_code_dep=b.me_code_dep)
+                               where 
+                               a.p_id=n_profile
+                               and b.p_id=n_profile
+                               and a.pm_id_dep is null 
+                               and a.me_code_dep = duplicate.me_code
+                               and a.pm_id < b.pm_id);
+       end loop;
+       
+       for duplicate in csr_root_menu(n_profile) 
+       loop
+               select count(*) into n_count from profile_menu where 
p_id=n_profile and pm_id_dep = duplicate.pm_id;
+               raise notice '% use % times',duplicate,n_count;
+               if n_count = 0 then
+                       raise notice ' Update with %',duplicate;
+                       update profile_menu set pm_id_dep = duplicate.pm_id 
where p_id = n_profile and me_code_dep = duplicate.me_code and pm_id_dep is 
null;
+               end if;
+
+       end loop;
+       
+end;
+$$;
+CREATE FUNCTION opd_limit_description() RETURNS trigger
+    LANGUAGE plpgsql
+    AS $$
+       declare
+               sDescription text;
+       begin
+       sDescription := NEW.od_description;
+       NEW.od_description := substr(sDescription,1,80);
+       return NEW;
+       end;
+$$;
+CREATE FUNCTION periode_exist(p_date text, p_periode_id bigint) RETURNS integer
+    LANGUAGE plpgsql
+    AS $$
+
+declare n_p_id int4;
+begin
+
+select p_id into n_p_id
+        from parm_periode
+        where
+                p_start <= to_date(p_date,'DD.MM.YYYY')
+                and
+                p_end >= to_date(p_date,'DD.MM.YYYY')
+                and
+                p_id <> p_periode_id;
+
+if NOT FOUND then
+        return -1;
+end if;
+
+return n_p_id;
+
+end;$$;
 CREATE FUNCTION plan_analytic_ins_upd() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$
 declare
    name text;
@@ -878,9 +1493,9 @@ begin
    NEW.pa_name:=name;
 return NEW;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
 CREATE FUNCTION poste_analytique_ins_upd() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$declare
 name text;
 rCount record;
@@ -904,9 +1519,9 @@ if NOT FOUND then
    raise exception' Inexistent Group Analytic %',NEW.ga_id;
 end if;
 return NEW;
-end;$$
-    LANGUAGE plpgsql;
+end;$$;
 CREATE FUNCTION proc_check_balance() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$
 declare 
        diff numeric;
@@ -921,9 +1536,31 @@ begin
        return NEW;
        end if;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
+CREATE FUNCTION quant_purchase_ins_upd() RETURNS trigger
+    LANGUAGE plpgsql
+    AS $$
+       begin
+               if NEW.qp_price < 0 OR NEW.qp_quantite <0 THEN
+                       NEW.qp_price := abs (NEW.qp_price)*(-1);
+                       NEW.qp_quantite := abs (NEW.qp_quantite)*(-1);
+               end if;
+return NEW;
+end;
+$$;
+CREATE FUNCTION quant_sold_ins_upd() RETURNS trigger
+    LANGUAGE plpgsql
+    AS $$
+       begin
+               if NEW.qs_price < 0 OR NEW.qs_quantite <0 THEN
+                       NEW.qs_price := abs (NEW.qs_price)*(-1);
+                       NEW.qs_quantite := abs (NEW.qs_quantite)*(-1);
+               end if;
+return NEW;
+end;
+$$;
 CREATE FUNCTION t_document_modele_validate() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$
 declare 
     lText text;
@@ -934,9 +1571,9 @@ begin
        modified.md_filename:=replace(NEW.md_filename,' ','_');
        return modified;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
 CREATE FUNCTION t_document_type_insert() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$
 declare
 nCounter integer;
@@ -947,9 +1584,9 @@ if nCounter = 0 then
 end if;
         RETURN NEW;
     END;
-$$
-    LANGUAGE plpgsql;
+$$;
 CREATE FUNCTION t_document_validate() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$
 declare
   lText text;
@@ -959,9 +1596,21 @@ begin
        modified.d_filename:=replace(NEW.d_filename,' ','_');
        return modified;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
+CREATE FUNCTION t_jrn_def_description() RETURNS trigger
+    LANGUAGE plpgsql
+    AS $$
+    declare
+        str varchar(200);
+    BEGIN
+        str := substr(NEW.jrn_def_description,1,200);
+        NEW.jrn_def_description := str;
+
+        RETURN NEW;
+    END;
+$$;
 CREATE FUNCTION t_jrn_def_sequence() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$
 declare
 nCounter integer;
@@ -976,23 +1625,192 @@ nCounter integer;
 
         RETURN NEW;
     END;
-$$
-    LANGUAGE plpgsql;
+$$;
+CREATE FUNCTION table_analytic_account(p_from text, p_to text) RETURNS SETOF 
public.anc_table_account_type
+    LANGUAGE plpgsql
+    AS $$
+declare
+       ret ANC_table_account_type%ROWTYPE;
+       sql_from text:='';
+       sql_to text:='';
+       sWhere text:='';
+       sAnd text:='';
+       sResult text:='';
+begin
+if p_from <> '' and p_from is not null then
+       sql_from:='oa_date >= to_date('''||p_from::text||''',''DD.MM.YYYY'')';
+       sWhere:=' where ';
+end if;
+
+if p_to <> '' and p_to is not null then
+       sql_to=' oa_date <= to_date('''||p_to::text||''',''DD.MM.YYYY'')';
+       sWhere := ' where ';
+end if;
+
+if sql_to <> '' and sql_from <> '' then
+       sAnd:=' and ';
+end if;
+
+sResult := sWhere || sql_from || sAnd || sql_to;
+
+for ret in EXECUTE 'SELECT po.po_id,
+                           po.pa_id, po.po_name, 
+                           po.po_description,sum(
+        CASE
+            WHEN operation_analytique.oa_debit = true THEN 
operation_analytique.oa_amount * (-1)::numeric
+            ELSE operation_analytique.oa_amount
+        END) AS sum_amount, jrnx.j_poste, tmp_pcmn.pcm_lib AS name
+   FROM operation_analytique
+   JOIN poste_analytique po USING (po_id)
+   JOIN jrnx USING (j_id)
+   JOIN tmp_pcmn ON jrnx.j_poste::text = tmp_pcmn.pcm_val::text
+'|| sResult ||'
+  GROUP BY po.po_id, po.po_name, po.pa_id, jrnx.j_poste, tmp_pcmn.pcm_lib, 
po.po_description
+ HAVING sum(
+CASE
+    WHEN operation_analytique.oa_debit = true THEN 
operation_analytique.oa_amount * (-1)::numeric
+    ELSE operation_analytique.oa_amount
+END) <> 0::numeric '
+       loop
+       return next ret;
+end loop;
+end;
+$$;
+CREATE FUNCTION table_analytic_card(p_from text, p_to text) RETURNS SETOF 
public.anc_table_card_type
+    LANGUAGE plpgsql
+    AS $$
+declare
+       ret ANC_table_card_type%ROWTYPE;
+       sql_from text:='';
+       sql_to text:='';
+       sWhere text:='';
+       sAnd text:='';
+       sResult text:='';
+begin
+if p_from <> '' and p_from is not null then
+       sql_from:='oa_date >= to_date('''||p_from::text||''',''DD.MM.YYYY'')';
+       sWhere:=' where ';
+end if;
+
+if p_to <> '' and p_to is not null then
+       sql_to=' oa_date <= to_date('''||p_to::text||''',''DD.MM.YYYY'')';
+       sWhere := ' where ';
+end if;
+
+if sql_to <> '' and sql_from <> '' then
+       sAnd :=' and ';
+end if;
+
+sResult := sWhere || sql_from || sAnd || sql_to;
+
+for ret in EXECUTE ' SELECT po.po_id, po.pa_id, po.po_name, po.po_description, 
 sum(
+        CASE
+            WHEN operation_analytique.oa_debit = true THEN 
operation_analytique.oa_amount * (-1)::numeric
+            ELSE operation_analytique.oa_amount
+        END) AS sum_amount, jrnx.f_id, jrnx.j_qcode, ( SELECT 
fiche_detail.ad_value
+           FROM fiche_detail
+          WHERE fiche_detail.ad_id = 1 AND fiche_detail.f_id = jrnx.f_id) AS 
name
+   FROM operation_analytique
+   JOIN poste_analytique po USING (po_id)
+   JOIN jrnx USING (j_id)'|| sResult ||'
+  GROUP BY po.po_id, po.po_name, po.pa_id, jrnx.f_id, jrnx.j_qcode, ( SELECT 
fiche_detail.ad_value
+   FROM fiche_detail
+  WHERE fiche_detail.ad_id = 1 AND fiche_detail.f_id = jrnx.f_id), 
po.po_description
+ HAVING sum(
+CASE
+    WHEN operation_analytique.oa_debit = true THEN 
operation_analytique.oa_amount * (-1)::numeric
+    ELSE operation_analytique.oa_amount
+END) <> 0::numeric;'
+
+
+       loop
+       return next ret;
+end loop;
+end;
+$$;
+CREATE FUNCTION tmp_pcmn_alphanum_ins_upd() RETURNS trigger
+    LANGUAGE plpgsql
+    AS $$
+declare
+   r_record tmp_pcmn%ROWTYPE;
+begin
+r_record := NEW;
+r_record.pcm_val:=format_account(NEW.pcm_val);
+
+return r_record;
+end;
+$$;
 CREATE FUNCTION tmp_pcmn_ins() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$
 declare
    r_record tmp_pcmn%ROWTYPE;
 begin
-r_record=NEW;
-if  length(trim(r_record.pcm_type))=0 or r_record.pcm_type is NULL then 
+r_record := NEW;
+if  length(trim(r_record.pcm_type))=0 or r_record.pcm_type is NULL then
    r_record.pcm_type:=find_pcm_type(NEW.pcm_val);
    return r_record;
 end if;
 return NEW;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
+CREATE FUNCTION trg_profile_user_ins_upd() RETURNS trigger
+    LANGUAGE plpgsql
+    AS $$
+
+begin
+
+NEW.user_name := lower(NEW.user_name);
+return NEW;
+
+end;
+$$;
+CREATE FUNCTION trg_todo_list_ins_upd() RETURNS trigger
+    LANGUAGE plpgsql
+    AS $$
+
+begin
+
+NEW.use_login:= lower(NEW.use_login);
+return NEW;
+
+end;
+$$;
+CREATE FUNCTION trg_todo_list_shared_ins_upd() RETURNS trigger
+    LANGUAGE plpgsql
+    AS $$
+
+begin
+
+NEW.use_login:= lower(NEW.use_login);
+return NEW;
+
+end;
+$$;
+CREATE FUNCTION trg_user_sec_act_ins_upd() RETURNS trigger
+    LANGUAGE plpgsql
+    AS $$
+
+begin
+
+NEW.ua_login:= lower(NEW.ua_login);
+return NEW;
+
+end;
+$$;
+CREATE FUNCTION trg_user_sec_jrn_ins_upd() RETURNS trigger
+    LANGUAGE plpgsql
+    AS $$
+
+begin
+
+NEW.uj_login:= lower(NEW.uj_login);
+return NEW;
+
+end;
+$$;
 CREATE FUNCTION trim_cvs_quote() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$
 declare
         modified import_tmp%ROWTYPE;
@@ -1005,9 +1823,9 @@ begin
         modified.num_compte=replace(NEW.NUM_COMPTE,'"','');
         return modified;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
 CREATE FUNCTION trim_space_format_csv_banque() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$
 declare
         modified format_csv_banque%ROWTYPE;
@@ -1023,9 +1841,9 @@ begin
 
         return modified;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
 CREATE FUNCTION tva_delete(integer) RETURNS void
+    LANGUAGE plpgsql
     AS $_$ 
 declare
        p_tva_id alias for $1;
@@ -1046,9 +1864,12 @@ begin
 delete from tva_rate where tva_id=p_tva_id;
        return;
 end;
-$_$
-    LANGUAGE plpgsql;
-CREATE FUNCTION tva_insert(text, numeric, text, text) RETURNS integer
+$_$;
+
+
+
+CREATE FUNCTION tva_insert(text, numeric, text, text, integer) RETURNS integer
+    LANGUAGE plpgsql
     AS $_$
 declare
        l_tva_id integer;
@@ -1056,6 +1877,7 @@ declare
        p_tva_rate alias for $2;
        p_tva_comment alias for $3;
        p_tva_poste alias for $4;
+       p_tva_both_side alias for $5;
        debit text;
        credit text;
        nCount integer;
@@ -1075,13 +1897,16 @@ if length(trim(p_tva_poste)) != 0 then
 
 end if;
 select into l_tva_id nextval('s_tva') ;
-insert into tva_rate(tva_id,tva_label,tva_rate,tva_comment,tva_poste)
-       values (l_tva_id,p_tva_label,p_tva_rate,p_tva_comment,p_tva_poste);
+insert into 
tva_rate(tva_id,tva_label,tva_rate,tva_comment,tva_poste,tva_both_side)
+       values 
(l_tva_id,p_tva_label,p_tva_rate,p_tva_comment,p_tva_poste,p_tva_both_side);
 return 0;
 end;
-$_$
-    LANGUAGE plpgsql;
-CREATE FUNCTION tva_modify(integer, text, numeric, text, text) RETURNS integer
+$_$;
+
+
+
+CREATE FUNCTION tva_modify(integer, text, numeric, text, text, integer) 
RETURNS integer
+    LANGUAGE plpgsql
     AS $_$
 declare
        p_tva_id alias for $1;
@@ -1089,6 +1914,7 @@ declare
        p_tva_rate alias for $3;
        p_tva_comment alias for $4;
        p_tva_poste alias for $5;
+       p_tva_both_side alias for $6;
        debit text;
        credit text;
        nCount integer;
@@ -1107,68 +1933,84 @@ if length(trim(p_tva_poste)) != 0 then
        if nCount = 0 then return 4; end if;
 
 end if;
-update tva_rate set 
tva_label=p_tva_label,tva_rate=p_tva_rate,tva_comment=p_tva_comment,tva_poste=p_tva_poste
+update tva_rate set 
tva_label=p_tva_label,tva_rate=p_tva_rate,tva_comment=p_tva_comment,tva_poste=p_tva_poste,tva_both_side=p_tva_both_side
        where tva_id=p_tva_id;
 return 0;
 end;
-$_$
-    LANGUAGE plpgsql;
+$_$;
+
+
+
 CREATE FUNCTION update_quick_code(njft_id integer, tav_text text) RETURNS 
integer
-    AS $$
+    LANGUAGE plpgsql
+    AS $_$
        declare
        ns integer;
        nExist integer;
        tText text;
+       tBase text;
        old_qcode varchar;
+       num_rows_jrnx integer;
+       num_rows_predef integer;
        begin
        -- get current value
-       select av_text into old_qcode from attr_value where jft_id=njft_id;
+       select ad_value into old_qcode from fiche_detail where jft_id=njft_id;
        -- av_text didn't change so no update
        if tav_text = upper( trim(old_qcode)) then
+               raise notice 'nothing to change % %' , tav_text,old_qcode;
                return 0;
        end if;
-       
-       tText := trim(upper(tav_text));
+
+       tText := trim(lower(tav_text));
        tText := replace(tText,' ','');
+        -- valid alpha is [ . : - _ ]
+       tText := translate(tText,E' $€µ£%+/\\!(){}(),;&|"#''^<>*','');
+       tText := translate(tText,E'éèêëàâäïîüûùöôç','eeeeaaaiiuuuooc');
+       tText := upper(tText);
        if length ( tText) = 0 or tText is null then
                return 0;
        end if;
-               
-       ns := njft_id;
 
+       ns := njft_id;
+       tBase := tText;
        loop
                -- av_text already used ?
-               select count(*) into nExist 
-                       from jnt_fic_att_value join attr_value using (jft_id) 
-               where 
-                       ad_id=23 and av_text=tText;
+               select count(*) into nExist
+                       from fiche_detail
+               where
+                       ad_id=23 and ad_value=tText
+                       and jft_id <> njft_id;
 
                if nExist = 0 then
                        exit;
-               end if; 
-               if tText = 'FID'||ns then
+               end if;
+               if tText = tBase||ns then
                        -- take the next sequence
                        select nextval('s_jnt_fic_att_value') into ns;
                end if;
-               tText  :='FID'||ns;
-               
+               tText  :=tBase||ns;
+
        end loop;
-       update attr_value set av_text = tText where jft_id=njft_id;
+       update fiche_detail set ad_value = tText where jft_id=njft_id;
 
        -- update also the contact
-       update attr_value set av_text = tText 
-               where jft_id in 
-                       ( select jft_id 
-                               from jnt_fic_att_value join attr_value using 
(jft_id) 
-                       where ad_id=25 and av_text=old_qcode);
+       update fiche_detail set ad_value = tText
+               where jft_id in
+                       ( select jft_id
+                               from fiche_detail
+                       where ad_id=25 and ad_value=old_qcode);
 
 
-       update jrnx set j_qcode=tText where j_qcode = old_qcode;
        return ns;
        end;
-$$
-    LANGUAGE plpgsql;
+$_$;
+
+
+SET search_path = public, pg_catalog;
+
+
 CREATE FUNCTION bud_card_ins_upd() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$declare
  sCode text;
 begin
@@ -1178,9 +2020,9 @@ sCode:=replace(sCode,' ','_');
 sCode:=substr(sCode,1,10);
 NEW.bc_code:=sCode;
 return NEW;
-end;$$
-    LANGUAGE plpgsql;
+end;$$;
 CREATE FUNCTION bud_detail_ins_upd() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$declare
 mline bud_detail%ROWTYPE;
 begin
@@ -1189,5 +2031,183 @@ if mline.po_id = -1 then
    mline.po_id:=NULL;
 end if;
 return mline;
-end;$$
-    LANGUAGE plpgsql;
+end;$$;
+CREATE FUNCTION correct_quant_purchase() RETURNS void
+    LANGUAGE plpgsql
+    AS $$
+declare
+       r_invalid quant_purchase;
+       s_QuickCode text;
+       b_j_debit bool;
+       r_new record;
+       r_jrnx record;
+begin
+
+for r_invalid in select * from quant_purchase where qp_valid='A'
+loop
+
+select j_qcode into s_QuickCode from vw_poste_qcode where 
f_id=r_invalid.qp_fiche;
+raise notice 'qp_id % Quick code is %',r_invalid.qp_id,s_QuickCode;
+
+select j_debit,j_grpt,j_jrn_def,j_montant into r_jrnx from jrnx where 
j_id=r_invalid.j_id;
+if NOT FOUND then
+       raise notice 'error not found jrnx %',r_invalid.j_id;
+       update quant_purchase set qp_valid='Y' where qp_id=r_invalid.qp_id;
+       continue;
+end if;
+raise notice 'j_debit % , j_grpt % ,j_jrn_def  % qp_price 
%',r_jrnx.j_debit,r_jrnx.j_grpt,r_jrnx.j_jrn_def ,r_invalid.qp_price;
+
+select jr_internal,j_id,j_montant into r_new
+       from jrnx join jrn on (j_grpt=jr_grpt_id)
+       where 
+       j_jrn_def=r_jrnx.j_jrn_def
+       and j_id not in (select j_id from  quant_purchase)
+       and j_qcode=s_QuickCode
+       and j_montant=r_jrnx.j_montant
+       and j_debit != r_jrnx.j_debit;
+
+if NOT FOUND then
+       raise notice 'error not found %', r_invalid.j_id;
+       update quant_purchase set qp_valid='Y' where qp_id=r_invalid.qp_id;
+       continue;     
+end if;
+raise notice 'j_id % found amount %',r_new.j_id,r_new.j_montant;
+
+insert into quant_purchase 
(qp_internal,j_id,qp_fiche,qp_quantite,qp_price,qp_vat,qp_nd_amount,qp_nd_tva_recup,qp_valid,qp_dep_priv,qp_supplier,qp_vat_code)
+values 
(r_new.jr_internal,r_invalid.j_id,r_invalid.qp_fiche,(r_invalid.qp_quantite * 
(-1)),r_invalid.qp_price * 
(-1),r_invalid.qp_vat*(-1),r_invalid.qp_nd_amount*(-1),r_invalid.qp_nd_tva_recup*(-1)
 ,'Y',r_invalid.qp_dep_priv*(-1),r_invalid.qp_supplier,r_invalid.qp_vat_code);
+
+update quant_purchase set qp_valid='Y' where qp_id=r_invalid.qp_id;
+end loop;
+return;
+end;
+$$;
+CREATE FUNCTION correct_quant_sale() RETURNS void
+    LANGUAGE plpgsql
+    AS $$
+declare
+       r_invalid quant_sold;
+       s_QuickCode text;
+       b_j_debit bool;
+       r_new record;
+       r_jrnx record;
+begin
+
+for r_invalid in select * from quant_sold where qs_valid='A'
+loop
+
+select j_qcode into s_QuickCode from vw_poste_qcode where 
f_id=r_invalid.qs_fiche;
+raise notice 'qp_id % Quick code is %',r_invalid.qs_id,s_QuickCode;
+
+select j_debit,j_grpt,j_jrn_def,j_montant into r_jrnx from jrnx where 
j_id=r_invalid.j_id;
+if NOT FOUND then
+       update quant_sold set qs_valid='Y' where qs_id=r_invalid.qs_id;
+       raise notice 'error not found jrnx %',r_invalid.j_id;
+       continue;
+end if;
+raise notice 'j_debit % , j_grpt % ,j_jrn_def  % qs_price 
%',r_jrnx.j_debit,r_jrnx.j_grpt,r_jrnx.j_jrn_def ,r_invalid.qs_price;
+
+select jr_internal,j_id,j_montant into r_new
+       from jrnx join jrn on (j_grpt=jr_grpt_id)
+       where 
+       j_jrn_def=r_jrnx.j_jrn_def
+       and j_id not in (select j_id from  quant_sold)
+       and j_qcode=s_QuickCode
+       and j_montant=r_jrnx.j_montant
+       and j_debit != r_jrnx.j_debit;
+
+if NOT FOUND then
+   update quant_sold set qs_valid='Y' where qs_id=r_invalid.qs_id;
+       raise notice 'error not found %', r_invalid.j_id;
+       continue;
+end if;
+raise notice 'j_id % found amount %',r_new.j_id,r_new.j_montant;
+
+
+ insert into quant_sold 
(qs_internal,j_id,qs_fiche,qs_quantite,qs_price,qs_vat,qs_valid,qs_client,qs_vat_code)
+ values 
(r_new.jr_internal,r_invalid.j_id,r_invalid.qs_fiche,(r_invalid.qs_quantite * 
(-1)),r_invalid.qs_price * 
(-1),r_invalid.qs_vat*(-1),'Y',r_invalid.qs_client,r_invalid.qs_vat_code);
+ update quant_sold set qs_valid='Y' where qs_id=r_invalid.qs_id;
+end loop;
+return;
+end;
+$$;
+CREATE FUNCTION modify_menu_system(n_profile numeric) RETURNS void
+    LANGUAGE plpgsql
+    AS $$
+declare 
+r_duplicate profile_menu%ROWTYPE;
+str_duplicate text;
+n_lowest_id numeric; -- lowest pm_id : update the dependency in profile_menu
+n_highest_id numeric; -- highest pm_id insert into profile_menu
+
+begin
+
+for str_duplicate in   
+       select me_code 
+       from profile_menu 
+       where 
+       p_id=n_profile and 
+       p_type_display <> 'P' and
+       pm_id_dep is null
+       group by me_code 
+       having count(*) > 1 
+loop
+       raise info 'str_duplicate %',str_duplicate;
+       for r_duplicate in select * 
+               from profile_menu 
+               where 
+               p_id=n_profile and
+               me_code_dep=str_duplicate
+       loop
+               raise info 'r_duplicate %',r_duplicate;
+               -- get the lowest 
+               select a.pm_id into n_lowest_id from profile_menu a join 
profile_menu b on (a.me_code=b.me_code and a.p_id = b.p_id)
+               where
+               a.me_code=str_duplicate
+               and a.p_id=n_profile
+               and a.pm_id < b.pm_id;
+               raise info 'lowest is %',n_lowest_id;
+               -- get the highest
+               select a.pm_id into n_highest_id from profile_menu a join 
profile_menu b on (a.me_code=b.me_code and a.p_id = b.p_id)
+               where
+               a.me_code=str_duplicate
+               and a.p_id=n_profile
+               and a.pm_id > b.pm_id;
+               raise info 'highest is %',n_highest_id;
+
+               -- update the first one
+               update profile_menu set pm_id_dep = n_lowest_id where 
pm_id=r_duplicate.pm_id;
+               -- insert a new one
+               insert into profile_menu (me_code,
+                       me_code_dep,
+                       p_id,
+                       p_order,
+                       p_type_display,
+                       pm_default,
+                       pm_id_dep)
+               values (r_duplicate.me_code,
+                       r_duplicate.me_code_dep,
+                       r_duplicate.p_id,
+                       r_duplicate.p_order,
+                       r_duplicate.p_type_display,
+                       r_duplicate.pm_default,
+                       n_highest_id);
+               
+       end loop;       
+
+end loop;      
+end;
+$$;
+CREATE FUNCTION upgrade_repo(p_version integer) RETURNS void
+    LANGUAGE plpgsql
+    AS $$
+declare 
+        is_mono integer;
+begin
+        select count (*) into is_mono from information_schema.tables where 
table_name='repo_version';
+        if is_mono = 1 then
+                update repo_version set val=p_version;
+        else
+                update version set val=p_version;
+        end if;
+end;
+$$;
diff --git a/include/sql/mod1/index.sql b/include/sql/mod1/index.sql
index 5f94a96..92fbbfa 100644
--- a/include/sql/mod1/index.sql
+++ b/include/sql/mod1/index.sql
@@ -1,12 +1,30 @@
-CREATE UNIQUE INDEX attr_value_jft_id ON attr_value USING btree (jft_id);
 CREATE UNIQUE INDEX fd_id_ad_id_x ON jnt_fic_attr USING btree (fd_id, ad_id);
+CREATE UNIQUE INDEX fiche_detail_f_id_ad_id ON fiche_detail USING btree (f_id, 
ad_id);
+CREATE INDEX fk_action_person_action_gestion ON action_person USING btree 
(ag_id);
+CREATE INDEX fk_action_person_fiche ON action_person USING btree (f_id);
+CREATE INDEX fk_stock_good_repository_r_id ON stock_goods USING btree (r_id);
 CREATE INDEX fk_stock_goods_f_id ON stock_goods USING btree (f_id);
 CREATE INDEX fk_stock_goods_j_id ON stock_goods USING btree (j_id);
-CREATE UNIQUE INDEX idx_case ON format_csv_banque USING btree (upper(name));
+CREATE INDEX fki_f_end_date ON forecast USING btree (f_end_date);
+CREATE INDEX fki_f_start_date ON forecast USING btree (f_start_date);
+CREATE INDEX fki_jrn_jr_grpt_id ON jrn USING btree (jr_grpt_id);
+CREATE INDEX fki_jrnx_f_id ON jrnx USING btree (f_id);
+CREATE INDEX fki_jrnx_j_grpt ON jrnx USING btree (j_grpt);
+CREATE INDEX fki_profile_menu_me_code ON profile_menu USING btree (me_code);
+CREATE INDEX fki_profile_menu_profile ON profile_menu USING btree (p_id);
+CREATE INDEX fki_profile_menu_type_fkey ON profile_menu USING btree 
(p_type_display);
 CREATE INDEX idx_qs_internal ON quant_sold USING btree (qs_internal);
-CREATE INDEX jnt_fic_att_value_fd_id_idx ON jnt_fic_att_value USING btree 
(f_id);
+CREATE INDEX jnt_fic_att_value_fd_id_idx ON fiche_detail USING btree (f_id);
 CREATE INDEX jnt_fic_attr_fd_id_idx ON jnt_fic_attr USING btree (fd_id);
+CREATE INDEX jrnx_j_qcode_ix ON jrnx USING btree (j_qcode);
 CREATE UNIQUE INDEX k_ag_ref ON action_gestion USING btree (ag_ref);
+CREATE INDEX link_action_type_fki ON action_gestion_related USING btree 
(aga_type);
+CREATE UNIQUE INDEX qcode_idx ON fiche_detail USING btree (ad_value) WHERE 
(ad_id = 23);
+CREATE UNIQUE INDEX qf_jr_id ON quant_fin USING btree (jr_id);
+CREATE UNIQUE INDEX qp_j_id ON quant_purchase USING btree (j_id);
+CREATE UNIQUE INDEX qs_j_id ON quant_sold USING btree (j_id);
+CREATE INDEX quant_purchase_jrn_fki ON quant_purchase USING btree 
(qp_internal);
+CREATE INDEX quant_sold_jrn_fki ON quant_sold USING btree (qs_internal);
 CREATE UNIQUE INDEX uj_login_uj_jrn_id ON user_sec_jrn USING btree (uj_login, 
uj_jrn_id);
 CREATE UNIQUE INDEX ux_po_name ON poste_analytique USING btree (po_name);
 CREATE UNIQUE INDEX x_jrn_jr_id ON jrn USING btree (jr_id);
diff --git a/include/sql/mod1/make-sql b/include/sql/mod1/make-sql
index 9863b8f..cae0c11 100755
--- a/include/sql/mod1/make-sql
+++ b/include/sql/mod1/make-sql
@@ -1,5 +1,5 @@
-pg_dump -O -U phpcompta -s ${DOMAIN}mod1|grep -v "COMMENT ON SCHEMA public IS 
'Standard public schema';" |sed "/^--/d" > schema.sql
-awk '/SEQUENCE/,/;/ { print $0;}' < schema.sql > sequence.sql
+pg_dump -O -U dany -s ${DOMAIN}mod1|grep -v "COMMENT ON SCHEMA public IS 
'Standard public schema';" |sed "/^--/d" > schema.sql
+awk '/SEQUENCE/,/;/  { print $0;}' < schema.sql > sequence.sql
 awk '/CREATE DOMAIN/,/;/ { print $0;}' < schema.sql > table.sql
 awk '/CREATE TABLE/,/;/ { print $0;}' < schema.sql >> table.sql
 awk '/CREATE VIEW/,/;/ { print $0;}' < schema.sql > view.sql
@@ -13,11 +13,14 @@ echo "SET search_path = public, pg_catalog;"
 
 
 awk '/ALTER TABLE/,/;/ { print $0;}' < schema.sql >> constraint.sql
-awk '/CREATE FUNCTION/,/LANGUAGE/ { print $0;}' < schema.sql > function.sql
+
+# function in XML
+## awk 'BEGIN{print "<PROCEDURES>";} /CREATE FUNCTION/,/\$\$;/ { if (/CREATE 
FUNCTION/) {print "<procedure>";} if (/\$\$;/) {print "</procedure>";} print 
$0;} END { print "</PROCEDURES>";}' < schema.sql 
+awk '/CREATE FUNCTION/,/\$\$;/ { print $0;}' < schema.sql > function.sql
 awk '/COMMENT/,/;/ {print $0;}' < schema.sql > comment.sql
 
 sed -i -e "/ALTER TABLE.*/d" -e "/ADD CONSTRAINT/d" -e "/CREATE PROCEDURAL/d" 
schema.sql
 
 grep setval schema.sql >> sequence.sql
-pg_dump -O -U phpcompta -D -a -O ${DOMAIN}mod1 |sed "/^--/d" > data.sql
+pg_dump -O -U dany --data-only --column-inserts  -O ${DOMAIN}mod1 |sed 
"/^--/d" > data.sql
 
diff --git a/include/sql/mod1/schema.sql b/include/sql/mod1/schema.sql
index b0f4bf0..a8f2b74 100644
--- a/include/sql/mod1/schema.sql
+++ b/include/sql/mod1/schema.sql
@@ -1,15 +1,20 @@
 
+SET statement_timeout = 0;
 SET client_encoding = 'UTF8';
-SET standard_conforming_strings = off;
+SET standard_conforming_strings = on;
 SET check_function_bodies = false;
 SET client_min_messages = warning;
-SET escape_string_warning = off;
 
 
 CREATE SCHEMA comptaproc;
 
 
 
+CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog;
+
+
+
+COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';
 
 
 SET search_path = public, pg_catalog;
@@ -18,29 +23,81 @@ SET search_path = public, pg_catalog;
 CREATE DOMAIN account_type AS character varying(40);
 
 
+
+CREATE TYPE anc_table_account_type AS (
+       po_id bigint,
+       pa_id bigint,
+       po_name text,
+       po_description text,
+       sum_amount numeric(25,4),
+       card_account text,
+       name text
+);
+
+
+
+CREATE TYPE anc_table_card_type AS (
+       po_id bigint,
+       pa_id bigint,
+       po_name text,
+       po_description text,
+       sum_amount numeric(25,4),
+       f_id bigint,
+       card_account text,
+       name text
+);
+
+
+
+CREATE TYPE menu_tree AS (
+       code text,
+       description text
+);
+
+
 SET search_path = comptaproc, pg_catalog;
 
 
-CREATE FUNCTION account_add(p_id public.account_type, p_name character 
varying) RETURNS void
+CREATE FUNCTION account_add(p_id public.account_type, p_name character 
varying) RETURNS text
+    LANGUAGE plpgsql
     AS $$
 declare
        nParent tmp_pcmn.pcm_val_parent%type;
        nCount integer;
+       sReturn text;
 begin
-       select count(*) into nCount from tmp_pcmn where pcm_val=p_id;
+       sReturn:= format_account(p_id);
+       select count(*) into nCount from tmp_pcmn where pcm_val=sReturn;
        if nCount = 0 then
                nParent=account_parent(p_id);
                insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent)
-                       values (p_id, p_name,nParent);
+                       values (p_id, p_name,nParent) returning pcm_val into 
sReturn;
        end if;
-return;
+return sReturn;
 end ;
-$$
-    LANGUAGE plpgsql;
+$$;
+
+
+
+CREATE FUNCTION account_alphanum() RETURNS boolean
+    LANGUAGE plpgsql
+    AS $$
+declare
+       l_auto bool;
+begin
+       l_auto := true;
+       select pr_value into l_auto from parameter where pr_id='MY_ALPHANUM';
+       if l_auto = 'N' or l_auto is null then
+               l_auto:=false;
+       end if;
+       return l_auto;
+end;
+$$;
 
 
 
 CREATE FUNCTION account_auto(p_fd_id integer) RETURNS boolean
+    LANGUAGE plpgsql
     AS $$
 declare
        l_auto bool;
@@ -52,17 +109,19 @@ begin
        end if;
        return l_auto;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
 
 
 
 CREATE FUNCTION account_compute(p_f_id integer) RETURNS public.account_type
+    LANGUAGE plpgsql
     AS $$
 declare
        class_base fiche_def.fd_class_base%type;
        maxcode numeric;
-       sResult account_type;
+       sResult text;
+       bAlphanum bool;
+       sName text;
 begin
        select fd_class_base into class_base
        from
@@ -70,59 +129,76 @@ begin
        where
                f_id=p_f_id;
        raise notice 'account_compute class base %',class_base;
-       select count (pcm_val) into maxcode from tmp_pcmn where pcm_val_parent 
= class_base;
-       if maxcode = 0  then
-               maxcode:=class_base::numeric;
+       bAlphanum := account_alphanum();
+       if bAlphanum = false  then
+       raise info 'account_compute : Alphanum is false';
+               select count (pcm_val) into maxcode from tmp_pcmn where 
pcm_val_parent = class_base;
+               if maxcode = 0  then
+                       maxcode:=class_base::numeric;
+               else
+                       select max (pcm_val) into maxcode from tmp_pcmn where 
pcm_val_parent = class_base;
+                       maxcode:=maxcode::numeric;
+               end if;
+               if maxcode::text = class_base then
+                       maxcode:=class_base::numeric*1000;
+               end if;
+               maxcode:=maxcode+1;
+               raise notice 'account_compute Max code %',maxcode;
+               sResult:=maxcode::account_type;
        else
-               select max (pcm_val) into maxcode from tmp_pcmn where 
pcm_val_parent = class_base;
-               maxcode:=maxcode::numeric;
-       end if;
-       if maxcode::text = class_base then
-               maxcode:=class_base::numeric*1000;
+       raise info 'account_compute : Alphanum is true';
+               -- if alphanum, use name
+               select ad_value into sName from fiche_detail where f_id=p_f_id 
and ad_id=1;
+               raise info 'name is %',sName;
+               if sName is null then
+                       raise exception 'Cannot compute an accounting without 
the name of the card for %',p_f_id;
+               end if;
+               sResult := class_base||sName;
+               sResult := substr(sResult,1,40);
+               raise info 'Result is %',sResult;
        end if;
-       maxcode:=maxcode+1;
-       raise notice 'account_compute Max code %',maxcode;
-       sResult:=maxcode::account_type;
-       return sResult;
+       return sResult::account_type;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
 
 
 
-CREATE FUNCTION account_insert(p_f_id integer, p_account text) RETURNS integer
-    AS $_$
+CREATE FUNCTION account_insert(p_f_id integer, p_account text) RETURNS text
+    LANGUAGE plpgsql
+    AS $$
 declare
        nParent tmp_pcmn.pcm_val_parent%type;
        sName varchar;
-       nNew tmp_pcmn.pcm_val%type;
+       sNew tmp_pcmn.pcm_val%type;
        bAuto bool;
        nFd_id integer;
        sClass_Base fiche_def.fd_class_base%TYPE;
        nCount integer;
        first text;
        second text;
+       s_account text;
 begin
 
-       if length(trim(p_account)) != 0 then
+       if p_account is not null and length(trim(p_account)) != 0 then
        -- if there is coma in p_account, treat normally
                if position (',' in p_account) = 0 then
                        raise info 'p_account is not empty';
-                               select count(*)  into nCount from tmp_pcmn 
where pcm_val=p_account::account_type;
+                               s_account := substr( p_account,1 , 40);
+                               select count(*)  into nCount from tmp_pcmn 
where pcm_val=s_account::account_type;
                                raise notice 'found in tmp_pcm %',nCount;
                                if nCount !=0  then
                                        raise info 'this account exists in 
tmp_pcmn ';
-                                       perform 
attribut_insert(p_f_id,5,p_account);
+                                       perform 
attribut_insert(p_f_id,5,s_account);
                                   else
                                       -- account doesn't exist, create it
-                                       select av_text into sName from
-                                               attr_value join 
jnt_fic_att_value using (jft_id)
+                                       select ad_value into sName from
+                                               fiche_detail
                                        where
                                        ad_id=1 and f_id=p_f_id;
 
-                                       
nParent:=account_parent(p_account::account_type);
-                                       insert into 
tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) values 
(p_account::account_type,sName,nParent);
-                                       perform 
attribut_insert(p_f_id,5,p_account);
+                                       
nParent:=account_parent(s_account::account_type);
+                                       insert into 
tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) values 
(s_account::account_type,sName,nParent);
+                                       perform 
attribut_insert(p_f_id,5,s_account);
 
                                end if;
                else
@@ -139,44 +215,44 @@ begin
                perform attribut_insert(p_f_id,5,p_account);
                end if;
        else
-       raise info 'p_account is  empty';
+       raise info 'A000 : p_account is  empty';
                select fd_id into nFd_id from fiche where f_id=p_f_id;
                bAuto:= account_auto(nFd_id);
 
                select fd_class_base into sClass_base from fiche_def where 
fd_id=nFd_id;
 raise info 'sClass_Base : %',sClass_base;
-               if bAuto = true and sClass_base similar to '^[[:digit:]]*$'  
then
+               if bAuto = true and sClass_base similar to '[[:digit:]]*'  then
                        raise info 'account generated automatically';
-                       nNew:=account_compute(p_f_id);
-                       raise info 'nNew %', nNew;
-                       select av_text into sName from
-                               attr_value join jnt_fic_att_value using (jft_id)
+                       sNew:=account_compute(p_f_id);
+                       raise info 'sNew %', sNew;
+                       select ad_value into sName from
+                               fiche_detail
                        where
                                ad_id=1 and f_id=p_f_id;
-                               nParent:=account_parent(nNew);
-                       perform account_add  (nNew,sName);
-                       perform attribut_insert(p_f_id,5,nNew);
+                       nParent:=account_parent(sNew);
+                       sNew := account_add  (sNew,sName);
+                       perform attribut_insert(p_f_id,5,sNew);
 
                else
                -- if there is an account_base then it is the default
-                     select fd_class_base::account_type into nNew from 
fiche_def join fiche using (fd_id) where f_id=p_f_id;
-                       if nNew is null or length(trim(nNew)) = 0 then
+                     select fd_class_base::account_type into sNew from 
fiche_def join fiche using (fd_id) where f_id=p_f_id;
+                       if sNew is null or length(trim(sNew)) = 0 then
                                raise notice 'count is null';
                                 perform attribut_insert(p_f_id,5,null);
                        else
-                                perform attribut_insert(p_f_id,5,nNew);
+                                perform attribut_insert(p_f_id,5,sNew);
                        end if;
                end if;
        end if;
 
 return 0;
 end;
-$_$
-    LANGUAGE plpgsql;
+$$;
 
 
 
 CREATE FUNCTION account_parent(p_account public.account_type) RETURNS 
public.account_type
+    LANGUAGE plpgsql
     AS $$
 declare
        sSubParent tmp_pcmn.pcm_val_parent%type;
@@ -205,34 +281,34 @@ begin
        raise notice 'account_parent : Parent is %',sSubParent;
        return sSubParent;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
 
 
 
 CREATE FUNCTION account_update(p_f_id integer, p_account public.account_type) 
RETURNS integer
+    LANGUAGE plpgsql
     AS $$
 declare
        nMax fiche.f_id%type;
        nCount integer;
        nParent tmp_pcmn.pcm_val_parent%type;
        sName varchar;
-       nJft_id attr_value.jft_id%type;
        first text;
        second text;
 begin
 
        if length(trim(p_account)) != 0 then
+               -- 2 accounts in card separated by comma
                if position (',' in p_account) = 0 then
                        select count(*) into nCount from tmp_pcmn where 
pcm_val=p_account;
                        if nCount = 0 then
-                       select av_text into sName from
-                               attr_value join jnt_fic_att_value using (jft_id)
+                       select ad_value into sName from
+                               fiche_detail
                                where
                                ad_id=1 and f_id=p_f_id;
                        nParent:=account_parent(p_account);
                        insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) 
values (p_account,sName,nParent);
-                       end if;
+               end if;
                else
                raise info 'presence of a comma';
                -- there is 2 accounts separated by a comma
@@ -244,75 +320,73 @@ begin
                if  position (',' in first) != 0 or position (',' in second) != 
0 then
                        raise exception 'Too many comas, invalid account';
                end if;
+               -- check that both account are in PCMN
+
                end if;
+       else
+               -- account is null
+               update fiche_detail set ad_value=null where f_id=p_f_id and 
ad_id=5 ;
        end if;
-       select jft_id into njft_id from jnt_fic_att_value where f_id=p_f_id and 
ad_id=5;
-       update attr_value set av_text=p_account where jft_id=njft_id;
 
-return njft_id;
+       update fiche_detail set ad_value=p_account where f_id=p_f_id and 
ad_id=5 ;
+
+return 0;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
 
 
 
 CREATE FUNCTION action_gestion_ins_upd() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$
 begin
 NEW.ag_title := substr(trim(NEW.ag_title),1,70);
 NEW.ag_hour := substr(trim(NEW.ag_hour),1,5);
+NEW.ag_owner := lower(NEW.ag_owner);
 return NEW;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
 
 
 
-CREATE FUNCTION action_get_tree(p_id bigint) RETURNS SETOF bigint
+CREATE FUNCTION action_gestion_related_ins_up() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$
-
 declare
-   e bigint;
-   i bigint;
+       nTmp bigint;
 begin
-   for e in select ag_id from action_gestion where ag_ref_ag_id=p_id
-   loop
-       if e = 0 then 
-               return;
-       end if;
-       return next e;
-       for i in select ag_id from action_gestion where ag_ref_ag_id=e
-       loop
-       if i = 0 then 
-               return;
-       end if;
-               return next i;
-       end loop;
-   end loop;
-   return;
+
+if NEW.aga_least > NEW.aga_greatest then
+       nTmp := NEW.aga_least;
+       NEW.aga_least := NEW.aga_greatest;
+       NEW.aga_greatest := nTmp;
+end if;
+
+if NEW.aga_least = NEW.aga_greatest then
+       return NULL;
+end if;
+
+return NEW;
 
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
 
 
 
 CREATE FUNCTION attribut_insert(p_f_id integer, p_ad_id integer, p_value 
character varying) RETURNS void
+    LANGUAGE plpgsql
     AS $$
-declare 
-       n_jft_id integer;
 begin
-       select nextval('s_jnt_fic_att_value') into n_jft_id;
-        insert into jnt_fic_att_value (jft_id,f_id,ad_id) values 
(n_jft_id,p_f_id,p_ad_id);
-        insert into attr_value (jft_id,av_text) values 
(n_jft_id,trim(p_value));
+       insert into fiche_detail (f_id,ad_id, ad_value) values 
(p_f_id,p_ad_id,p_value);
+       
 return;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
 
 
 
 CREATE FUNCTION attribute_correct_order() RETURNS void
+    LANGUAGE plpgsql
     AS $$
 declare
     crs_correct cursor for select A.jnt_id,A.jnt_order from jnt_fic_attr as A 
join jnt_fic_attr as B using (fd_id) where A.jnt_order=B.jnt_order and A.jnt_id 
> B.jnt_id;
@@ -330,12 +404,26 @@ begin
        close crs_correct;
        perform attribute_correct_order ();
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
+
+
+
+CREATE FUNCTION card_after_delete() RETURNS trigger
+    LANGUAGE plpgsql
+    AS $$
+
+begin
+
+       delete from action_gestion where f_id_dest = OLD.f_id;
+       return OLD;
+
+end;
+$$;
 
 
 
 CREATE FUNCTION card_class_base(p_f_id integer) RETURNS text
+    LANGUAGE plpgsql
     AS $$
 declare
        n_poste fiche_def.fd_class_base%type;
@@ -349,36 +437,51 @@ begin
        end if;
 return n_poste;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
+
+
+
+CREATE FUNCTION category_card_before_delete() RETURNS trigger
+    LANGUAGE plpgsql
+    AS $$
+
+begin
+    if OLD.fd_id > 499000 then
+        return null;
+    end if;
+    return OLD;
+
+end;
+$$;
 
 
 
 CREATE FUNCTION check_balance(p_grpt integer) RETURNS numeric
+    LANGUAGE plpgsql
     AS $$
-declare 
+declare
        amount_jrnx_debit numeric;
        amount_jrnx_credit numeric;
        amount_jrn numeric;
 begin
-       select sum (j_montant) into amount_jrnx_credit 
-       from jrnx 
-               where 
+       select coalesce(sum (j_montant),0) into amount_jrnx_credit
+       from jrnx
+               where
        j_grpt=p_grpt
        and j_debit=false;
 
-       select sum (j_montant) into amount_jrnx_debit 
-       from jrnx 
-               where 
+       select coalesce(sum (j_montant),0) into amount_jrnx_debit
+       from jrnx
+               where
        j_grpt=p_grpt
        and j_debit=true;
 
-       select jr_montant into amount_jrn 
+       select coalesce(jr_montant,0) into amount_jrn
        from jrn
        where
        jr_grpt_id=p_grpt;
 
-       if ( amount_jrnx_debit != amount_jrnx_credit ) 
+       if ( amount_jrnx_debit != amount_jrnx_credit )
                then
                return abs(amount_jrnx_debit-amount_jrnx_credit);
                end if;
@@ -388,12 +491,35 @@ begin
                end if;
        return 0;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
+
+
+
+CREATE FUNCTION check_periode() RETURNS trigger
+    LANGUAGE plpgsql
+    AS $$
+declare 
+  nPeriode int;
+begin
+if periode_exist(to_char(NEW.p_start,'DD.MM.YYYY'),NEW.p_id) <> -1 then
+       nPeriode:=periode_exist(to_char(NEW.p_start,'DD.MM.YYYY'),NEW.p_id) ;
+        raise info 'Overlap periode start % periode %',NEW.p_start,nPeriode;
+       return null;
+end if;
+
+if periode_exist(to_char(NEW.p_end,'DD.MM.YYYY'),NEW.p_id) <> -1 then
+       nPeriode:=periode_exist(to_char(NEW.p_start,'DD.MM.YYYY'),NEW.p_id) ;
+        raise info 'Overlap periode end % periode %',NEW.p_end,nPeriode;
+       return null;
+end if;
+return NEW;
+end;
+$$;
 
 
 
 CREATE FUNCTION correct_sequence(p_sequence text, p_col text, p_table text) 
RETURNS integer
+    LANGUAGE plpgsql
     AS $$
 declare
 last_sequence int8;
@@ -422,8 +548,7 @@ begin
 return 0;
 
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
 
 
 
@@ -432,6 +557,7 @@ COMMENT ON FUNCTION correct_sequence(p_sequence text, p_col 
text, p_table text)
 
 
 CREATE FUNCTION create_missing_sequence() RETURNS integer
+    LANGUAGE plpgsql
     AS $$
 declare
 p_sequence text;
@@ -452,12 +578,12 @@ close c1;
 return 0;
 
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
 
 
 
 CREATE FUNCTION drop_index(p_constraint character varying) RETURNS void
+    LANGUAGE plpgsql
     AS $$
 declare 
        nCount integer;
@@ -467,12 +593,12 @@ begin
        execute 'drop index '||p_constraint ;
        end if;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
 
 
 
 CREATE FUNCTION drop_it(p_constraint character varying) RETURNS void
+    LANGUAGE plpgsql
     AS $$
 declare 
        nCount integer;
@@ -482,12 +608,12 @@ begin
        execute 'alter table parm_periode drop constraint '||p_constraint ;
        end if;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
 
 
 
 CREATE FUNCTION extension_ins_upd() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$
 declare
  sCode text;
@@ -512,12 +638,12 @@ return NEW;
 
 end;
 
-$$
-    LANGUAGE plpgsql;
+$$;
 
 
 
 CREATE FUNCTION fiche_account_parent(p_f_id integer) RETURNS 
public.account_type
+    LANGUAGE plpgsql
     AS $$
 declare
 ret tmp_pcmn.pcm_val%TYPE;
@@ -528,19 +654,17 @@ begin
        end if;
        return ret;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
 
 
 
 CREATE FUNCTION fiche_attribut_synchro(p_fd_id integer) RETURNS void
+    LANGUAGE plpgsql
     AS $$
 declare
        -- this sql gives the f_id and the missing attribute (ad_id)
-       list_missing cursor for select f_id,fd_id,ad_id,jnt_order from 
jnt_fic_attr join fiche as A using (fd_id) where fd_id=p_fd_id and ad_id not in 
(select ad_id from fiche join jnt_fic_att_value using (f_id) where 
fd_id=jnt_fic_attr.fd_id and A.f_id=f_id);
+       list_missing cursor for select f_id,fd_id,ad_id,jnt_order from 
jnt_fic_attr join fiche as A using (fd_id) where fd_id=p_fd_id and ad_id not in 
(select ad_id from fiche join fiche_detail using (f_id) where 
fd_id=jnt_fic_attr.fd_id and A.f_id=f_id);
        rec record;
-       -- value of the last insert
-       jnt jnt_fic_att_value%ROWTYPE;
 begin
        open list_missing;
        loop
@@ -549,20 +673,18 @@ begin
        IF NOT FOUND then
                exit;
        end if;
-       -- insert a value into jnt_fic_att_value
-       insert  into jnt_fic_att_value (f_id,ad_id) values (rec.f_id,rec.ad_id) 
returning * into jnt;
-
+       
        -- now we insert into attr_value
-       insert into attr_value values (jnt.jft_id,'');
+       insert into fiche_detail (f_id,ad_id,ad_value) values 
(rec.f_id,rec.ad_id,null);
        end loop;
        close list_missing;
 end; 
-$$
-    LANGUAGE plpgsql;
+$$;
 
 
 
 CREATE FUNCTION fiche_def_ins_upd() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$
 begin
 
@@ -571,12 +693,196 @@ if position (',' in NEW.fd_class_base) != 0 then
 
 end if;
 return NEW;
-end;$$
-    LANGUAGE plpgsql;
+end;$$;
+
+
+
+CREATE FUNCTION fiche_detail_qcode_upd() RETURNS trigger
+    LANGUAGE plpgsql
+    AS $$
+declare
+       i record;
+begin
+       if NEW.ad_id=23 and NEW.ad_value != OLD.ad_value then
+               RAISE NOTICE 'new qcode [%] old qcode 
[%]',NEW.ad_value,OLD.ad_value;
+               update jrnx set j_qcode=NEW.ad_value where j_qcode = 
OLD.ad_value;    
+               update op_predef_detail set opd_poste=NEW.ad_value where 
opd_poste=OLD.ad_value;
+               raise notice 'TRG fiche_detail update op_predef_detail set 
opd_poste=% where opd_poste=%;',NEW.ad_value,OLD.ad_value;
+               for i in select ad_id from attr_def where ad_type = 'card' or 
ad_id=25 loop
+                       update fiche_detail set ad_value=NEW.ad_value where 
ad_value=OLD.ad_value and ad_id=i.ad_id;
+                       RAISE NOTICE 'change for ad_id [%] ',i.ad_id;
+                       if i.ad_id=19 then
+                               RAISE NOTICE 'Change in stock_goods OLD[%] by 
NEW[%]',OLD.ad_value,NEW.ad_value;
+                               update stock_goods set sg_code=NEW.ad_value 
where sg_code=OLD.ad_value;
+                       end if;
+
+               end loop;
+       end if;
+return NEW;
+end;
+$$;
+
+
+
+CREATE FUNCTION fill_quant_fin() RETURNS void
+    LANGUAGE plpgsql
+    AS $$
+declare
+   sBank text;
+   sCassa text;
+   sCustomer text;
+   sSupplier text;
+   rec record;
+   recBank record;
+   recSupp_Cust record;
+   nCount integer;
+   nAmount numeric;
+   nBank integer;
+   nOther integer;
+   nSupp_Cust integer;
+begin
+       select p_value into sBank from parm_code where p_code='BANQUE';
+       select p_value into sCassa from parm_code where p_code='CAISSE';
+       select p_value into sSupplier from parm_code where p_code='SUPPLIER';
+       select p_value into sCustomer from parm_code where p_code='CUSTOMER';
+       
+       for rec in select jr_id,jr_grpt_id from jrn 
+           where jr_def_id in (select jrn_def_id from jrn_def where 
jrn_def_type='FIN')
+               and jr_id not in (select jr_id from quant_fin)
+       loop
+               -- there are only 2 lines for bank operations
+               -- first debit
+               select count(j_id) into nCount from jrnx where 
j_grpt=rec.jr_grpt_id;
+               if nCount > 2 then 
+                       raise notice 'Trop de valeur pour jr_grpt_id % count 
%',rec.jr_grpt_id,nCount;
+                       return;
+               end if;
+               nBank := 0; nOther:=0;
+               for recBank in select  j_id, j_montant,j_debit,j_qcode,j_poste 
from jrnx where j_grpt=rec.jr_grpt_id
+               loop
+               if recBank.j_poste like sBank||'%' then
+                       -- retrieve f_id for bank
+                       select f_id into nBank from vw_poste_qcode where 
j_qcode=recBank.j_qcode;
+                       if recBank.j_debit = false then
+                               nAmount=recBank.j_montant*(-1);
+                       else 
+                               nAmount=recBank.j_montant;
+                       end if;
+               else
+                       select f_id into nOther from vw_poste_qcode where 
j_qcode=recBank.j_qcode;
+               end if;
+               end loop;
+               if nBank != 0 and nOther != 0 then
+                       insert into quant_fin 
(jr_id,qf_bank,qf_other,qf_amount) values (rec.jr_id,nBank,nOther,nAmount);
+               end if;
+       end loop;
+       for rec in select jr_id,jr_grpt_id from jrn 
+           where jr_def_id in (select jrn_def_id from jrn_def where 
jrn_def_type='FIN') and jr_id not in (select jr_id from quant_fin)
+       loop
+               -- there are only 2 lines for bank operations
+               -- first debit
+               select count(j_id) into nCount from jrnx where 
j_grpt=rec.jr_grpt_id;
+               if nCount > 2 then 
+                       raise notice 'Trop de valeur pour jr_grpt_id % count 
%',rec.jr_grpt_id,nCount;
+                       return;
+               end if;
+               nBank := 0; nOther:=0;
+               for recBank in select  j_id, j_montant,j_debit,j_qcode,j_poste 
from jrnx where j_grpt=rec.jr_grpt_id
+               loop
+               if recBank.j_poste like sCassa||'%' then
+                       -- retrieve f_id for bank
+                       select f_id into nBank from vw_poste_qcode where 
j_qcode=recBank.j_qcode;
+                       if recBank.j_debit = false then
+                               nAmount=recBank.j_montant*(-1);
+                       else 
+                               nAmount=recBank.j_montant;
+                       end if;
+               else
+                       select f_id into nOther from vw_poste_qcode where 
j_qcode=recBank.j_qcode;
+               end if;
+               end loop;
+               if nBank != 0 and nOther != 0 then
+                       insert into quant_fin 
(jr_id,qf_bank,qf_other,qf_amount) values (rec.jr_id,nBank,nOther,nAmount);
+               end if;
+       end loop;
+
+       for rec in select jr_id,jr_grpt_id from jrn 
+           where jr_def_id in (select jrn_def_id from jrn_def where 
jrn_def_type='FIN') and jr_id not in (select jr_id from quant_fin)
+       loop
+               -- there are only 2 lines for bank operations
+               -- first debit
+               select count(j_id) into nCount from jrnx where 
j_grpt=rec.jr_grpt_id;
+               if nCount > 2 then 
+                       raise notice 'Trop de valeur pour jr_grpt_id % count 
%',rec.jr_grpt_id,nCount;
+                       return;
+               end if;
+               nSupp_Cust := 0; nOther:=0;
+               for recSupp_Cust in select  j_id, 
j_montant,j_debit,j_qcode,j_poste from jrnx where j_grpt=rec.jr_grpt_id
+               loop
+               if recSupp_Cust.j_poste like sSupplier||'%'  then
+                       -- retrieve f_id for bank
+                       select f_id into nSupp_Cust from vw_poste_qcode where 
j_qcode=recSupp_Cust.j_qcode;
+                       if recSupp_Cust.j_debit = true then
+                               nAmount=recSupp_Cust.j_montant*(-1);
+                       else 
+                               nAmount=recSupp_Cust.j_montant;
+                       end if;
+               else if  recSupp_Cust.j_poste like sCustomer||'%' then
+                       select f_id into nSupp_Cust from vw_poste_qcode where 
j_qcode=recSupp_Cust.j_qcode;
+                       if recSupp_Cust.j_debit = false then
+                               nAmount=recSupp_Cust.j_montant*(-1);
+                       else 
+                               nAmount=recSupp_Cust.j_montant;
+                       end if;
+                       else
+                       select f_id into nOther from vw_poste_qcode where 
j_qcode=recSupp_Cust.j_qcode;
+                       
+                       end if;
+               end if;
+               end loop;
+               if nSupp_Cust != 0 and nOther != 0 then
+                       insert into quant_fin 
(jr_id,qf_bank,qf_other,qf_amount) values (rec.jr_id,nOther,nSupp_Cust,nAmount);
+               end if;
+       end loop;
+       for rec in select jr_id,jr_grpt_id from jrn 
+           where jr_def_id in (select jrn_def_id from jrn_def where 
jrn_def_type='FIN') and jr_id not in (select jr_id from quant_fin)
+       loop
+               -- there are only 2 lines for bank operations
+               -- first debit
+               select count(j_id) into nCount from jrnx where 
j_grpt=rec.jr_grpt_id;
+               if nCount > 2 then 
+                       raise notice 'Trop de valeur pour jr_grpt_id % count 
%',rec.jr_grpt_id,nCount;
+                       return;
+               end if;
+               nSupp_Cust := 0; nOther:=0;
+               for recSupp_Cust in select  j_id, 
j_montant,j_debit,j_qcode,j_poste from jrnx where j_grpt=rec.jr_grpt_id
+               loop
+               if recSupp_Cust.j_poste like '441%'  then
+                       -- retrieve f_id for bank
+                       select f_id into nSupp_Cust from vw_poste_qcode where 
j_qcode=recSupp_Cust.j_qcode;
+                       if recSupp_Cust.j_debit = false then
+                               nAmount=recSupp_Cust.j_montant*(-1);
+                       else 
+                               nAmount=recSupp_Cust.j_montant;
+                       end if;
+                       else
+                       select f_id into nOther from vw_poste_qcode where 
j_qcode=recSupp_Cust.j_qcode;
+                       
+                       
+               end if;
+               end loop;
+               if nSupp_Cust != 0 and nOther != 0 then
+                       insert into quant_fin 
(jr_id,qf_bank,qf_other,qf_amount) values (rec.jr_id,nOther,nSupp_Cust,nAmount);
+               end if;
+       end loop;
+       return;
+end;
+$$;
 
 
 
 CREATE FUNCTION find_pcm_type(pp_value public.account_type) RETURNS text
+    LANGUAGE plpgsql
     AS $$
 declare
        str_type parm_poste.p_type%TYPE;
@@ -595,12 +901,64 @@ begin
        end loop;
 return 'CON';
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
+
+
+
+CREATE FUNCTION find_periode(p_date text) RETURNS integer
+    LANGUAGE plpgsql
+    AS $$
+
+declare n_p_id int4;
+begin
+
+select p_id into n_p_id
+       from parm_periode
+       where
+               p_start <= to_date(p_date,'DD.MM.YYYY')
+               and
+               p_end >= to_date(p_date,'DD.MM.YYYY');
+
+if NOT FOUND then
+       return -1;
+end if;
+
+return n_p_id;
+
+end;$$;
+
+
+
+CREATE FUNCTION format_account(p_account public.account_type) RETURNS 
public.account_type
+    LANGUAGE plpgsql
+    AS $_$
+
+declare
+
+sResult account_type;
+
+begin
+sResult := lower(p_account);
+
+sResult := translate(sResult,E'éèêëàâäïîüûùöôç','eeeeaaaiiuuuooc');
+sResult := translate(sResult,E' $€µ£%.+-/\\!(){}(),;_&|"#''^<>*','');
+
+return upper(sResult);
+
+end;
+$_$;
+
+
+
+COMMENT ON FUNCTION format_account(p_account public.account_type) IS 'format 
the accounting :
+- upper case
+- remove space and special char.
+';
 
 
 
 CREATE FUNCTION get_letter_jnt(a bigint) RETURNS bigint
+    LANGUAGE plpgsql
     AS $$
 declare
  nResult bigint;
@@ -614,12 +972,73 @@ begin
     end if;
 return nResult;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
+
+
+
+CREATE FUNCTION get_menu_dependency(profile_menu_id integer) RETURNS SETOF 
integer
+    LANGUAGE plpgsql
+    AS $$
+declare
+       i int;
+       x int;
+       e int;
+begin
+       for x in select pm_id,me_code
+                       from profile_menu
+                       where me_code_dep in (select me_code from profile_menu 
where pm_id=profile_menu_id)
+                       and p_id = (select p_id from profile_menu where 
pm_id=profile_menu_id)
+       loop
+               return next x;
+
+       for e in select *  from comptaproc.get_menu_dependency(x)
+               loop
+                       return next e;
+               end loop;
+
+       end loop;
+       return;
+end;
+$$;
+
+
+
+CREATE FUNCTION get_menu_tree(p_code text, p_profile integer) RETURNS SETOF 
public.menu_tree
+    LANGUAGE plpgsql
+    AS $$
+declare
+       i menu_tree;
+       e menu_tree;
+       a text;
+       x v_all_menu%ROWTYPE;
+begin
+       for x in select *  from v_all_menu where me_code_dep=p_code::text and 
p_id=p_profile
+       loop
+               if x.me_code_dep is not null then
+                       i.code := x.me_code_dep||'/'||x.me_code;
+               else
+                       i.code := x.me_code;
+               end if;
+
+               i.description := x.me_description;
+
+               return next i;
+
+       for e in select *  from get_menu_tree(x.me_code,p_profile)
+               loop
+                       e.code:=x.me_code_dep||'/'||e.code;
+                       return next e;
+               end loop;
+
+       end loop;
+       return;
+end;
+$$;
 
 
 
 CREATE FUNCTION get_pcm_tree(source public.account_type) RETURNS SETOF 
public.account_type
+    LANGUAGE plpgsql
     AS $$
 declare
        i account_type;
@@ -636,12 +1055,36 @@ begin
        end loop;
        return;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
+
+
+
+CREATE FUNCTION get_profile_menu(p_profile integer) RETURNS SETOF 
public.menu_tree
+    LANGUAGE plpgsql
+    AS $$
+declare
+       a menu_tree;
+       e menu_tree;
+begin
+for a in select me_code,me_description from v_all_menu where p_id=p_profile
+       and me_code_dep is null and me_type <> 'PR' and me_type <>'SP'
+loop
+               return next a;
+
+               for e in select * from get_menu_tree(a.code,p_profile)
+               loop
+                       return next e;
+               end loop;
+
+       end loop;
+return;
+end;
+$$;
 
 
 
 CREATE FUNCTION group_analytic_ins_upd() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$
 declare 
 name text;
@@ -651,23 +1094,23 @@ name:=trim(name);
 name:=replace(name,' ','');
 NEW.ga_id:=name;
 return NEW;
-end;$$
-    LANGUAGE plpgsql;
+end;$$;
 
 
 
 CREATE FUNCTION group_analytique_del() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$
 begin
 update poste_analytique set ga_id=null
 where ga_id=OLD.ga_id;
 return OLD;
-end;$$
-    LANGUAGE plpgsql;
+end;$$;
 
 
 
 CREATE FUNCTION html_quote(p_string text) RETURNS text
+    LANGUAGE plpgsql
     AS $$
 declare
        r text;
@@ -677,8 +1120,7 @@ begin
        r:=replace(r,'>','&gt;');
        r:=replace(r,'''','&quot;');
        return r;
-end;$$
-    LANGUAGE plpgsql;
+end;$$;
 
 
 
@@ -687,6 +1129,7 @@ COMMENT ON FUNCTION html_quote(p_string text) IS 'remove 
harmfull HTML char';
 
 
 CREATE FUNCTION info_def_ins_upd() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$
 declare 
        row_info_def info_def%ROWTYPE;
@@ -703,34 +1146,14 @@ end if;
 row_info_def.id_type:=str_type;
 return row_info_def;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
 
 
 
 CREATE FUNCTION insert_jrnx(p_date character varying, p_montant numeric, 
p_poste public.account_type, p_grpt integer, p_jrn_def integer, p_debit 
boolean, p_tech_user text, p_tech_per integer, p_qcode text, p_comment text) 
RETURNS void
+    LANGUAGE plpgsql
     AS $$
-declare
-       sCode varchar;
-       nCount_qcode integer;
-begin
-       sCode=trim(p_qcode);
-
-       -- if p_qcode is empty try to find one
-       if length(sCode) = 0 or p_qcode is null then
-               select count(*) into nCount_qcode
-                       from vw_poste_qcode where j_poste=p_poste;
-       -- if we find only one q_code for a accountancy account
-       -- then retrieve it
-               if nCount_qcode = 1 then
-                       select j_qcode::text into sCode
-                       from vw_poste_qcode where j_poste=p_poste;
-               else
-                sCode=NULL;
-               end if;
-
-       end if;
-
+begin
        insert into jrnx
        (
                j_date,
@@ -754,161 +1177,277 @@ begin
                p_comment,
                p_tech_user,
                p_tech_per,
-               sCode
+               p_qcode
        );
 
 return;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
 
 
 
-CREATE FUNCTION insert_quant_purchase(p_internal text, p_j_id numeric, p_fiche 
character varying, p_quant numeric, p_price numeric, p_vat numeric, p_vat_code 
integer, p_nd_amount numeric, p_nd_tva numeric, p_nd_tva_recup numeric, 
p_dep_priv numeric, p_client character varying) RETURNS void
+CREATE FUNCTION insert_quant_purchase(p_internal text, p_j_id numeric, p_fiche 
character varying, p_quant numeric, p_price numeric, p_vat numeric, p_vat_code 
integer, p_nd_amount numeric, p_nd_tva numeric, p_nd_tva_recup numeric, 
p_dep_priv numeric, p_client character varying, p_tva_sided numeric, 
p_price_unit numeric) RETURNS void
+    LANGUAGE plpgsql
     AS $$
 declare
-       fid_client integer;
-       fid_good   integer;
-begin
-       select f_id into fid_client from
-               attr_value join jnt_fic_att_value using (jft_id) where ad_id=23 
and av_text=upper(trim(p_client));
-       select f_id into fid_good from
-               attr_value join jnt_fic_att_value using (jft_id) where ad_id=23 
and av_text=upper(trim(p_fiche));
-       insert into quant_purchase
-               (qp_internal,
-               j_id,
-               qp_fiche,
-               qp_quantite,
-               qp_price,
-               qp_vat,
-               qp_vat_code,
-               qp_nd_amount,
-               qp_nd_tva,
-               qp_nd_tva_recup,
-               qp_supplier,
-               qp_dep_priv)
-       values
-               (p_internal,
-               p_j_id,
-               fid_good,
-               p_quant,
-               p_price,
-               p_vat,
-               p_vat_code,
-               p_nd_amount,
-               p_nd_tva,
-               p_nd_tva_recup,
-               fid_client,
-               p_dep_priv);
-       return;
+        fid_client integer;
+        fid_good   integer;
+        account_priv    account_type;
+        fid_good_account account_type;
+        n_dep_priv numeric;
+begin
+        n_dep_priv := 0;
+        select p_value into account_priv from parm_code where 
p_code='DEP_PRIV';
+        select f_id into fid_client from
+                fiche_detail where ad_id=23 and ad_value=upper(trim(p_client));
+        select f_id into fid_good from
+                 fiche_detail where ad_id=23 and ad_value=upper(trim(p_fiche));
+        select ad_value into fid_good_account from fiche_detail where ad_id=5 
and f_id=fid_good;
+        if strpos( fid_good_account , account_priv ) = 1 then
+                n_dep_priv=p_price;
+        end if; 
+            
+        insert into quant_purchase
+                (qp_internal,
+                j_id,
+                qp_fiche,
+                qp_quantite,
+                qp_price,
+                qp_vat,
+                qp_vat_code,
+                qp_nd_amount,
+                qp_nd_tva,
+                qp_nd_tva_recup,
+                qp_supplier,
+                qp_dep_priv,
+                qp_vat_sided,
+                qp_unit)
+        values
+                (p_internal,
+                p_j_id,
+                fid_good,
+                p_quant,
+                p_price,
+                p_vat,
+                p_vat_code,
+                p_nd_amount,
+                p_nd_tva,
+                p_nd_tva_recup,
+                fid_client,
+                n_dep_priv,
+                p_tva_sided,
+                p_price_unit);
+        return;
 end;
- $$
-    LANGUAGE plpgsql;
+ $$;
 
 
 
-CREATE FUNCTION insert_quant_sold(p_internal text, p_jid numeric, p_fiche 
character varying, p_quant numeric, p_price numeric, p_vat numeric, p_vat_code 
integer, p_client character varying) RETURNS void
+CREATE FUNCTION insert_quant_sold(p_internal text, p_jid numeric, p_fiche 
character varying, p_quant numeric, p_price numeric, p_vat numeric, p_vat_code 
integer, p_client character varying, p_tva_sided numeric, p_price_unit numeric) 
RETURNS void
+    LANGUAGE plpgsql
     AS $$
 declare
-       fid_client integer;
-       fid_good   integer;
-begin
-
-       select f_id into fid_client from
-               attr_value join jnt_fic_att_value using (jft_id) where ad_id=23 
and av_text=upper(trim(p_client));
-       select f_id into fid_good from
-               attr_value join jnt_fic_att_value using (jft_id) where ad_id=23 
and av_text=upper(trim(p_fiche));
-       insert into quant_sold
-               
(qs_internal,j_id,qs_fiche,qs_quantite,qs_price,qs_vat,qs_vat_code,qs_client,qs_valid)
-       values
-               
(p_internal,p_jid,fid_good,p_quant,p_price,p_vat,p_vat_code,fid_client,'Y');
-       return;
+        fid_client integer;
+        fid_good   integer;
+begin
+
+        select f_id into fid_client from
+                fiche_detail where ad_id=23 and ad_value=upper(trim(p_client));
+        select f_id into fid_good from
+                fiche_detail where ad_id=23 and ad_value=upper(trim(p_fiche));
+        insert into quant_sold
+                
(qs_internal,j_id,qs_fiche,qs_quantite,qs_price,qs_vat,qs_vat_code,qs_client,qs_valid,qs_vat_sided,qs_unit)
+        values
+                
(p_internal,p_jid,fid_good,p_quant,p_price,p_vat,p_vat_code,fid_client,'Y',p_tva_sided,p_price_unit);
+        return;
 end;
- $$
-    LANGUAGE plpgsql;
+ $$;
 
 
 
 CREATE FUNCTION insert_quick_code(nf_id integer, tav_text text) RETURNS integer
-    AS $$
+    LANGUAGE plpgsql
+    AS $_$
        declare
        ns integer;
        nExist integer;
        tText text;
+       tBase text;
+       tName text;
+       nCount Integer;
+       nDuplicate Integer;
        begin
-       tText := upper(trim(tav_text));
+       tText := lower(trim(tav_text));
        tText := replace(tText,' ','');
-       
+        tText:= translate(tText,E' $€µ£%+/\\!(){}(),;&|"#''^<>*','');
+       tText := translate(tText,E'éèêëàâäïîüûùöôç','eeeeaaaiiuuuooc');
+       nDuplicate := 0;
+       tBase := tText;
        loop
                -- take the next sequence
                select nextval('s_jnt_fic_att_value') into ns;
                if length (tText) = 0 or tText is null then
-                       tText := 'FID'||ns;
+                       select count(*) into nCount from fiche_detail where 
f_id=nf_id and ad_id=1;
+                       if nCount = 0 then
+                               tText := 'FICHE'||ns::text;
+                       else
+                               select ad_value into tName from fiche_detail 
where f_id=nf_id and ad_id=1;
+                               
+                               tName := lower(trim(tName));
+                               tName := substr(tName,1,6);
+                               tName := replace(tName,' ','');
+                               tName:= translate(tName,E' 
$€µ£%+/\\!(){}(),;&|"#''^<>*','');
+                               tName := 
translate(tName,E'éèêëàâäïîüûùöôç','eeeeaaaiiuuuooc');
+                               tBase := tName;
+                               if nDuplicate = 0 then
+                                       tText := tName;
+                               else
+                                       tText := tName||nDuplicate::text;
+                               end if;
+                       end if;
                end if;
                -- av_text already used ?
-               select count(*) into nExist 
-                       from jnt_fic_att_value join attr_value using (jft_id) 
-               where 
-                       ad_id=23 and  av_text=upper(tText);
+               select count(*) into nExist
+                       from fiche_detail
+               where
+                       ad_id=23 and  ad_value=upper(tText);
 
                if nExist = 0 then
                        exit;
                end if;
-               tText:='FID'||ns;
+               nDuplicate := nDuplicate + 1 ;
+               tText := tBase || nDuplicate::text;
+               
+               if nDuplicate > 9999 then
+                       raise Exception 'too many duplicate % duplicate# 
%',tText,nDuplicate;
+               end if;
        end loop;
-       -- insert into table jnt_fic_att_value
-       insert into jnt_fic_att_value values (ns,nf_id,23);
-       -- insert value into attr_value
-       insert into attr_value values (ns,upper(tText));
-       return ns;
+
+
+       insert into fiche_detail(jft_id,f_id,ad_id,ad_value) values 
(ns,nf_id,23,upper(tText));
+       return ns;
        end;
-$$
-    LANGUAGE plpgsql;
+$_$;
+
+
+
+CREATE FUNCTION is_closed(p_periode integer, p_jrn_def_id integer) RETURNS 
boolean
+    LANGUAGE plpgsql
+    AS $$
+declare
+bClosed bool;
+str_status text;
+begin
+select p_closed into bClosed from parm_periode
+       where p_id=p_periode;
+
+if bClosed = true then
+       return bClosed;
+end if;
+
+select status into str_status from jrn_periode
+       where p_id =p_periode and jrn_def_id=p_jrn_def_id;
+
+if str_status <> 'OP' then
+   return bClosed;
+end if;
+return false;
+end;
+$$;
+
+
+
+CREATE FUNCTION jnt_fic_attr_ins() RETURNS trigger
+    LANGUAGE plpgsql
+    AS $$
+declare
+   r_record jnt_fic_attr%ROWTYPE;
+   i_max integer;
+begin
+r_record=NEW;
+perform comptaproc.fiche_attribut_synchro(r_record.fd_id);
+select coalesce(max(jnt_order),0) into i_max from jnt_fic_attr where 
fd_id=r_record.fd_id;
+i_max := i_max + 10;
+NEW.jnt_order=i_max;
+return NEW;
+end;
+$$;
+
+
+
+CREATE FUNCTION jrn_add_note(p_jrid bigint, p_note text) RETURNS void
+    LANGUAGE plpgsql
+    AS $$
+declare
+       tmp bigint;
+begin
+       if length(trim(p_note)) = 0 then
+          delete from jrn_note where jr_id= p_jrid;
+          return;
+       end if;
+       
+       select n_id into tmp from jrn_note where jr_id = p_jrid;
+       
+       if FOUND then
+          update jrn_note set n_text=trim(p_note) where jr_id = p_jrid;
+       else 
+          insert into jrn_note (jr_id,n_text) values ( p_jrid, p_note);
+
+       end if;
+       
+       return;
+end;
+$$;
 
 
 
 CREATE FUNCTION jrn_check_periode() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$
-declare 
+declare
 bClosed bool;
 str_status text;
 ljr_tech_per jrn.jr_tech_per%TYPE;
 ljr_def_id jrn.jr_def_id%TYPE;
 lreturn jrn%ROWTYPE;
 begin
+if TG_OP='UPDATE' then
+       ljr_tech_per :=OLD.jr_tech_per ;
+       NEW.jr_tech_per := 
comptaproc.find_periode(to_char(NEW.jr_date,'DD.MM.YYYY'));
+       ljr_def_id   :=OLD.jr_def_id;
+       lreturn      :=NEW;
+       if NEW.jr_date = OLD.jr_date then
+               return NEW;
+       end if;
+       if comptaproc.is_closed(NEW.jr_tech_per,NEW.jr_def_id) = true then
+               raise exception 'Periode fermee';
+       end if;
+end if;
+
 if TG_OP='INSERT' then
-       ljr_tech_per :=NEW.jr_tech_per;
+       NEW.jr_tech_per := 
comptaproc.find_periode(to_char(NEW.jr_date,'DD.MM.YYYY'));
+       ljr_tech_per :=NEW.jr_tech_per ;
        ljr_def_id   :=NEW.jr_def_id;
-        lreturn      :=NEW;
+       lreturn      :=NEW;
 end if;
 
 if TG_OP='DELETE' then
        ljr_tech_per :=OLD.jr_tech_per;
        ljr_def_id   :=OLD.jr_def_id;
-        lreturn      :=OLD;
-end if;
-
-select p_closed into bClosed from parm_periode 
-       where p_id=ljr_tech_per;
-
-if bClosed = true then
-       raise exception 'Periode fermee';
+       lreturn      :=OLD;
 end if;
 
-select status into str_status from jrn_periode 
-       where p_id =ljr_tech_per and jrn_def_id=ljr_def_id;
-
-if str_status <> 'OP' then
-       raise exception 'Periode fermee';
+if comptaproc.is_closed (ljr_def_id,ljr_def_id) = true then
+       raise exception 'Periode fermee';
 end if;
 
 return lreturn;
-end;$$
-    LANGUAGE plpgsql;
+end;$$;
 
 
 
 CREATE FUNCTION jrn_def_add() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$begin
 execute 'insert into jrn_periode(p_id,jrn_def_id,status) select 
p_id,'||NEW.jrn_def_id||',
        case when p_central=true then ''CE''
@@ -918,12 +1457,12 @@ execute 'insert into jrn_periode(p_id,jrn_def_id,status) 
select p_id,'||NEW.jrn_
 from
 parm_periode ';
 return NEW;
-end;$$
-    LANGUAGE plpgsql;
+end;$$;
 
 
 
 CREATE FUNCTION jrn_def_delete() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$
 declare 
 nb numeric;
@@ -934,12 +1473,12 @@ if nb <> 0 then
        raise exception 'EFFACEMENT INTERDIT: JOURNAL UTILISE';
 end if;
 return OLD;
-end;$$
-    LANGUAGE plpgsql;
+end;$$;
 
 
 
 CREATE FUNCTION jrn_del() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$
 declare
 row jrn%ROWTYPE;
@@ -987,26 +1526,190 @@ insert into del_jrn ( jr_id,
              ,now() from jrn where jr_id=row.jr_id;
 return row;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
 
 
 
 CREATE FUNCTION jrnx_del() RETURNS trigger
+    LANGUAGE plpgsql
+    AS $$
+declare
+row jrnx%ROWTYPE;
+begin
+row:=OLD;
+
+
+insert into del_jrnx(
+            j_id, j_date, j_montant, j_poste, j_grpt, j_rapt, j_jrn_def, 
+            j_debit, j_text, j_centralized, j_internal, j_tech_user, 
j_tech_date, 
+            j_tech_per, j_qcode, f_id)  SELECT j_id, j_date, j_montant, 
j_poste, j_grpt, j_rapt, j_jrn_def, 
+       j_debit, j_text, j_centralized, j_internal, j_tech_user, j_tech_date, 
+       j_tech_per, j_qcode, f_id from jrnx where j_id=row.j_id;
+return row;
+end;
+$$;
+
+
+
+CREATE FUNCTION jrnx_ins() RETURNS trigger
+    LANGUAGE plpgsql
+    AS $$
+declare
+n_fid bigint;
+nCount integer;
+sQcode text;
+
+begin
+n_fid := NULL;
+sQcode := NULL;
+
+NEW.j_tech_per := comptaproc.find_periode(to_char(NEW.j_date,'DD.MM.YYYY'));
+if NEW.j_tech_per = -1 then
+        raise exception 'Période invalide';
+end if;
+
+if trim(coalesce(NEW.j_qcode,'')) = '' then
+        -- how many card has this accounting
+        select count(*) into nCount from fiche_detail where ad_id=5 and 
ad_value=NEW.j_poste;
+        -- only one card is found , then we change the j_qcode by the card
+        if nCount = 1 then
+                select f_id into n_fid from fiche_detail where ad_id = 5 and 
ad_value=NEW.j_poste;
+            if FOUND then
+                select ad_value into sQcode  from fiche_detail where 
f_id=n_fid and ad_id = 23;
+                NEW.f_id := n_fid;
+                NEW.j_qcode = sQcode;
+                raise info 'comptaproc.jrnx_ins : found card % qcode 
%',n_fid,sQcode;
+            end if;
+        end if;
+
+end if;
+
+NEW.j_qcode=trim(upper(coalesce(NEW.j_qcode,'')));
+
+if length (coalesce(NEW.j_qcode,'')) = 0 then
+    NEW.j_qcode=NULL;
+    else
+      select f_id into n_fid from fiche_detail  where ad_id=23 and 
ad_value=NEW.j_qcode;
+      if NOT FOUND then
+        raise exception 'La fiche dont le quick code est % n''existe 
pas',NEW.j_qcode;
+    end if;
+end if;
+
+NEW.f_id:=n_fid;
+return NEW;
+end;
+$$;
+
+
+
+CREATE FUNCTION jrnx_letter_del() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$
 declare
 row jrnx%ROWTYPE;
 begin
 row:=OLD;
-insert into del_jrnx select * from jrnx where j_id=row.j_id;
+delete from jnt_letter 
+       where (jl_id in (select jl_id from letter_deb) and jl_id not in(select 
jl_id from letter_cred )) 
+               or (jl_id not in (select jl_id from letter_deb  ) and jl_id  
in(select jl_id from letter_cred ));
 return row;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
+
+
+
+CREATE FUNCTION menu_complete_dependency(n_profile numeric) RETURNS void
+    LANGUAGE plpgsql
+    AS $$
+declare 
+ n_count integer;
+ csr_root_menu cursor (p_profile numeric) is select pm_id,
+       me_code,
+       me_code_dep 
+       
+       from profile_menu 
+       where 
+       me_code in 
+               (select a.me_code_dep 
+                       from profile_menu as a 
+                       join profile_menu as b on (a.me_code=b.me_code and 
a.me_code_dep=b.me_code_dep and a.pm_id <> b.pm_id and a.p_id=b.p_id) 
+                       where a.p_id=n_profile) 
+               and p_id=p_profile;
+
+begin
+       for duplicate in csr_root_menu(n_profile)
+       loop
+               raise notice 'found %',duplicate;
+               update profile_menu set pm_id_dep  = duplicate.pm_id 
+                       where pm_id in (select a.pm_id
+                               from profile_menu as a 
+                               left join profile_menu as b on 
(a.me_code=b.me_code and a.me_code_dep=b.me_code_dep)
+                               where 
+                               a.p_id=n_profile
+                               and b.p_id=n_profile
+                               and a.pm_id_dep is null 
+                               and a.me_code_dep = duplicate.me_code
+                               and a.pm_id < b.pm_id);
+       end loop;
+       
+       for duplicate in csr_root_menu(n_profile) 
+       loop
+               select count(*) into n_count from profile_menu where 
p_id=n_profile and pm_id_dep = duplicate.pm_id;
+               raise notice '% use % times',duplicate,n_count;
+               if n_count = 0 then
+                       raise notice ' Update with %',duplicate;
+                       update profile_menu set pm_id_dep = duplicate.pm_id 
where p_id = n_profile and me_code_dep = duplicate.me_code and pm_id_dep is 
null;
+               end if;
+
+       end loop;
+       
+end;
+$$;
+
+
+
+CREATE FUNCTION opd_limit_description() RETURNS trigger
+    LANGUAGE plpgsql
+    AS $$
+       declare
+               sDescription text;
+       begin
+       sDescription := NEW.od_description;
+       NEW.od_description := substr(sDescription,1,80);
+       return NEW;
+       end;
+$$;
+
+
+
+CREATE FUNCTION periode_exist(p_date text, p_periode_id bigint) RETURNS integer
+    LANGUAGE plpgsql
+    AS $$
+
+declare n_p_id int4;
+begin
+
+select p_id into n_p_id
+        from parm_periode
+        where
+                p_start <= to_date(p_date,'DD.MM.YYYY')
+                and
+                p_end >= to_date(p_date,'DD.MM.YYYY')
+                and
+                p_id <> p_periode_id;
+
+if NOT FOUND then
+        return -1;
+end if;
+
+return n_p_id;
+
+end;$$;
 
 
 
 CREATE FUNCTION plan_analytic_ins_upd() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$
 declare
    name text;
@@ -1017,12 +1720,12 @@ begin
    NEW.pa_name:=name;
 return NEW;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
 
 
 
 CREATE FUNCTION poste_analytique_ins_upd() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$declare
 name text;
 rCount record;
@@ -1046,12 +1749,12 @@ if NOT FOUND then
    raise exception' Inexistent Group Analytic %',NEW.ga_id;
 end if;
 return NEW;
-end;$$
-    LANGUAGE plpgsql;
+end;$$;
 
 
 
 CREATE FUNCTION proc_check_balance() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$
 declare 
        diff numeric;
@@ -1066,12 +1769,40 @@ begin
        return NEW;
        end if;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
+
+
+
+CREATE FUNCTION quant_purchase_ins_upd() RETURNS trigger
+    LANGUAGE plpgsql
+    AS $$
+       begin
+               if NEW.qp_price < 0 OR NEW.qp_quantite <0 THEN
+                       NEW.qp_price := abs (NEW.qp_price)*(-1);
+                       NEW.qp_quantite := abs (NEW.qp_quantite)*(-1);
+               end if;
+return NEW;
+end;
+$$;
+
+
+
+CREATE FUNCTION quant_sold_ins_upd() RETURNS trigger
+    LANGUAGE plpgsql
+    AS $$
+       begin
+               if NEW.qs_price < 0 OR NEW.qs_quantite <0 THEN
+                       NEW.qs_price := abs (NEW.qs_price)*(-1);
+                       NEW.qs_quantite := abs (NEW.qs_quantite)*(-1);
+               end if;
+return NEW;
+end;
+$$;
 
 
 
 CREATE FUNCTION t_document_modele_validate() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$
 declare 
     lText text;
@@ -1082,12 +1813,12 @@ begin
        modified.md_filename:=replace(NEW.md_filename,' ','_');
        return modified;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
 
 
 
 CREATE FUNCTION t_document_type_insert() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$
 declare
 nCounter integer;
@@ -1098,12 +1829,12 @@ if nCounter = 0 then
 end if;
         RETURN NEW;
     END;
-$$
-    LANGUAGE plpgsql;
+$$;
 
 
 
 CREATE FUNCTION t_document_validate() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$
 declare
   lText text;
@@ -1113,12 +1844,27 @@ begin
        modified.d_filename:=replace(NEW.d_filename,' ','_');
        return modified;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
+
+
+
+CREATE FUNCTION t_jrn_def_description() RETURNS trigger
+    LANGUAGE plpgsql
+    AS $$
+    declare
+        str varchar(200);
+    BEGIN
+        str := substr(NEW.jrn_def_description,1,200);
+        NEW.jrn_def_description := str;
+
+        RETURN NEW;
+    END;
+$$;
 
 
 
 CREATE FUNCTION t_jrn_def_sequence() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$
 declare
 nCounter integer;
@@ -1133,29 +1879,222 @@ nCounter integer;
 
         RETURN NEW;
     END;
-$$
-    LANGUAGE plpgsql;
+$$;
+
+
+
+CREATE FUNCTION table_analytic_account(p_from text, p_to text) RETURNS SETOF 
public.anc_table_account_type
+    LANGUAGE plpgsql
+    AS $$
+declare
+       ret ANC_table_account_type%ROWTYPE;
+       sql_from text:='';
+       sql_to text:='';
+       sWhere text:='';
+       sAnd text:='';
+       sResult text:='';
+begin
+if p_from <> '' and p_from is not null then
+       sql_from:='oa_date >= to_date('''||p_from::text||''',''DD.MM.YYYY'')';
+       sWhere:=' where ';
+end if;
+
+if p_to <> '' and p_to is not null then
+       sql_to=' oa_date <= to_date('''||p_to::text||''',''DD.MM.YYYY'')';
+       sWhere := ' where ';
+end if;
+
+if sql_to <> '' and sql_from <> '' then
+       sAnd:=' and ';
+end if;
+
+sResult := sWhere || sql_from || sAnd || sql_to;
+
+for ret in EXECUTE 'SELECT po.po_id,
+                           po.pa_id, po.po_name, 
+                           po.po_description,sum(
+        CASE
+            WHEN operation_analytique.oa_debit = true THEN 
operation_analytique.oa_amount * (-1)::numeric
+            ELSE operation_analytique.oa_amount
+        END) AS sum_amount, jrnx.j_poste, tmp_pcmn.pcm_lib AS name
+   FROM operation_analytique
+   JOIN poste_analytique po USING (po_id)
+   JOIN jrnx USING (j_id)
+   JOIN tmp_pcmn ON jrnx.j_poste::text = tmp_pcmn.pcm_val::text
+'|| sResult ||'
+  GROUP BY po.po_id, po.po_name, po.pa_id, jrnx.j_poste, tmp_pcmn.pcm_lib, 
po.po_description
+ HAVING sum(
+CASE
+    WHEN operation_analytique.oa_debit = true THEN 
operation_analytique.oa_amount * (-1)::numeric
+    ELSE operation_analytique.oa_amount
+END) <> 0::numeric '
+       loop
+       return next ret;
+end loop;
+end;
+$$;
+
+
+
+CREATE FUNCTION table_analytic_card(p_from text, p_to text) RETURNS SETOF 
public.anc_table_card_type
+    LANGUAGE plpgsql
+    AS $$
+declare
+       ret ANC_table_card_type%ROWTYPE;
+       sql_from text:='';
+       sql_to text:='';
+       sWhere text:='';
+       sAnd text:='';
+       sResult text:='';
+begin
+if p_from <> '' and p_from is not null then
+       sql_from:='oa_date >= to_date('''||p_from::text||''',''DD.MM.YYYY'')';
+       sWhere:=' where ';
+end if;
+
+if p_to <> '' and p_to is not null then
+       sql_to=' oa_date <= to_date('''||p_to::text||''',''DD.MM.YYYY'')';
+       sWhere := ' where ';
+end if;
+
+if sql_to <> '' and sql_from <> '' then
+       sAnd :=' and ';
+end if;
+
+sResult := sWhere || sql_from || sAnd || sql_to;
+
+for ret in EXECUTE ' SELECT po.po_id, po.pa_id, po.po_name, po.po_description, 
 sum(
+        CASE
+            WHEN operation_analytique.oa_debit = true THEN 
operation_analytique.oa_amount * (-1)::numeric
+            ELSE operation_analytique.oa_amount
+        END) AS sum_amount, jrnx.f_id, jrnx.j_qcode, ( SELECT 
fiche_detail.ad_value
+           FROM fiche_detail
+          WHERE fiche_detail.ad_id = 1 AND fiche_detail.f_id = jrnx.f_id) AS 
name
+   FROM operation_analytique
+   JOIN poste_analytique po USING (po_id)
+   JOIN jrnx USING (j_id)'|| sResult ||'
+  GROUP BY po.po_id, po.po_name, po.pa_id, jrnx.f_id, jrnx.j_qcode, ( SELECT 
fiche_detail.ad_value
+   FROM fiche_detail
+  WHERE fiche_detail.ad_id = 1 AND fiche_detail.f_id = jrnx.f_id), 
po.po_description
+ HAVING sum(
+CASE
+    WHEN operation_analytique.oa_debit = true THEN 
operation_analytique.oa_amount * (-1)::numeric
+    ELSE operation_analytique.oa_amount
+END) <> 0::numeric;'
+
+
+       loop
+       return next ret;
+end loop;
+end;
+$$;
+
+
+
+CREATE FUNCTION tmp_pcmn_alphanum_ins_upd() RETURNS trigger
+    LANGUAGE plpgsql
+    AS $$
+declare
+   r_record tmp_pcmn%ROWTYPE;
+begin
+r_record := NEW;
+r_record.pcm_val:=format_account(NEW.pcm_val);
+
+return r_record;
+end;
+$$;
 
 
 
 CREATE FUNCTION tmp_pcmn_ins() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$
 declare
    r_record tmp_pcmn%ROWTYPE;
 begin
-r_record=NEW;
-if  length(trim(r_record.pcm_type))=0 or r_record.pcm_type is NULL then 
+r_record := NEW;
+if  length(trim(r_record.pcm_type))=0 or r_record.pcm_type is NULL then
    r_record.pcm_type:=find_pcm_type(NEW.pcm_val);
    return r_record;
 end if;
 return NEW;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
+
+
+
+CREATE FUNCTION trg_profile_user_ins_upd() RETURNS trigger
+    LANGUAGE plpgsql
+    AS $$
+
+begin
+
+NEW.user_name := lower(NEW.user_name);
+return NEW;
+
+end;
+$$;
+
+
+
+CREATE FUNCTION trg_todo_list_ins_upd() RETURNS trigger
+    LANGUAGE plpgsql
+    AS $$
+
+begin
+
+NEW.use_login:= lower(NEW.use_login);
+return NEW;
+
+end;
+$$;
+
+
+
+CREATE FUNCTION trg_todo_list_shared_ins_upd() RETURNS trigger
+    LANGUAGE plpgsql
+    AS $$
+
+begin
+
+NEW.use_login:= lower(NEW.use_login);
+return NEW;
+
+end;
+$$;
+
+
+
+CREATE FUNCTION trg_user_sec_act_ins_upd() RETURNS trigger
+    LANGUAGE plpgsql
+    AS $$
+
+begin
+
+NEW.ua_login:= lower(NEW.ua_login);
+return NEW;
+
+end;
+$$;
+
+
+
+CREATE FUNCTION trg_user_sec_jrn_ins_upd() RETURNS trigger
+    LANGUAGE plpgsql
+    AS $$
+
+begin
+
+NEW.uj_login:= lower(NEW.uj_login);
+return NEW;
+
+end;
+$$;
 
 
 
 CREATE FUNCTION trim_cvs_quote() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$
 declare
         modified import_tmp%ROWTYPE;
@@ -1168,12 +2107,12 @@ begin
         modified.num_compte=replace(NEW.NUM_COMPTE,'"','');
         return modified;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
 
 
 
 CREATE FUNCTION trim_space_format_csv_banque() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$
 declare
         modified format_csv_banque%ROWTYPE;
@@ -1189,12 +2128,12 @@ begin
 
         return modified;
 end;
-$$
-    LANGUAGE plpgsql;
+$$;
 
 
 
 CREATE FUNCTION tva_delete(integer) RETURNS void
+    LANGUAGE plpgsql
     AS $_$ 
 declare
        p_tva_id alias for $1;
@@ -1215,12 +2154,12 @@ begin
 delete from tva_rate where tva_id=p_tva_id;
        return;
 end;
-$_$
-    LANGUAGE plpgsql;
+$_$;
 
 
 
-CREATE FUNCTION tva_insert(text, numeric, text, text) RETURNS integer
+CREATE FUNCTION tva_insert(text, numeric, text, text, integer) RETURNS integer
+    LANGUAGE plpgsql
     AS $_$
 declare
        l_tva_id integer;
@@ -1228,6 +2167,7 @@ declare
        p_tva_rate alias for $2;
        p_tva_comment alias for $3;
        p_tva_poste alias for $4;
+       p_tva_both_side alias for $5;
        debit text;
        credit text;
        nCount integer;
@@ -1247,16 +2187,16 @@ if length(trim(p_tva_poste)) != 0 then
 
 end if;
 select into l_tva_id nextval('s_tva') ;
-insert into tva_rate(tva_id,tva_label,tva_rate,tva_comment,tva_poste)
-       values (l_tva_id,p_tva_label,p_tva_rate,p_tva_comment,p_tva_poste);
+insert into 
tva_rate(tva_id,tva_label,tva_rate,tva_comment,tva_poste,tva_both_side)
+       values 
(l_tva_id,p_tva_label,p_tva_rate,p_tva_comment,p_tva_poste,p_tva_both_side);
 return 0;
 end;
-$_$
-    LANGUAGE plpgsql;
+$_$;
 
 
 
-CREATE FUNCTION tva_modify(integer, text, numeric, text, text) RETURNS integer
+CREATE FUNCTION tva_modify(integer, text, numeric, text, text, integer) 
RETURNS integer
+    LANGUAGE plpgsql
     AS $_$
 declare
        p_tva_id alias for $1;
@@ -1264,6 +2204,7 @@ declare
        p_tva_rate alias for $3;
        p_tva_comment alias for $4;
        p_tva_poste alias for $5;
+       p_tva_both_side alias for $6;
        debit text;
        credit text;
        nCount integer;
@@ -1282,76 +2223,84 @@ if length(trim(p_tva_poste)) != 0 then
        if nCount = 0 then return 4; end if;
 
 end if;
-update tva_rate set 
tva_label=p_tva_label,tva_rate=p_tva_rate,tva_comment=p_tva_comment,tva_poste=p_tva_poste
+update tva_rate set 
tva_label=p_tva_label,tva_rate=p_tva_rate,tva_comment=p_tva_comment,tva_poste=p_tva_poste,tva_both_side=p_tva_both_side
        where tva_id=p_tva_id;
 return 0;
 end;
-$_$
-    LANGUAGE plpgsql;
+$_$;
 
 
 
 CREATE FUNCTION update_quick_code(njft_id integer, tav_text text) RETURNS 
integer
-    AS $$
+    LANGUAGE plpgsql
+    AS $_$
        declare
        ns integer;
        nExist integer;
        tText text;
+       tBase text;
        old_qcode varchar;
+       num_rows_jrnx integer;
+       num_rows_predef integer;
        begin
        -- get current value
-       select av_text into old_qcode from attr_value where jft_id=njft_id;
+       select ad_value into old_qcode from fiche_detail where jft_id=njft_id;
        -- av_text didn't change so no update
        if tav_text = upper( trim(old_qcode)) then
+               raise notice 'nothing to change % %' , tav_text,old_qcode;
                return 0;
        end if;
-       
-       tText := trim(upper(tav_text));
+
+       tText := trim(lower(tav_text));
        tText := replace(tText,' ','');
+        -- valid alpha is [ . : - _ ]
+       tText := translate(tText,E' $€µ£%+/\\!(){}(),;&|"#''^<>*','');
+       tText := translate(tText,E'éèêëàâäïîüûùöôç','eeeeaaaiiuuuooc');
+       tText := upper(tText);
        if length ( tText) = 0 or tText is null then
                return 0;
        end if;
-               
-       ns := njft_id;
 
+       ns := njft_id;
+       tBase := tText;
        loop
                -- av_text already used ?
-               select count(*) into nExist 
-                       from jnt_fic_att_value join attr_value using (jft_id) 
-               where 
-                       ad_id=23 and av_text=tText;
+               select count(*) into nExist
+                       from fiche_detail
+               where
+                       ad_id=23 and ad_value=tText
+                       and jft_id <> njft_id;
 
                if nExist = 0 then
                        exit;
-               end if; 
-               if tText = 'FID'||ns then
+               end if;
+               if tText = tBase||ns then
                        -- take the next sequence
                        select nextval('s_jnt_fic_att_value') into ns;
                end if;
-               tText  :='FID'||ns;
-               
+               tText  :=tBase||ns;
+
        end loop;
-       update attr_value set av_text = tText where jft_id=njft_id;
+       update fiche_detail set ad_value = tText where jft_id=njft_id;
 
        -- update also the contact
-       update attr_value set av_text = tText 
-               where jft_id in 
-                       ( select jft_id 
-                               from jnt_fic_att_value join attr_value using 
(jft_id) 
-                       where ad_id=25 and av_text=old_qcode);
+       update fiche_detail set ad_value = tText
+               where jft_id in
+                       ( select jft_id
+                               from fiche_detail
+                       where ad_id=25 and ad_value=old_qcode);
 
 
-       update jrnx set j_qcode=tText where j_qcode = old_qcode;
        return ns;
        end;
-$$
-    LANGUAGE plpgsql;
+$_$;
 
 
 SET search_path = public, pg_catalog;
 
 
 CREATE FUNCTION bud_card_ins_upd() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$declare
  sCode text;
 begin
@@ -1361,12 +2310,12 @@ sCode:=replace(sCode,' ','_');
 sCode:=substr(sCode,1,10);
 NEW.bc_code:=sCode;
 return NEW;
-end;$$
-    LANGUAGE plpgsql;
+end;$$;
 
 
 
 CREATE FUNCTION bud_detail_ins_upd() RETURNS trigger
+    LANGUAGE plpgsql
     AS $$declare
 mline bud_detail%ROWTYPE;
 begin
@@ -1375,20 +2324,210 @@ if mline.po_id = -1 then
    mline.po_id:=NULL;
 end if;
 return mline;
-end;$$
-    LANGUAGE plpgsql;
+end;$$;
 
 
-SET default_tablespace = '';
 
-SET default_with_oids = true;
+CREATE FUNCTION correct_quant_purchase() RETURNS void
+    LANGUAGE plpgsql
+    AS $$
+declare
+       r_invalid quant_purchase;
+       s_QuickCode text;
+       b_j_debit bool;
+       r_new record;
+       r_jrnx record;
+begin
 
+for r_invalid in select * from quant_purchase where qp_valid='A'
+loop
 
-CREATE TABLE action (
-    ac_id integer NOT NULL,
+select j_qcode into s_QuickCode from vw_poste_qcode where 
f_id=r_invalid.qp_fiche;
+raise notice 'qp_id % Quick code is %',r_invalid.qp_id,s_QuickCode;
+
+select j_debit,j_grpt,j_jrn_def,j_montant into r_jrnx from jrnx where 
j_id=r_invalid.j_id;
+if NOT FOUND then
+       raise notice 'error not found jrnx %',r_invalid.j_id;
+       update quant_purchase set qp_valid='Y' where qp_id=r_invalid.qp_id;
+       continue;
+end if;
+raise notice 'j_debit % , j_grpt % ,j_jrn_def  % qp_price 
%',r_jrnx.j_debit,r_jrnx.j_grpt,r_jrnx.j_jrn_def ,r_invalid.qp_price;
+
+select jr_internal,j_id,j_montant into r_new
+       from jrnx join jrn on (j_grpt=jr_grpt_id)
+       where 
+       j_jrn_def=r_jrnx.j_jrn_def
+       and j_id not in (select j_id from  quant_purchase)
+       and j_qcode=s_QuickCode
+       and j_montant=r_jrnx.j_montant
+       and j_debit != r_jrnx.j_debit;
+
+if NOT FOUND then
+       raise notice 'error not found %', r_invalid.j_id;
+       update quant_purchase set qp_valid='Y' where qp_id=r_invalid.qp_id;
+       continue;     
+end if;
+raise notice 'j_id % found amount %',r_new.j_id,r_new.j_montant;
+
+insert into quant_purchase 
(qp_internal,j_id,qp_fiche,qp_quantite,qp_price,qp_vat,qp_nd_amount,qp_nd_tva_recup,qp_valid,qp_dep_priv,qp_supplier,qp_vat_code)
+values 
(r_new.jr_internal,r_invalid.j_id,r_invalid.qp_fiche,(r_invalid.qp_quantite * 
(-1)),r_invalid.qp_price * 
(-1),r_invalid.qp_vat*(-1),r_invalid.qp_nd_amount*(-1),r_invalid.qp_nd_tva_recup*(-1)
 ,'Y',r_invalid.qp_dep_priv*(-1),r_invalid.qp_supplier,r_invalid.qp_vat_code);
+
+update quant_purchase set qp_valid='Y' where qp_id=r_invalid.qp_id;
+end loop;
+return;
+end;
+$$;
+
+
+
+CREATE FUNCTION correct_quant_sale() RETURNS void
+    LANGUAGE plpgsql
+    AS $$
+declare
+       r_invalid quant_sold;
+       s_QuickCode text;
+       b_j_debit bool;
+       r_new record;
+       r_jrnx record;
+begin
+
+for r_invalid in select * from quant_sold where qs_valid='A'
+loop
+
+select j_qcode into s_QuickCode from vw_poste_qcode where 
f_id=r_invalid.qs_fiche;
+raise notice 'qp_id % Quick code is %',r_invalid.qs_id,s_QuickCode;
+
+select j_debit,j_grpt,j_jrn_def,j_montant into r_jrnx from jrnx where 
j_id=r_invalid.j_id;
+if NOT FOUND then
+       update quant_sold set qs_valid='Y' where qs_id=r_invalid.qs_id;
+       raise notice 'error not found jrnx %',r_invalid.j_id;
+       continue;
+end if;
+raise notice 'j_debit % , j_grpt % ,j_jrn_def  % qs_price 
%',r_jrnx.j_debit,r_jrnx.j_grpt,r_jrnx.j_jrn_def ,r_invalid.qs_price;
+
+select jr_internal,j_id,j_montant into r_new
+       from jrnx join jrn on (j_grpt=jr_grpt_id)
+       where 
+       j_jrn_def=r_jrnx.j_jrn_def
+       and j_id not in (select j_id from  quant_sold)
+       and j_qcode=s_QuickCode
+       and j_montant=r_jrnx.j_montant
+       and j_debit != r_jrnx.j_debit;
+
+if NOT FOUND then
+   update quant_sold set qs_valid='Y' where qs_id=r_invalid.qs_id;
+       raise notice 'error not found %', r_invalid.j_id;
+       continue;
+end if;
+raise notice 'j_id % found amount %',r_new.j_id,r_new.j_montant;
+
+
+ insert into quant_sold 
(qs_internal,j_id,qs_fiche,qs_quantite,qs_price,qs_vat,qs_valid,qs_client,qs_vat_code)
+ values 
(r_new.jr_internal,r_invalid.j_id,r_invalid.qs_fiche,(r_invalid.qs_quantite * 
(-1)),r_invalid.qs_price * 
(-1),r_invalid.qs_vat*(-1),'Y',r_invalid.qs_client,r_invalid.qs_vat_code);
+ update quant_sold set qs_valid='Y' where qs_id=r_invalid.qs_id;
+end loop;
+return;
+end;
+$$;
+
+
+
+CREATE FUNCTION modify_menu_system(n_profile numeric) RETURNS void
+    LANGUAGE plpgsql
+    AS $$
+declare 
+r_duplicate profile_menu%ROWTYPE;
+str_duplicate text;
+n_lowest_id numeric; -- lowest pm_id : update the dependency in profile_menu
+n_highest_id numeric; -- highest pm_id insert into profile_menu
+
+begin
+
+for str_duplicate in   
+       select me_code 
+       from profile_menu 
+       where 
+       p_id=n_profile and 
+       p_type_display <> 'P' and
+       pm_id_dep is null
+       group by me_code 
+       having count(*) > 1 
+loop
+       raise info 'str_duplicate %',str_duplicate;
+       for r_duplicate in select * 
+               from profile_menu 
+               where 
+               p_id=n_profile and
+               me_code_dep=str_duplicate
+       loop
+               raise info 'r_duplicate %',r_duplicate;
+               -- get the lowest 
+               select a.pm_id into n_lowest_id from profile_menu a join 
profile_menu b on (a.me_code=b.me_code and a.p_id = b.p_id)
+               where
+               a.me_code=str_duplicate
+               and a.p_id=n_profile
+               and a.pm_id < b.pm_id;
+               raise info 'lowest is %',n_lowest_id;
+               -- get the highest
+               select a.pm_id into n_highest_id from profile_menu a join 
profile_menu b on (a.me_code=b.me_code and a.p_id = b.p_id)
+               where
+               a.me_code=str_duplicate
+               and a.p_id=n_profile
+               and a.pm_id > b.pm_id;
+               raise info 'highest is %',n_highest_id;
+
+               -- update the first one
+               update profile_menu set pm_id_dep = n_lowest_id where 
pm_id=r_duplicate.pm_id;
+               -- insert a new one
+               insert into profile_menu (me_code,
+                       me_code_dep,
+                       p_id,
+                       p_order,
+                       p_type_display,
+                       pm_default,
+                       pm_id_dep)
+               values (r_duplicate.me_code,
+                       r_duplicate.me_code_dep,
+                       r_duplicate.p_id,
+                       r_duplicate.p_order,
+                       r_duplicate.p_type_display,
+                       r_duplicate.pm_default,
+                       n_highest_id);
+               
+       end loop;       
+
+end loop;      
+end;
+$$;
+
+
+
+CREATE FUNCTION upgrade_repo(p_version integer) RETURNS void
+    LANGUAGE plpgsql
+    AS $$
+declare 
+        is_mono integer;
+begin
+        select count (*) into is_mono from information_schema.tables where 
table_name='repo_version';
+        if is_mono = 1 then
+                update repo_version set val=p_version;
+        else
+                update version set val=p_version;
+        end if;
+end;
+$$;
+
+
+SET default_tablespace = '';
+
+SET default_with_oids = true;
+
+
+CREATE TABLE action (
+    ac_id integer NOT NULL,
     ac_description text NOT NULL,
     ac_module text,
-    ac_code character varying(9)
+    ac_code character varying(30)
 );
 
 
@@ -1452,8 +2591,8 @@ COMMENT ON COLUMN action_detail.ad_total_amount IS ' 
total amount';
 CREATE SEQUENCE action_detail_ad_id_seq
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 
 
@@ -1465,8 +2604,8 @@ ALTER SEQUENCE action_detail_ad_id_seq OWNED BY 
action_detail.ad_id;
 CREATE SEQUENCE action_gestion_ag_id_seq
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 
 
@@ -1476,19 +2615,18 @@ SET default_with_oids = true;
 CREATE TABLE action_gestion (
     ag_id integer DEFAULT nextval('action_gestion_ag_id_seq'::regclass) NOT 
NULL,
     ag_type integer,
-    f_id_dest integer NOT NULL,
-    ag_title character varying(70),
+    f_id_dest integer,
+    ag_title text,
     ag_timestamp timestamp without time zone DEFAULT now(),
-    ag_cal character(1) DEFAULT 'C'::bpchar,
     ag_ref_ag_id integer,
-    ag_comment text,
     ag_ref text,
     ag_hour text,
     ag_priority integer DEFAULT 2,
-    ag_dest text,
+    ag_dest bigint DEFAULT (-1) NOT NULL,
     ag_owner text,
     ag_contact bigint,
-    ag_state integer
+    ag_state integer,
+    ag_remind_date date
 );
 
 
@@ -1513,18 +2651,10 @@ COMMENT ON COLUMN action_gestion.ag_timestamp IS ' ';
 
 
 
-COMMENT ON COLUMN action_gestion.ag_cal IS ' visible in the calendar if = C';
-
-
-
 COMMENT ON COLUMN action_gestion.ag_ref_ag_id IS ' concerning the action ';
 
 
 
-COMMENT ON COLUMN action_gestion.ag_comment IS ' comment of the action';
-
-
-
 COMMENT ON COLUMN action_gestion.ag_ref IS 'its reference ';
 
 
@@ -1533,7 +2663,7 @@ COMMENT ON COLUMN action_gestion.ag_priority IS 'Low, 
medium, important ';
 
 
 
-COMMENT ON COLUMN action_gestion.ag_dest IS ' is the person who has to take 
care of this action ';
+COMMENT ON COLUMN action_gestion.ag_dest IS ' is the profile which has to take 
care of this action ';
 
 
 
@@ -1548,10 +2678,181 @@ COMMENT ON COLUMN action_gestion.ag_contact IS ' 
contact of the third part ';
 COMMENT ON COLUMN action_gestion.ag_state IS 'state of the action same as 
document_state ';
 
 
+SET default_with_oids = false;
+
+
+CREATE TABLE action_gestion_comment (
+    agc_id bigint NOT NULL,
+    ag_id bigint,
+    agc_date timestamp with time zone DEFAULT now(),
+    agc_comment text,
+    tech_user text
+);
+
+
+
+COMMENT ON COLUMN action_gestion_comment.agc_id IS 'PK';
+
+
+
+COMMENT ON COLUMN action_gestion_comment.ag_id IS 'FK to action_gestion';
+
+
+
+COMMENT ON COLUMN action_gestion_comment.agc_comment IS 'comment';
+
+
+
+COMMENT ON COLUMN action_gestion_comment.tech_user IS 'user_login';
+
+
+
+CREATE SEQUENCE action_gestion_comment_agc_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+ALTER SEQUENCE action_gestion_comment_agc_id_seq OWNED BY 
action_gestion_comment.agc_id;
+
+
+
+CREATE TABLE action_gestion_operation (
+    ago_id bigint NOT NULL,
+    ag_id bigint,
+    jr_id bigint
+);
+
+
+
+COMMENT ON COLUMN action_gestion_operation.ago_id IS 'pk';
+
+
+
+COMMENT ON COLUMN action_gestion_operation.ag_id IS 'fk to action_gestion';
+
+
+
+COMMENT ON COLUMN action_gestion_operation.jr_id IS 'fk to jrn';
+
+
+
+CREATE SEQUENCE action_gestion_operation_ago_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+ALTER SEQUENCE action_gestion_operation_ago_id_seq OWNED BY 
action_gestion_operation.ago_id;
+
+
+
+CREATE TABLE action_gestion_related (
+    aga_id bigint NOT NULL,
+    aga_least bigint NOT NULL,
+    aga_greatest bigint NOT NULL,
+    aga_type bigint
+);
+
+
+
+COMMENT ON COLUMN action_gestion_related.aga_id IS 'pk';
+
+
+
+COMMENT ON COLUMN action_gestion_related.aga_least IS 'fk to action_gestion, 
smallest ag_id';
+
+
+
+COMMENT ON COLUMN action_gestion_related.aga_greatest IS 'fk to action_gestion 
greatest ag_id';
+
+
+
+COMMENT ON COLUMN action_gestion_related.aga_type IS 'Type de liens';
+
+
+
+CREATE SEQUENCE action_gestion_related_aga_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+ALTER SEQUENCE action_gestion_related_aga_id_seq OWNED BY 
action_gestion_related.aga_id;
+
+
+
+CREATE TABLE action_person (
+    ap_id integer NOT NULL,
+    ag_id integer NOT NULL,
+    f_id integer NOT NULL
+);
+
+
+
+COMMENT ON TABLE action_person IS 'Person involved in the action';
+
+
+
+COMMENT ON COLUMN action_person.ap_id IS 'pk';
+
+
+
+COMMENT ON COLUMN action_person.ag_id IS 'fk to fiche';
+
+
+
+CREATE SEQUENCE action_person_ap_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+ALTER SEQUENCE action_person_ap_id_seq OWNED BY action_person.ap_id;
+
+
+
+CREATE TABLE action_tags (
+    at_id integer NOT NULL,
+    t_id integer,
+    ag_id integer
+);
+
+
+
+CREATE SEQUENCE action_tags_at_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+ALTER SEQUENCE action_tags_at_id_seq OWNED BY action_tags.at_id;
+
+
+SET default_with_oids = true;
+
 
 CREATE TABLE attr_def (
     ad_id integer DEFAULT nextval(('s_attr_def'::text)::regclass) NOT NULL,
-    ad_text text
+    ad_text text,
+    ad_type text,
+    ad_size text NOT NULL,
+    ad_extra text
 );
 
 
@@ -1561,8 +2862,8 @@ COMMENT ON TABLE attr_def IS 'The available attributs for 
the cards';
 
 
 CREATE TABLE attr_min (
-    frd_id integer,
-    ad_id integer
+    frd_id integer NOT NULL,
+    ad_id integer NOT NULL
 );
 
 
@@ -1571,17 +2872,11 @@ COMMENT ON TABLE attr_min IS 'The value of  attributs 
for the cards';
 
 
 
-CREATE TABLE attr_value (
-    jft_id integer,
-    av_text text
-);
-
-
-
 CREATE SEQUENCE bilan_b_id_seq
+    START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 
 
@@ -1622,11 +2917,37 @@ COMMENT ON COLUMN bilan.b_type IS 'type = ODS, RTF...';
 
 
 
-CREATE SEQUENCE bud_card_bc_id_seq
+CREATE TABLE bookmark (
+    b_id integer NOT NULL,
+    b_order integer DEFAULT 1,
+    b_action text,
+    login text
+);
+
+
+
+COMMENT ON TABLE bookmark IS 'Bookmark of the connected user';
+
+
+
+CREATE SEQUENCE bookmark_b_id_seq
     START WITH 1
     INCREMENT BY 1
+    NO MINVALUE
     NO MAXVALUE
+    CACHE 1;
+
+
+
+ALTER SEQUENCE bookmark_b_id_seq OWNED BY bookmark.b_id;
+
+
+
+CREATE SEQUENCE bud_card_bc_id_seq
+    START WITH 1
+    INCREMENT BY 1
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 
 
@@ -1634,8 +2955,8 @@ CREATE SEQUENCE bud_card_bc_id_seq
 CREATE SEQUENCE bud_detail_bd_id_seq
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 
 
@@ -1643,8 +2964,8 @@ CREATE SEQUENCE bud_detail_bd_id_seq
 CREATE SEQUENCE bud_detail_periode_bdp_id_seq
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 
 
@@ -1687,8 +3008,8 @@ CREATE TABLE del_action (
 CREATE SEQUENCE del_action_del_id_seq
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 
 
@@ -1717,11 +3038,25 @@ CREATE TABLE del_jrn (
     jr_pj_name text,
     jr_pj_type text,
     del_jrn_date timestamp without time zone,
-    jr_pj_number text
+    jr_pj_number text,
+    dj_id integer NOT NULL
 );
 
 
 
+CREATE SEQUENCE del_jrn_dj_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+ALTER SEQUENCE del_jrn_dj_id_seq OWNED BY del_jrn.dj_id;
+
+
+
 CREATE TABLE del_jrnx (
     j_id integer NOT NULL,
     j_date date,
@@ -1737,16 +3072,31 @@ CREATE TABLE del_jrnx (
     j_tech_user text,
     j_tech_date timestamp without time zone,
     j_tech_per integer,
-    j_qcode text
+    j_qcode text,
+    djx_id integer NOT NULL,
+    f_id bigint
 );
 
 
 
-CREATE SEQUENCE document_d_id_seq
+CREATE SEQUENCE del_jrnx_djx_id_seq
     START WITH 1
     INCREMENT BY 1
+    NO MINVALUE
     NO MAXVALUE
+    CACHE 1;
+
+
+
+ALTER SEQUENCE del_jrnx_djx_id_seq OWNED BY del_jrnx.djx_id;
+
+
+
+CREATE SEQUENCE document_d_id_seq
+    START WITH 1
+    INCREMENT BY 1
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 
 
@@ -1759,7 +3109,8 @@ CREATE TABLE document (
     d_lob oid,
     d_number bigint NOT NULL,
     d_filename text,
-    d_mimetype text
+    d_mimetype text,
+    d_description text
 );
 
 
@@ -1771,8 +3122,8 @@ COMMENT ON TABLE document IS 'This table contains all the 
documents : summary an
 CREATE SEQUENCE document_modele_md_id_seq
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 
 
@@ -1796,8 +3147,8 @@ COMMENT ON TABLE document_modele IS ' contains all the 
template for the  documen
 CREATE SEQUENCE document_seq
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 
 
@@ -1807,16 +3158,18 @@ COMMENT ON SEQUENCE document_seq IS 'Sequence for the 
sequence bound to the docu
 
 
 CREATE SEQUENCE document_state_s_id_seq
+    START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 
 
 
 CREATE TABLE document_state (
     s_id integer DEFAULT nextval('document_state_s_id_seq'::regclass) NOT NULL,
-    s_value character varying(50) NOT NULL
+    s_value character varying(50) NOT NULL,
+    s_status character(1)
 );
 
 
@@ -1828,15 +3181,16 @@ COMMENT ON TABLE document_state IS 'State of the 
document';
 CREATE SEQUENCE document_type_dt_id_seq
     START WITH 25
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 
 
 
 CREATE TABLE document_type (
     dt_id integer DEFAULT nextval('document_type_dt_id_seq'::regclass) NOT 
NULL,
-    dt_value character varying(80)
+    dt_value character varying(80),
+    dt_prefix text
 );
 
 
@@ -1844,6 +3198,10 @@ CREATE TABLE document_type (
 COMMENT ON TABLE document_type IS 'Type of document : meeting, invoice,...';
 
 
+
+COMMENT ON COLUMN document_type.dt_prefix IS 'Prefix for ag_ref';
+
+
 SET default_with_oids = false;
 
 
@@ -1887,9 +3245,10 @@ COMMENT ON COLUMN extension.ex_enable IS 'Y : enabled N 
: disabled ';
 
 
 CREATE SEQUENCE extension_ex_id_seq
+    START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 
 
@@ -1916,7 +3275,8 @@ CREATE TABLE fiche_def (
     fd_class_base text,
     fd_label text NOT NULL,
     fd_create_account boolean DEFAULT false,
-    frd_id integer NOT NULL
+    frd_id integer NOT NULL,
+    fd_description text
 );
 
 
@@ -1928,7 +3288,7 @@ COMMENT ON TABLE fiche_def IS 'Cards definition';
 CREATE TABLE fiche_def_ref (
     frd_id integer DEFAULT nextval(('s_fiche_def_ref'::text)::regclass) NOT 
NULL,
     frd_text text,
-    frd_class_base integer
+    frd_class_base account_type
 );
 
 
@@ -1936,12 +3296,27 @@ CREATE TABLE fiche_def_ref (
 COMMENT ON TABLE fiche_def_ref IS 'Family Cards definition';
 
 
+
+CREATE TABLE fiche_detail (
+    jft_id integer DEFAULT nextval(('s_jnt_fic_att_value'::text)::regclass) 
NOT NULL,
+    f_id integer,
+    ad_id integer,
+    ad_value text
+);
+
+
+
+COMMENT ON TABLE fiche_detail IS 'join between the card and the attribut 
definition';
+
+
 SET default_with_oids = false;
 
 
 CREATE TABLE forecast (
     f_id integer NOT NULL,
-    f_name text NOT NULL
+    f_name text NOT NULL,
+    f_start_date bigint,
+    f_end_date bigint
 );
 
 
@@ -1978,8 +3353,8 @@ COMMENT ON COLUMN forecast_cat.fc_order IS 'Order of the 
category, used when dis
 CREATE SEQUENCE forecast_cat_fc_id_seq
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 
 
@@ -1991,8 +3366,8 @@ ALTER SEQUENCE forecast_cat_fc_id_seq OWNED BY 
forecast_cat.fc_id;
 CREATE SEQUENCE forecast_f_id_seq
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 
 
@@ -2050,8 +3425,8 @@ COMMENT ON COLUMN forecast_item.fi_pid IS '0 for every 
month, or the value parm_
 CREATE SEQUENCE forecast_item_fi_id_seq
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 
 
@@ -2076,13 +3451,6 @@ COMMENT ON TABLE form IS 'Forms content';
 
 
 
-CREATE TABLE format_csv_banque (
-    name text NOT NULL,
-    include_file text NOT NULL
-);
-
-
-
 CREATE TABLE formdef (
     fr_id integer DEFAULT nextval(('s_formdef'::text)::regclass) NOT NULL,
     fr_label text
@@ -2103,42 +3471,11 @@ CREATE TABLE groupe_analytique (
 CREATE SEQUENCE historique_analytique_ha_id_seq
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 
 
-SET default_with_oids = true;
-
-
-CREATE TABLE import_tmp (
-    code text NOT NULL,
-    date_exec date NOT NULL,
-    date_valeur date NOT NULL,
-    devise text,
-    compte_ordre text,
-    detail text,
-    num_compte text,
-    poste_comptable text,
-    status character varying(1) DEFAULT 'n'::character varying NOT NULL,
-    bq_account text NOT NULL,
-    jrn integer NOT NULL,
-    jr_rapt text,
-    montant numeric(20,4) DEFAULT 0 NOT NULL,
-    CONSTRAINT import_tmp_status_check CHECK ((((((status)::text = 'n'::text) 
OR ((status)::text = 't'::text)) OR ((status)::text = 'd'::text)) OR 
((status)::text = 'w'::text)))
-);
-
-
-
-COMMENT ON TABLE import_tmp IS 'Table temporaire pour l''importation des 
banques en format CSV';
-
-
-
-COMMENT ON COLUMN import_tmp.status IS 'Status w waiting, d delete t 
transfert';
-
-
-SET default_with_oids = false;
-
 
 CREATE TABLE info_def (
     id_type text NOT NULL,
@@ -2150,28 +3487,17 @@ CREATE TABLE info_def (
 COMMENT ON TABLE info_def IS 'Contains the types of additionnal info we can 
add to a operation';
 
 
-SET default_with_oids = true;
-
-
-CREATE TABLE jnt_fic_att_value (
-    jft_id integer DEFAULT nextval(('s_jnt_fic_att_value'::text)::regclass) 
NOT NULL,
-    f_id integer,
-    ad_id integer
-);
-
-
-
-COMMENT ON TABLE jnt_fic_att_value IS 'join between the card and the attribut 
definition';
-
-
 
 CREATE SEQUENCE s_jnt_id
+    START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 
 
+SET default_with_oids = true;
+
 
 CREATE TABLE jnt_fic_attr (
     fd_id integer,
@@ -2198,8 +3524,8 @@ CREATE TABLE jnt_letter (
 CREATE SEQUENCE jnt_letter_jl_id_seq
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 
 
@@ -2230,7 +3556,8 @@ CREATE TABLE jrn (
     jr_pj_name text,
     jr_pj_type text,
     jr_pj_number text,
-    jr_mt text
+    jr_mt text,
+    jr_date_paid date
 );
 
 
@@ -2239,22 +3566,6 @@ COMMENT ON TABLE jrn IS 'Journal: content one line for a 
group of accountancy wr
 
 
 
-CREATE TABLE jrn_action (
-    ja_id integer DEFAULT nextval(('s_jrnaction'::text)::regclass) NOT NULL,
-    ja_name text NOT NULL,
-    ja_desc text,
-    ja_url text NOT NULL,
-    ja_action text NOT NULL,
-    ja_lang text DEFAULT 'FR'::text,
-    ja_jrn_type character(3)
-);
-
-
-
-COMMENT ON TABLE jrn_action IS 'Possible action when we are in journal (menu)';
-
-
-
 CREATE TABLE jrn_def (
     jrn_def_id integer DEFAULT nextval(('s_jrn_def'::text)::regclass) NOT NULL,
     jrn_def_name text NOT NULL,
@@ -2268,7 +3579,10 @@ CREATE TABLE jrn_def (
     jrn_def_ech_lib text,
     jrn_def_type character(3) NOT NULL,
     jrn_def_code text NOT NULL,
-    jrn_def_pj_pref text
+    jrn_def_pj_pref text,
+    jrn_def_bank bigint,
+    jrn_def_num_op integer,
+    jrn_def_description text
 );
 
 
@@ -2291,8 +3605,8 @@ CREATE TABLE jrn_info (
 CREATE SEQUENCE jrn_info_ji_id_seq
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 
 
@@ -2301,6 +3615,31 @@ ALTER SEQUENCE jrn_info_ji_id_seq OWNED BY 
jrn_info.ji_id;
 
 
 
+CREATE TABLE jrn_note (
+    n_id integer NOT NULL,
+    n_text text,
+    jr_id bigint NOT NULL
+);
+
+
+
+COMMENT ON TABLE jrn_note IS 'Note about operation';
+
+
+
+CREATE SEQUENCE jrn_note_n_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+ALTER SEQUENCE jrn_note_n_id_seq OWNED BY jrn_note.n_id;
+
+
+
 CREATE TABLE jrn_periode (
     jrn_def_id integer NOT NULL,
     p_id integer NOT NULL,
@@ -2349,7 +3688,8 @@ CREATE TABLE jrnx (
     j_tech_user text NOT NULL,
     j_tech_date timestamp without time zone DEFAULT now() NOT NULL,
     j_tech_per integer NOT NULL,
-    j_qcode text
+    j_qcode text,
+    f_id bigint
 );
 
 
@@ -2360,1015 +3700,2425 @@ COMMENT ON TABLE jrnx IS 'Journal: content one line 
for each accountancy writing
 SET default_with_oids = false;
 
 
-CREATE TABLE letter_cred (
-    lc_id integer NOT NULL,
-    j_id bigint NOT NULL,
-    jl_id bigint NOT NULL
+CREATE TABLE key_distribution (
+    kd_id integer NOT NULL,
+    kd_name text,
+    kd_description text
 );
 
 
 
-CREATE SEQUENCE letter_cred_lc_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
+COMMENT ON TABLE key_distribution IS 'Distribution key for analytic';
 
 
 
-ALTER SEQUENCE letter_cred_lc_id_seq OWNED BY letter_cred.lc_id;
+COMMENT ON COLUMN key_distribution.kd_id IS 'PK';
 
 
 
-CREATE TABLE letter_deb (
-    ld_id integer NOT NULL,
-    j_id bigint NOT NULL,
-    jl_id bigint NOT NULL
-);
+COMMENT ON COLUMN key_distribution.kd_name IS 'Name of the key';
 
 
 
-CREATE SEQUENCE letter_deb_ld_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
+COMMENT ON COLUMN key_distribution.kd_description IS 'Description of the key';
 
 
 
-ALTER SEQUENCE letter_deb_ld_id_seq OWNED BY letter_deb.ld_id;
+CREATE TABLE key_distribution_activity (
+    ka_id integer NOT NULL,
+    ke_id bigint NOT NULL,
+    po_id bigint,
+    pa_id bigint NOT NULL
+);
 
 
 
-CREATE TABLE mod_payment (
-    mp_id integer NOT NULL,
-    mp_lib text NOT NULL,
-    mp_jrn_def_id integer NOT NULL,
-    mp_type character varying(3) NOT NULL,
-    mp_fd_id bigint,
-    mp_qcode text
-);
+COMMENT ON TABLE key_distribution_activity IS 'Contains the analytic account';
 
 
 
-COMMENT ON TABLE mod_payment IS 'Contains the different media of payment and 
the corresponding ledger';
+COMMENT ON COLUMN key_distribution_activity.ka_id IS 'pk';
 
 
 
-CREATE SEQUENCE mod_payment_mp_id_seq
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
+COMMENT ON COLUMN key_distribution_activity.ke_id IS 'fk to 
key_distribution_detail';
 
 
 
-ALTER SEQUENCE mod_payment_mp_id_seq OWNED BY mod_payment.mp_id;
+COMMENT ON COLUMN key_distribution_activity.po_id IS 'fk to poste_analytique';
 
 
 
-CREATE SEQUENCE op_def_op_seq
+COMMENT ON COLUMN key_distribution_activity.pa_id IS 'fk to plan_analytique';
+
+
+
+CREATE SEQUENCE key_distribution_activity_ka_id_seq
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 
 
 
-CREATE TABLE op_predef (
-    od_id integer DEFAULT nextval('op_def_op_seq'::regclass) NOT NULL,
-    jrn_def_id integer NOT NULL,
-    od_name text NOT NULL,
-    od_item integer NOT NULL,
-    od_jrn_type text NOT NULL,
-    od_direct boolean NOT NULL
+ALTER SEQUENCE key_distribution_activity_ka_id_seq OWNED BY 
key_distribution_activity.ka_id;
+
+
+
+CREATE TABLE key_distribution_detail (
+    ke_id integer NOT NULL,
+    kd_id bigint NOT NULL,
+    ke_row integer NOT NULL,
+    ke_percent numeric(20,4) NOT NULL
 );
 
 
 
-COMMENT ON TABLE op_predef IS 'predefined operation';
+COMMENT ON TABLE key_distribution_detail IS 'Row of activity and percent';
 
 
 
-COMMENT ON COLUMN op_predef.jrn_def_id IS 'jrn_id';
+COMMENT ON COLUMN key_distribution_detail.ke_id IS 'pk';
 
 
 
-COMMENT ON COLUMN op_predef.od_name IS 'name of the operation';
+COMMENT ON COLUMN key_distribution_detail.kd_id IS 'fk to key_distribution';
 
 
 
-CREATE SEQUENCE op_predef_detail_opd_id_seq
+COMMENT ON COLUMN key_distribution_detail.ke_row IS 'group order';
+
+
+
+CREATE SEQUENCE key_distribution_detail_ke_id_seq
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 
 
 
-CREATE TABLE op_predef_detail (
-    opd_id integer DEFAULT nextval('op_predef_detail_opd_id_seq'::regclass) 
NOT NULL,
-    od_id integer NOT NULL,
-    opd_poste text NOT NULL,
-    opd_amount numeric(20,4),
-    opd_tva_id integer,
-    opd_quantity numeric(20,4),
-    opd_debit boolean NOT NULL,
-    opd_tva_amount numeric(20,4),
-    opd_comment text,
-    opd_qc boolean
-);
-
-
-
-COMMENT ON TABLE op_predef_detail IS 'contains the detail of predefined 
operations';
+ALTER SEQUENCE key_distribution_detail_ke_id_seq OWNED BY 
key_distribution_detail.ke_id;
 
 
 
-CREATE SEQUENCE s_oa_group
+CREATE SEQUENCE key_distribution_kd_id_seq
+    START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 
 
 
-CREATE TABLE operation_analytique (
-    oa_id integer DEFAULT nextval('historique_analytique_ha_id_seq'::regclass) 
NOT NULL,
-    po_id integer NOT NULL,
-    pa_id integer NOT NULL,
-    oa_amount numeric(20,4) NOT NULL,
-    oa_description text,
-    oa_debit boolean DEFAULT true NOT NULL,
-    j_id integer,
-    oa_group integer DEFAULT nextval('s_oa_group'::regclass) NOT NULL,
-    oa_date date NOT NULL,
-    oa_row integer
-);
+ALTER SEQUENCE key_distribution_kd_id_seq OWNED BY key_distribution.kd_id;
 
 
 
-COMMENT ON TABLE operation_analytique IS 'History of the analytic account';
+CREATE TABLE key_distribution_ledger (
+    kl_id integer NOT NULL,
+    kd_id bigint NOT NULL,
+    jrn_def_id bigint NOT NULL
+);
 
 
-SET default_with_oids = true;
 
+COMMENT ON TABLE key_distribution_ledger IS 'Legder where the distribution key 
can be used';
 
-CREATE TABLE parameter (
-    pr_id text NOT NULL,
-    pr_value text
-);
 
 
+COMMENT ON COLUMN key_distribution_ledger.kl_id IS 'pk';
 
-COMMENT ON TABLE parameter IS 'parameter of the company';
 
 
+COMMENT ON COLUMN key_distribution_ledger.kd_id IS 'fk to key_distribution';
 
-CREATE TABLE parm_code (
-    p_code text NOT NULL,
-    p_value text,
-    p_comment text
-);
 
 
+COMMENT ON COLUMN key_distribution_ledger.jrn_def_id IS 'fk to jrnd_def, 
ledger where this key is available';
 
-CREATE TABLE parm_money (
-    pm_id integer DEFAULT nextval(('s_currency'::text)::regclass),
-    pm_code character(3) NOT NULL,
-    pm_rate numeric(20,4)
-);
 
 
+CREATE SEQUENCE key_distribution_ledger_kl_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
 
-COMMENT ON TABLE parm_money IS 'Currency conversion';
 
 
+ALTER SEQUENCE key_distribution_ledger_kl_id_seq OWNED BY 
key_distribution_ledger.kl_id;
 
-CREATE TABLE parm_periode (
-    p_id integer DEFAULT nextval(('s_periode'::text)::regclass) NOT NULL,
-    p_start date NOT NULL,
-    p_end date NOT NULL,
-    p_exercice text DEFAULT to_char(now(), 'YYYY'::text) NOT NULL,
-    p_closed boolean DEFAULT false,
-    p_central boolean DEFAULT false,
-    CONSTRAINT parm_periode_check CHECK ((p_end >= p_start))
-);
 
 
+CREATE TABLE letter_cred (
+    lc_id integer NOT NULL,
+    j_id bigint NOT NULL,
+    jl_id bigint NOT NULL
+);
 
-COMMENT ON TABLE parm_periode IS 'Periode definition';
 
 
-SET default_with_oids = false;
+CREATE SEQUENCE letter_cred_lc_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
 
 
-CREATE TABLE parm_poste (
-    p_value account_type NOT NULL,
-    p_type text NOT NULL
-);
+
+ALTER SEQUENCE letter_cred_lc_id_seq OWNED BY letter_cred.lc_id;
 
 
 
-COMMENT ON TABLE parm_poste IS 'Contains data for finding is the type of the 
account (asset)';
+CREATE TABLE letter_deb (
+    ld_id integer NOT NULL,
+    j_id bigint NOT NULL,
+    jl_id bigint NOT NULL
+);
 
 
 
-CREATE SEQUENCE plan_analytique_pa_id_seq
+CREATE SEQUENCE letter_deb_ld_id_seq
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 
 
 
-CREATE TABLE plan_analytique (
-    pa_id integer DEFAULT nextval('plan_analytique_pa_id_seq'::regclass) NOT 
NULL,
-    pa_name text DEFAULT 'Sans Nom'::text NOT NULL,
-    pa_description text
-);
+ALTER SEQUENCE letter_deb_ld_id_seq OWNED BY letter_deb.ld_id;
 
 
 
-COMMENT ON TABLE plan_analytique IS 'Plan Analytique (max 5)';
+CREATE TABLE link_action_type (
+    l_id bigint NOT NULL,
+    l_desc character varying
+);
 
 
 
-CREATE SEQUENCE poste_analytique_po_id_seq
+CREATE SEQUENCE link_action_type_l_id_seq
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 
 
 
-CREATE TABLE poste_analytique (
-    po_id integer DEFAULT nextval('poste_analytique_po_id_seq'::regclass) NOT 
NULL,
-    po_name text NOT NULL,
-    pa_id integer NOT NULL,
-    po_amount numeric(20,4) DEFAULT 0.0 NOT NULL,
-    po_description text,
-    ga_id character varying(10)
-);
+ALTER SEQUENCE link_action_type_l_id_seq OWNED BY link_action_type.l_id;
 
 
 
-COMMENT ON TABLE poste_analytique IS 'Poste Analytique';
+CREATE TABLE menu_default (
+    md_id integer NOT NULL,
+    md_code text NOT NULL,
+    me_code text NOT NULL
+);
 
 
 
-CREATE TABLE quant_purchase (
-    qp_id integer DEFAULT nextval(('s_quantity'::text)::regclass) NOT NULL,
-    qp_internal text NOT NULL,
-    j_id integer NOT NULL,
-    qp_fiche integer NOT NULL,
-    qp_quantite numeric(20,4) NOT NULL,
-    qp_price numeric(20,4),
-    qp_vat numeric(20,4) DEFAULT 0.0,
-    qp_vat_code integer,
-    qp_nd_amount numeric(20,4) DEFAULT 0.0,
-    qp_nd_tva numeric(20,4) DEFAULT 0.0,
-    qp_nd_tva_recup numeric(20,4) DEFAULT 0.0,
-    qp_supplier integer NOT NULL,
-    qp_valid character(1) DEFAULT 'Y'::bpchar NOT NULL,
-    qp_dep_priv numeric(20,4) DEFAULT 0.0
-);
+CREATE SEQUENCE menu_default_md_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
 
 
-SET default_with_oids = true;
 
+ALTER SEQUENCE menu_default_md_id_seq OWNED BY menu_default.md_id;
 
-CREATE TABLE quant_sold (
-    qs_id integer DEFAULT nextval(('s_quantity'::text)::regclass) NOT NULL,
-    qs_internal text NOT NULL,
-    qs_fiche integer NOT NULL,
-    qs_quantite numeric(20,4) NOT NULL,
-    qs_price numeric(20,4),
-    qs_vat numeric(20,4),
-    qs_vat_code integer,
-    qs_client integer NOT NULL,
-    qs_valid character(1) DEFAULT 'Y'::bpchar NOT NULL,
-    j_id integer NOT NULL
+
+
+CREATE TABLE menu_ref (
+    me_code text NOT NULL,
+    me_menu text,
+    me_file text,
+    me_url text,
+    me_description text,
+    me_parameter text,
+    me_javascript text,
+    me_type character varying(2),
+    me_description_etendue text
 );
 
 
 
-COMMENT ON TABLE quant_sold IS 'Contains about invoice for customer';
+COMMENT ON COLUMN menu_ref.me_code IS 'Menu Code ';
 
 
 
-CREATE SEQUENCE s_attr_def
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
+COMMENT ON COLUMN menu_ref.me_menu IS 'Label to display';
 
 
 
-CREATE SEQUENCE s_cbc
-    START WITH 1
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
+COMMENT ON COLUMN menu_ref.me_file IS 'if not empty file to include';
 
 
 
-CREATE SEQUENCE s_central
-    START WITH 1
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
+COMMENT ON COLUMN menu_ref.me_url IS 'url ';
 
 
 
-CREATE SEQUENCE s_central_order
-    START WITH 1
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
+COMMENT ON COLUMN menu_ref.me_type IS 'ME for menu
+PR for Printing
+SP for special meaning (ex: return to line)
+PL for plugin';
 
 
 
-CREATE SEQUENCE s_centralized
-    START WITH 1
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
+CREATE TABLE mod_payment (
+    mp_id integer NOT NULL,
+    mp_lib text NOT NULL,
+    mp_jrn_def_id integer NOT NULL,
+    mp_fd_id bigint,
+    mp_qcode text,
+    jrn_def_id bigint
+);
 
 
 
-CREATE SEQUENCE s_currency
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
+COMMENT ON TABLE mod_payment IS 'Contains the different media of payment and 
the corresponding ledger';
 
 
 
-CREATE SEQUENCE s_fdef
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
+COMMENT ON COLUMN mod_payment.jrn_def_id IS 'Ledger using this payment method';
 
 
 
-CREATE SEQUENCE s_fiche
+CREATE SEQUENCE mod_payment_mp_id_seq
+    START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 
 
 
-CREATE SEQUENCE s_fiche_def_ref
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
+ALTER SEQUENCE mod_payment_mp_id_seq OWNED BY mod_payment.mp_id;
 
 
 
-CREATE SEQUENCE s_form
+CREATE SEQUENCE op_def_op_seq
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 
 
 
-CREATE SEQUENCE s_formdef
-    START WITH 1
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
+CREATE TABLE op_predef (
+    od_id integer DEFAULT nextval('op_def_op_seq'::regclass) NOT NULL,
+    jrn_def_id integer NOT NULL,
+    od_name text NOT NULL,
+    od_item integer NOT NULL,
+    od_jrn_type text NOT NULL,
+    od_direct boolean NOT NULL,
+    od_description text
+);
 
 
 
-CREATE SEQUENCE s_grpt
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
+COMMENT ON TABLE op_predef IS 'predefined operation';
 
 
 
-CREATE SEQUENCE s_idef
-    START WITH 1
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
+COMMENT ON COLUMN op_predef.jrn_def_id IS 'jrn_id';
 
 
 
-CREATE SEQUENCE s_internal
-    START WITH 1
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
+COMMENT ON COLUMN op_predef.od_name IS 'name of the operation';
 
 
 
-CREATE SEQUENCE s_invoice
+CREATE SEQUENCE op_predef_detail_opd_id_seq
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 
 
 
-CREATE SEQUENCE s_isup
-    START WITH 1
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
+CREATE TABLE op_predef_detail (
+    opd_id integer DEFAULT nextval('op_predef_detail_opd_id_seq'::regclass) 
NOT NULL,
+    od_id integer NOT NULL,
+    opd_poste text NOT NULL,
+    opd_amount numeric(20,4),
+    opd_tva_id integer,
+    opd_quantity numeric(20,4),
+    opd_debit boolean NOT NULL,
+    opd_tva_amount numeric(20,4),
+    opd_comment text,
+    opd_qc boolean
+);
 
 
 
-CREATE SEQUENCE s_jnt_fic_att_value
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
+COMMENT ON TABLE op_predef_detail IS 'contains the detail of predefined 
operations';
 
 
 
-CREATE SEQUENCE s_jrn
+CREATE SEQUENCE s_oa_group
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 
 
 
-CREATE SEQUENCE s_jrn_1
-    START WITH 1
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
+CREATE TABLE operation_analytique (
+    oa_id integer DEFAULT nextval('historique_analytique_ha_id_seq'::regclass) 
NOT NULL,
+    po_id integer NOT NULL,
+    oa_amount numeric(20,4) NOT NULL,
+    oa_description text,
+    oa_debit boolean DEFAULT true NOT NULL,
+    j_id integer,
+    oa_group integer DEFAULT nextval('s_oa_group'::regclass) NOT NULL,
+    oa_date date NOT NULL,
+    oa_row integer,
+    oa_jrnx_id_source bigint,
+    oa_positive character(1) DEFAULT 'Y'::bpchar NOT NULL,
+    CONSTRAINT operation_analytique_oa_amount_check CHECK ((oa_amount >= 
(0)::numeric))
+);
 
 
 
-CREATE SEQUENCE s_jrn_2
-    START WITH 1
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
+COMMENT ON TABLE operation_analytique IS 'History of the analytic account';
 
 
 
-CREATE SEQUENCE s_jrn_3
-    START WITH 1
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
+COMMENT ON COLUMN operation_analytique.oa_jrnx_id_source IS 'jrnx.j_id source 
of this amount, this amount is computed from an amount giving a ND VAT.Normally 
NULL  is there is no ND VAT.';
+
+
+
+COMMENT ON COLUMN operation_analytique.oa_positive IS 'Sign of the amount';
+
+
+SET default_with_oids = true;
+
+
+CREATE TABLE parameter (
+    pr_id text NOT NULL,
+    pr_value text
+);
+
+
+
+COMMENT ON TABLE parameter IS 'parameter of the company';
+
+
+
+CREATE TABLE parm_code (
+    p_code text NOT NULL,
+    p_value text,
+    p_comment text
+);
+
+
+
+CREATE TABLE parm_money (
+    pm_id integer DEFAULT nextval(('s_currency'::text)::regclass),
+    pm_code character(3) NOT NULL,
+    pm_rate numeric(20,4)
+);
+
+
+
+COMMENT ON TABLE parm_money IS 'Currency conversion';
+
+
+
+CREATE TABLE parm_periode (
+    p_id integer DEFAULT nextval(('s_periode'::text)::regclass) NOT NULL,
+    p_start date NOT NULL,
+    p_end date NOT NULL,
+    p_exercice text DEFAULT to_char(now(), 'YYYY'::text) NOT NULL,
+    p_closed boolean DEFAULT false,
+    p_central boolean DEFAULT false,
+    CONSTRAINT parm_periode_check CHECK ((p_end >= p_start))
+);
+
+
+
+COMMENT ON TABLE parm_periode IS 'Periode definition';
+
+
+SET default_with_oids = false;
+
+
+CREATE TABLE parm_poste (
+    p_value account_type NOT NULL,
+    p_type text NOT NULL
+);
+
+
+
+COMMENT ON TABLE parm_poste IS 'Contains data for finding is the type of the 
account (asset)';
+
+
+
+CREATE SEQUENCE plan_analytique_pa_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE TABLE plan_analytique (
+    pa_id integer DEFAULT nextval('plan_analytique_pa_id_seq'::regclass) NOT 
NULL,
+    pa_name text DEFAULT 'Sans Nom'::text NOT NULL,
+    pa_description text
+);
+
+
+
+COMMENT ON TABLE plan_analytique IS 'Plan Analytique (max 5)';
+
+
+
+CREATE SEQUENCE poste_analytique_po_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE TABLE poste_analytique (
+    po_id integer DEFAULT nextval('poste_analytique_po_id_seq'::regclass) NOT 
NULL,
+    po_name text NOT NULL,
+    pa_id integer NOT NULL,
+    po_amount numeric(20,4) DEFAULT 0.0 NOT NULL,
+    po_description text,
+    ga_id character varying(10)
+);
+
+
+
+COMMENT ON TABLE poste_analytique IS 'Poste Analytique';
+
+
+
+CREATE TABLE profile (
+    p_name text NOT NULL,
+    p_id integer NOT NULL,
+    p_desc text,
+    with_calc boolean DEFAULT true,
+    with_direct_form boolean DEFAULT true
+);
+
+
+
+COMMENT ON TABLE profile IS 'Available profile ';
+
+
+
+COMMENT ON COLUMN profile.p_name IS 'Name of the profile';
+
+
+
+COMMENT ON COLUMN profile.p_desc IS 'description of the profile';
+
+
+
+COMMENT ON COLUMN profile.with_calc IS 'show the calculator';
+
+
+
+COMMENT ON COLUMN profile.with_direct_form IS 'show the direct form';
+
+
+
+CREATE TABLE profile_menu (
+    pm_id integer NOT NULL,
+    me_code text,
+    me_code_dep text,
+    p_id integer,
+    p_order integer,
+    p_type_display text NOT NULL,
+    pm_default integer,
+    pm_id_dep bigint
+);
+
+
+
+COMMENT ON TABLE profile_menu IS 'Join  between the profile and the menu ';
+
+
+
+COMMENT ON COLUMN profile_menu.me_code_dep IS 'menu code dependency';
+
+
+
+COMMENT ON COLUMN profile_menu.p_id IS 'link to profile';
+
+
+
+COMMENT ON COLUMN profile_menu.p_order IS 'order of displaying menu';
+
+
+
+COMMENT ON COLUMN profile_menu.p_type_display IS 'M is a module
+E is a menu
+S is a select (for plugin)';
+
+
+
+COMMENT ON COLUMN profile_menu.pm_default IS 'default menu';
+
+
+
+COMMENT ON COLUMN profile_menu.pm_id_dep IS 'parent of this menu item';
+
+
+
+CREATE SEQUENCE profile_menu_pm_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+ALTER SEQUENCE profile_menu_pm_id_seq OWNED BY profile_menu.pm_id;
+
+
+
+CREATE TABLE profile_menu_type (
+    pm_type text NOT NULL,
+    pm_desc text
+);
+
+
+
+CREATE SEQUENCE profile_p_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+ALTER SEQUENCE profile_p_id_seq OWNED BY profile.p_id;
+
+
+
+CREATE TABLE profile_sec_repository (
+    ur_id bigint NOT NULL,
+    p_id bigint,
+    r_id bigint,
+    ur_right character(1),
+    CONSTRAINT user_sec_profile_ur_right_check CHECK ((ur_right = ANY 
(ARRAY['R'::bpchar, 'W'::bpchar])))
+);
+
+
+
+COMMENT ON TABLE profile_sec_repository IS 'Available profile for user';
+
+
+
+COMMENT ON COLUMN profile_sec_repository.ur_id IS 'pk';
+
+
+
+COMMENT ON COLUMN profile_sec_repository.p_id IS 'fk to profile';
+
+
+
+COMMENT ON COLUMN profile_sec_repository.r_id IS 'fk to stock_repository';
+
+
+
+COMMENT ON COLUMN profile_sec_repository.ur_right IS 'Type of right : R for 
readonly W for write';
+
+
+
+CREATE SEQUENCE profile_sec_repository_ur_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+ALTER SEQUENCE profile_sec_repository_ur_id_seq OWNED BY 
profile_sec_repository.ur_id;
+
+
+
+CREATE TABLE profile_user (
+    user_name text NOT NULL,
+    pu_id integer NOT NULL,
+    p_id integer
+);
+
+
+
+COMMENT ON TABLE profile_user IS 'Contains the available profile for users';
+
+
+
+COMMENT ON COLUMN profile_user.user_name IS 'fk to available_user : login';
+
+
+
+COMMENT ON COLUMN profile_user.p_id IS 'fk to profile';
+
+
+
+CREATE SEQUENCE profile_user_pu_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+ALTER SEQUENCE profile_user_pu_id_seq OWNED BY profile_user.pu_id;
+
+
+
+CREATE TABLE quant_fin (
+    qf_id bigint NOT NULL,
+    qf_bank bigint,
+    jr_id bigint,
+    qf_other bigint,
+    qf_amount numeric(20,4) DEFAULT 0
+);
+
+
+
+COMMENT ON TABLE quant_fin IS 'Simple operation for financial';
+
+
+
+CREATE SEQUENCE quant_fin_qf_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+ALTER SEQUENCE quant_fin_qf_id_seq OWNED BY quant_fin.qf_id;
+
+
+
+CREATE TABLE quant_purchase (
+    qp_id integer DEFAULT nextval(('s_quantity'::text)::regclass) NOT NULL,
+    qp_internal text,
+    j_id integer NOT NULL,
+    qp_fiche integer NOT NULL,
+    qp_quantite numeric(20,4) NOT NULL,
+    qp_price numeric(20,4),
+    qp_vat numeric(20,4) DEFAULT 0.0,
+    qp_vat_code integer,
+    qp_nd_amount numeric(20,4) DEFAULT 0.0,
+    qp_nd_tva numeric(20,4) DEFAULT 0.0,
+    qp_nd_tva_recup numeric(20,4) DEFAULT 0.0,
+    qp_supplier integer NOT NULL,
+    qp_valid character(1) DEFAULT 'Y'::bpchar NOT NULL,
+    qp_dep_priv numeric(20,4) DEFAULT 0.0,
+    qp_vat_sided numeric(20,4) DEFAULT 0.0,
+    qp_unit numeric(20,4) DEFAULT 0
+);
+
+
+
+COMMENT ON COLUMN quant_purchase.qp_vat_sided IS 'amount of the VAT which 
avoid VAT, case of the VAT which add the same amount at the deb and cred';
+
+
+SET default_with_oids = true;
+
+
+CREATE TABLE quant_sold (
+    qs_id integer DEFAULT nextval(('s_quantity'::text)::regclass) NOT NULL,
+    qs_internal text,
+    qs_fiche integer NOT NULL,
+    qs_quantite numeric(20,4) NOT NULL,
+    qs_price numeric(20,4),
+    qs_vat numeric(20,4),
+    qs_vat_code integer,
+    qs_client integer NOT NULL,
+    qs_valid character(1) DEFAULT 'Y'::bpchar NOT NULL,
+    j_id integer NOT NULL,
+    qs_vat_sided numeric(20,4) DEFAULT 0.0,
+    qs_unit numeric(20,4) DEFAULT 0
+);
+
+
+
+COMMENT ON TABLE quant_sold IS 'Contains about invoice for customer';
+
+
+
+CREATE SEQUENCE s_attr_def
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE s_cbc
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE s_central
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE s_central_order
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE s_centralized
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE s_currency
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE s_fdef
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE s_fiche
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE s_fiche_def_ref
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE s_form
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE s_formdef
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE s_grpt
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE s_idef
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE s_internal
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE s_invoice
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE s_isup
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE s_jnt_fic_att_value
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE s_jrn
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE s_jrn_1
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE s_jrn_2
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE s_jrn_3
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE s_jrn_4
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE s_jrn_def
+    START WITH 5
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE s_jrn_op
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE s_jrn_pj1
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE s_jrn_pj2
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE s_jrn_pj3
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE s_jrn_pj4
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE s_jrn_rapt
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE s_jrnaction
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE s_jrnx
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE s_periode
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE s_quantity
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE s_stock_goods
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE s_tva
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE s_user_act
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE s_user_jrn
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE seq_bud_hypothese_bh_id
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE seq_doc_type_1
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE seq_doc_type_10
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE seq_doc_type_2
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE seq_doc_type_20
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE seq_doc_type_21
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE seq_doc_type_22
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE seq_doc_type_3
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE seq_doc_type_4
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE seq_doc_type_5
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE seq_doc_type_6
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE seq_doc_type_7
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE seq_doc_type_8
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE SEQUENCE seq_doc_type_9
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+SET default_with_oids = false;
+
+
+CREATE TABLE stock_change (
+    c_id bigint NOT NULL,
+    c_comment text,
+    c_date date,
+    tech_user text,
+    r_id bigint,
+    tech_date time without time zone DEFAULT now() NOT NULL
+);
+
+
+
+CREATE SEQUENCE stock_change_c_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+ALTER SEQUENCE stock_change_c_id_seq OWNED BY stock_change.c_id;
+
+
+SET default_with_oids = true;
+
+
+CREATE TABLE stock_goods (
+    sg_id integer DEFAULT nextval(('s_stock_goods'::text)::regclass) NOT NULL,
+    j_id integer,
+    f_id integer,
+    sg_code text,
+    sg_quantity numeric(8,4) DEFAULT 0,
+    sg_type character(1) DEFAULT 'c'::bpchar NOT NULL,
+    sg_date date,
+    sg_tech_date date DEFAULT now(),
+    sg_tech_user text,
+    sg_comment character varying(80),
+    sg_exercice character varying(4),
+    r_id bigint,
+    c_id bigint,
+    CONSTRAINT stock_goods_sg_type CHECK (((sg_type = 'c'::bpchar) OR (sg_type 
= 'd'::bpchar)))
+);
+
+
+
+COMMENT ON TABLE stock_goods IS 'About the goods';
+
+
+SET default_with_oids = false;
+
+
+CREATE TABLE stock_repository (
+    r_id bigint NOT NULL,
+    r_name text,
+    r_adress text,
+    r_country text,
+    r_city text,
+    r_phone text
+);
+
+
+
+COMMENT ON TABLE stock_repository IS 'stock repository';
+
+
+
+COMMENT ON COLUMN stock_repository.r_id IS 'pk';
+
+
+
+COMMENT ON COLUMN stock_repository.r_name IS 'name of the stock';
+
+
+
+COMMENT ON COLUMN stock_repository.r_adress IS 'adress of the stock';
+
+
+
+COMMENT ON COLUMN stock_repository.r_country IS 'country of the stock';
+
+
+
+COMMENT ON COLUMN stock_repository.r_city IS 'City of the stock';
+
+
+
+COMMENT ON COLUMN stock_repository.r_phone IS 'Phone number';
+
+
+
+CREATE SEQUENCE stock_repository_r_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+ALTER SEQUENCE stock_repository_r_id_seq OWNED BY stock_repository.r_id;
+
+
+
+CREATE TABLE tags (
+    t_id integer NOT NULL,
+    t_tag text NOT NULL,
+    t_description text
+);
+
+
+
+CREATE SEQUENCE tags_t_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+ALTER SEQUENCE tags_t_id_seq OWNED BY tags.t_id;
+
+
+SET default_with_oids = true;
+
+
+CREATE TABLE tmp_pcmn (
+    pcm_val account_type NOT NULL,
+    pcm_lib text,
+    pcm_val_parent account_type DEFAULT 0,
+    pcm_type text
+);
+
+
+
+COMMENT ON TABLE tmp_pcmn IS 'Plan comptable minimum normalisé';
+
+
+SET default_with_oids = false;
+
+
+CREATE TABLE tmp_stockgood (
+    s_id bigint NOT NULL,
+    s_date timestamp without time zone DEFAULT now()
+);
+
+
+
+CREATE TABLE tmp_stockgood_detail (
+    d_id bigint NOT NULL,
+    s_id bigint,
+    sg_code text,
+    s_qin numeric(20,4),
+    s_qout numeric(20,4),
+    r_id bigint,
+    f_id bigint
+);
+
+
+
+CREATE SEQUENCE tmp_stockgood_detail_d_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+ALTER SEQUENCE tmp_stockgood_detail_d_id_seq OWNED BY 
tmp_stockgood_detail.d_id;
+
+
+
+CREATE SEQUENCE tmp_stockgood_s_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+ALTER SEQUENCE tmp_stockgood_s_id_seq OWNED BY tmp_stockgood.s_id;
+
+
+
+CREATE SEQUENCE todo_list_tl_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE TABLE todo_list (
+    tl_id integer DEFAULT nextval('todo_list_tl_id_seq'::regclass) NOT NULL,
+    tl_date date NOT NULL,
+    tl_title text NOT NULL,
+    tl_desc text,
+    use_login text NOT NULL,
+    is_public character(1) DEFAULT 'N'::bpchar NOT NULL,
+    CONSTRAINT ck_is_public CHECK ((is_public = ANY (ARRAY['Y'::bpchar, 
'N'::bpchar])))
+);
+
+
+
+COMMENT ON TABLE todo_list IS 'Todo list';
+
+
+
+COMMENT ON COLUMN todo_list.is_public IS 'Flag for the public parameter';
+
+
+
+CREATE TABLE todo_list_shared (
+    id integer NOT NULL,
+    todo_list_id integer NOT NULL,
+    use_login text NOT NULL
+);
+
+
+
+COMMENT ON TABLE todo_list_shared IS 'Note of todo list shared with other 
users';
+
+
+
+COMMENT ON COLUMN todo_list_shared.todo_list_id IS 'fk to todo_list';
+
+
+
+COMMENT ON COLUMN todo_list_shared.use_login IS 'user login';
+
+
+
+CREATE SEQUENCE todo_list_shared_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+ALTER SEQUENCE todo_list_shared_id_seq OWNED BY todo_list_shared.id;
+
+
+
+CREATE SEQUENCE uos_pk_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+CREATE TABLE tool_uos (
+    uos_value bigint DEFAULT nextval('uos_pk_seq'::regclass) NOT NULL
+);
+
+
+SET default_with_oids = true;
+
+
+CREATE TABLE tva_rate (
+    tva_id integer DEFAULT nextval('s_tva'::regclass) NOT NULL,
+    tva_label text NOT NULL,
+    tva_rate numeric(8,4) DEFAULT 0.0 NOT NULL,
+    tva_comment text,
+    tva_poste text,
+    tva_both_side integer DEFAULT 0
+);
+
+
+
+COMMENT ON TABLE tva_rate IS 'Rate of vat';
+
+
+
+CREATE TABLE user_local_pref (
+    user_id text NOT NULL,
+    parameter_type text NOT NULL,
+    parameter_value text
+);
+
+
+
+COMMENT ON TABLE user_local_pref IS 'The user''s local parameter ';
+
+
+
+COMMENT ON COLUMN user_local_pref.user_id IS 'user''s login ';
+
+
+
+COMMENT ON COLUMN user_local_pref.parameter_type IS 'the type of parameter ';
+
+
+
+COMMENT ON COLUMN user_local_pref.parameter_value IS 'the value of parameter ';
+
+
+
+CREATE TABLE user_sec_act (
+    ua_id integer DEFAULT nextval(('s_user_act'::text)::regclass) NOT NULL,
+    ua_login text,
+    ua_act_id integer
+);
+
+
+SET default_with_oids = false;
+
+
+CREATE TABLE user_sec_action_profile (
+    ua_id bigint NOT NULL,
+    p_id bigint,
+    p_granted bigint,
+    ua_right character(1),
+    CONSTRAINT user_sec_action_profile_ua_right_check CHECK ((ua_right = ANY 
(ARRAY['R'::bpchar, 'W'::bpchar])))
+);
+
+
+
+COMMENT ON TABLE user_sec_action_profile IS 'Available profile for user';
+
+
+
+COMMENT ON COLUMN user_sec_action_profile.ua_id IS 'pk';
+
+
+
+COMMENT ON COLUMN user_sec_action_profile.p_id IS 'fk to profile';
+
+
+
+COMMENT ON COLUMN user_sec_action_profile.ua_right IS 'Type of right : R for 
readonly W for write';
+
+
+
+CREATE SEQUENCE user_sec_action_profile_ua_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+
+ALTER SEQUENCE user_sec_action_profile_ua_id_seq OWNED BY 
user_sec_action_profile.ua_id;
+
+
+SET default_with_oids = true;
+
+
+CREATE TABLE user_sec_jrn (
+    uj_id integer DEFAULT nextval(('s_user_jrn'::text)::regclass) NOT NULL,
+    uj_login text,
+    uj_jrn_id integer,
+    uj_priv text
+);
+
+
+
+CREATE VIEW v_all_menu AS
+    SELECT pm.me_code, pm.pm_id, pm.me_code_dep, pm.p_order, 
pm.p_type_display, p.p_name, p.p_desc, mr.me_menu, mr.me_file, mr.me_url, 
mr.me_parameter, mr.me_javascript, mr.me_type, pm.p_id, mr.me_description FROM 
((profile_menu pm JOIN profile p ON ((p.p_id = pm.p_id))) JOIN menu_ref mr 
USING (me_code)) ORDER BY pm.p_order;
+
+
+
+CREATE VIEW vw_fiche_attr AS
+    SELECT a.f_id, a.fd_id, a.ad_value AS vw_name, k.ad_value AS 
vw_first_name, b.ad_value AS vw_sell, c.ad_value AS vw_buy, d.ad_value AS 
tva_code, tva_rate.tva_id, tva_rate.tva_rate, tva_rate.tva_label, e.ad_value AS 
vw_addr, f.ad_value AS vw_cp, j.ad_value AS quick_code, h.ad_value AS 
vw_description, i.ad_value AS tva_num, fiche_def.frd_id, l.ad_value AS 
accounting FROM (((((((((((((SELECT fiche.f_id, fiche.fd_id, 
fiche_detail.ad_value FROM (fiche LEFT JOIN fiche_detail USING (f_id))  [...]
+
+
+
+CREATE VIEW vw_fiche_name AS
+    SELECT fiche_detail.f_id, fiche_detail.ad_value AS name FROM fiche_detail 
WHERE (fiche_detail.ad_id = 1);
+
+
+
+CREATE VIEW v_detail_purchase AS
+    WITH m AS (SELECT sum(quant_purchase.qp_price) AS htva, 
sum(quant_purchase.qp_vat) AS tot_vat, sum(quant_purchase.qp_vat_sided) AS 
tot_tva_np, jrn.jr_id FROM ((quant_purchase JOIN jrnx USING (j_id)) JOIN jrn ON 
((jrnx.j_grpt = jrn.jr_grpt_id))) GROUP BY jrn.jr_id) SELECT jrn.jr_id, 
jrn.jr_date, jrn.jr_date_paid, jrn.jr_ech, jrn.jr_tech_per, jrn.jr_comment, 
jrn.jr_pj_number, jrn.jr_internal, jrn.jr_def_id, jrnx.j_poste, jrnx.j_text, 
jrnx.j_qcode, quant_purchase.qp_fiche AS item_card,  [...]
+
+
+
+CREATE VIEW v_detail_sale AS
+    WITH m AS (SELECT sum(quant_sold.qs_price) AS htva, sum(quant_sold.qs_vat) 
AS tot_vat, sum(quant_sold.qs_vat_sided) AS tot_tva_np, jrn.jr_id FROM 
((quant_sold JOIN jrnx USING (j_id)) JOIN jrn ON ((jrnx.j_grpt = 
jrn.jr_grpt_id))) GROUP BY jrn.jr_id) SELECT jrn.jr_id, jrn.jr_date, 
jrn.jr_date_paid, jrn.jr_ech, jrn.jr_tech_per, jrn.jr_comment, 
jrn.jr_pj_number, jrn.jr_internal, jrn.jr_def_id, jrnx.j_poste, jrnx.j_text, 
jrnx.j_qcode, quant_sold.qs_fiche AS item_card, a.name AS item_name, [...]
+
+
+
+CREATE VIEW v_menu_dependency AS
+    WITH t_menu AS (SELECT pm.pm_id, mr.me_menu, pm.me_code, pm.me_code_dep, 
pm.p_type_display, mr.me_file, mr.me_javascript, mr.me_description, 
mr.me_description_etendue, p.p_id FROM ((profile_menu pm JOIN profile p ON 
((p.p_id = pm.p_id))) JOIN menu_ref mr USING (me_code))) SELECT DISTINCT 
((COALESCE((v3.me_code || '/'::text), ''::text) || COALESCE(v2.me_code, 
''::text)) || CASE WHEN (v2.me_code IS NULL) THEN COALESCE(v1.me_code, 
''::text) WHEN (v2.me_code IS NOT NULL) THEN COALESCE((' [...]
+
+
+
+CREATE VIEW v_menu_description AS
+    WITH t_menu AS (SELECT pm.pm_id, pm.pm_id_dep, pm.p_id, mr.me_menu, 
pm.me_code, pm.me_code_dep, pm.p_type_display, pu.user_name, mr.me_file, 
mr.me_javascript, mr.me_description, mr.me_description_etendue FROM 
(((profile_menu pm JOIN profile_user pu ON ((pu.p_id = pm.p_id))) JOIN profile 
p ON ((p.p_id = pm.p_id))) JOIN menu_ref mr USING (me_code))) SELECT DISTINCT 
((COALESCE((v3.me_code || '/'::text), ''::text) || COALESCE(v2.me_code, 
''::text)) || CASE WHEN (v2.me_code IS NULL) THEN  [...]
+
+
+
+COMMENT ON VIEW v_menu_description IS 'Description des menus';
+
+
+
+CREATE VIEW v_menu_description_favori AS
+    WITH t_menu AS (SELECT mr.me_menu, pm.me_code, pm.me_code_dep, 
pm.p_type_display, pu.user_name, mr.me_file, mr.me_javascript, 
mr.me_description, mr.me_description_etendue FROM (((profile_menu pm JOIN 
profile_user pu ON ((pu.p_id = pm.p_id))) JOIN profile p ON ((p.p_id = 
pm.p_id))) JOIN menu_ref mr USING (me_code))) SELECT DISTINCT 
((COALESCE((v3.me_code || '/'::text), ''::text) || COALESCE(v2.me_code, 
''::text)) || CASE WHEN (v2.me_code IS NULL) THEN COALESCE(v1.me_code, 
''::text) WH [...]
+
+
+
+CREATE VIEW v_menu_profile AS
+    WITH t_menu AS (SELECT pm.pm_id, pm.pm_id_dep, pm.me_code, pm.me_code_dep, 
pm.p_type_display, pm.p_id FROM (profile_menu pm JOIN profile p ON ((p.p_id = 
pm.p_id)))) SELECT DISTINCT ((COALESCE((v3.me_code || '/'::text), ''::text) || 
COALESCE(v2.me_code, ''::text)) || CASE WHEN (v2.me_code IS NULL) THEN 
COALESCE(v1.me_code, ''::text) WHEN (v2.me_code IS NOT NULL) THEN 
COALESCE(('/'::text || v1.me_code), ''::text) ELSE NULL::text END) AS code, 
v3.p_type_display, COALESCE(v3.pm_id, 0) AS [...]
+
+
+
+COMMENT ON VIEW v_menu_profile IS 'Give the profile and the menu + 
dependencies';
+
+
+
+CREATE VIEW v_quant_detail AS
+    WITH quant AS (SELECT quant_purchase.j_id, quant_purchase.qp_fiche AS 
fiche_id, quant_purchase.qp_supplier AS tiers, quant_purchase.qp_vat AS 
vat_amount, quant_purchase.qp_price AS price, quant_purchase.qp_vat_code AS 
vat_code, quant_purchase.qp_dep_priv AS dep_priv, quant_purchase.qp_nd_tva AS 
nd_tva, quant_purchase.qp_nd_tva_recup AS nd_tva_recup, 
quant_purchase.qp_nd_amount AS nd_amount, quant_purchase.qp_vat_sided AS 
vat_sided FROM quant_purchase UNION ALL SELECT quant_sold.j_id, [...]
+
+
+
+CREATE TABLE version (
+    val integer
+);
+
+
+
+CREATE VIEW vw_client AS
+    SELECT fiche.f_id, a1.ad_value AS name, a.ad_value AS quick_code, 
b.ad_value AS tva_num, c.ad_value AS poste_comptable, d.ad_value AS rue, 
e.ad_value AS code_postal, f.ad_value AS pays, g.ad_value AS telephone, 
h.ad_value AS email FROM (((((((((((fiche JOIN fiche_def USING (fd_id)) JOIN 
fiche_def_ref USING (frd_id)) LEFT JOIN (SELECT fiche_detail.jft_id, 
fiche_detail.f_id, fiche_detail.ad_id, fiche_detail.ad_value FROM fiche_detail 
WHERE (fiche_detail.ad_id = 1)) a1 USING (f_id)) LEF [...]
+
+
+
+CREATE VIEW vw_fiche_def AS
+    SELECT jnt_fic_attr.fd_id, jnt_fic_attr.ad_id, attr_def.ad_text, 
fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, 
fiche_def.frd_id FROM ((fiche_def JOIN jnt_fic_attr USING (fd_id)) JOIN 
attr_def ON ((attr_def.ad_id = jnt_fic_attr.ad_id)));
+
+
+
+COMMENT ON VIEW vw_fiche_def IS 'all the attributs for card family';
+
+
+
+CREATE VIEW vw_fiche_min AS
+    SELECT attr_min.frd_id, attr_min.ad_id, attr_def.ad_text, 
fiche_def_ref.frd_text, fiche_def_ref.frd_class_base FROM ((attr_min JOIN 
attr_def USING (ad_id)) JOIN fiche_def_ref USING (frd_id));
+
+
+
+CREATE VIEW vw_poste_qcode AS
+    SELECT c.f_id, a.ad_value AS j_poste, b.ad_value AS j_qcode FROM ((fiche c 
LEFT JOIN (SELECT fiche_detail.f_id, fiche_detail.ad_value FROM fiche_detail 
WHERE (fiche_detail.ad_id = 5)) a USING (f_id)) LEFT JOIN (SELECT 
fiche_detail.f_id, fiche_detail.ad_value FROM fiche_detail WHERE 
(fiche_detail.ad_id = 23)) b USING (f_id));
+
+
+
+CREATE VIEW vw_supplier AS
+    SELECT fiche.f_id, a1.ad_value AS name, a.ad_value AS quick_code, 
b.ad_value AS tva_num, c.ad_value AS poste_comptable, d.ad_value AS rue, 
e.ad_value AS code_postal, f.ad_value AS pays, g.ad_value AS telephone, 
h.ad_value AS email FROM (((((((((((fiche JOIN fiche_def USING (fd_id)) JOIN 
fiche_def_ref USING (frd_id)) LEFT JOIN (SELECT fiche_detail.jft_id, 
fiche_detail.f_id, fiche_detail.ad_id, fiche_detail.ad_value FROM fiche_detail 
WHERE (fiche_detail.ad_id = 1)) a1 USING (f_id)) LEF [...]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+COMMENT ON CONSTRAINT uniq_user_ledger ON user_sec_jrn IS 'Create an unique 
combination user / ledger';
+
 
 
 
-CREATE SEQUENCE s_jrn_4
-    START WITH 1
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
 
 
 
-CREATE SEQUENCE s_jrn_def
-    START WITH 5
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
 
 
 
-CREATE SEQUENCE s_jrn_op
-    START WITH 1
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
 
 
 
-CREATE SEQUENCE s_jrn_pj1
-    START WITH 1
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
 
 
 
-CREATE SEQUENCE s_jrn_pj2
-    START WITH 1
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
 
 
 
-CREATE SEQUENCE s_jrn_pj3
-    START WITH 1
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
 
 
 
-CREATE SEQUENCE s_jrn_pj4
-    START WITH 1
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
 
 
+CREATE UNIQUE INDEX fd_id_ad_id_x ON jnt_fic_attr USING btree (fd_id, ad_id);
 
-CREATE SEQUENCE s_jrn_rapt
-    START WITH 1
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
 
 
+CREATE UNIQUE INDEX fiche_detail_f_id_ad_id ON fiche_detail USING btree (f_id, 
ad_id);
 
-CREATE SEQUENCE s_jrnaction
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
 
 
+CREATE INDEX fk_action_person_action_gestion ON action_person USING btree 
(ag_id);
 
-CREATE SEQUENCE s_jrnx
-    START WITH 1
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
 
 
+CREATE INDEX fk_action_person_fiche ON action_person USING btree (f_id);
 
-CREATE SEQUENCE s_periode
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
 
 
+CREATE INDEX fk_stock_good_repository_r_id ON stock_goods USING btree (r_id);
 
-CREATE SEQUENCE s_quantity
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
 
 
+CREATE INDEX fk_stock_goods_f_id ON stock_goods USING btree (f_id);
 
-CREATE SEQUENCE s_stock_goods
-    START WITH 1
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
 
 
+CREATE INDEX fk_stock_goods_j_id ON stock_goods USING btree (j_id);
 
-CREATE SEQUENCE s_tva
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
 
 
+CREATE INDEX fki_f_end_date ON forecast USING btree (f_end_date);
 
-CREATE SEQUENCE s_user_act
-    START WITH 1
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
 
 
+CREATE INDEX fki_f_start_date ON forecast USING btree (f_start_date);
 
-CREATE SEQUENCE s_user_jrn
-    START WITH 1
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
 
 
+CREATE INDEX fki_jrn_jr_grpt_id ON jrn USING btree (jr_grpt_id);
 
-CREATE SEQUENCE seq_bud_hypothese_bh_id
-    START WITH 1
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
 
 
+CREATE INDEX fki_jrnx_f_id ON jrnx USING btree (f_id);
 
-CREATE SEQUENCE seq_doc_type_1
-    START WITH 1
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
 
 
+CREATE INDEX fki_jrnx_j_grpt ON jrnx USING btree (j_grpt);
 
-CREATE SEQUENCE seq_doc_type_10
-    START WITH 1
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
 
 
+CREATE INDEX fki_profile_menu_me_code ON profile_menu USING btree (me_code);
 
-CREATE SEQUENCE seq_doc_type_2
-    START WITH 1
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
 
 
+CREATE INDEX fki_profile_menu_profile ON profile_menu USING btree (p_id);
 
-CREATE SEQUENCE seq_doc_type_20
-    START WITH 1
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
 
 
+CREATE INDEX fki_profile_menu_type_fkey ON profile_menu USING btree 
(p_type_display);
 
-CREATE SEQUENCE seq_doc_type_21
-    START WITH 1
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
 
 
+CREATE INDEX idx_qs_internal ON quant_sold USING btree (qs_internal);
 
-CREATE SEQUENCE seq_doc_type_22
-    START WITH 1
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
 
 
+CREATE INDEX jnt_fic_att_value_fd_id_idx ON fiche_detail USING btree (f_id);
 
-CREATE SEQUENCE seq_doc_type_3
-    START WITH 1
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
 
 
+CREATE INDEX jnt_fic_attr_fd_id_idx ON jnt_fic_attr USING btree (fd_id);
 
-CREATE SEQUENCE seq_doc_type_4
-    START WITH 1
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
 
 
+CREATE INDEX jrnx_j_qcode_ix ON jrnx USING btree (j_qcode);
 
-CREATE SEQUENCE seq_doc_type_5
-    START WITH 1
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
 
 
+CREATE UNIQUE INDEX k_ag_ref ON action_gestion USING btree (ag_ref);
 
-CREATE SEQUENCE seq_doc_type_6
-    START WITH 1
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
 
 
+CREATE INDEX link_action_type_fki ON action_gestion_related USING btree 
(aga_type);
 
-CREATE SEQUENCE seq_doc_type_7
-    START WITH 1
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
 
 
+CREATE UNIQUE INDEX qcode_idx ON fiche_detail USING btree (ad_value) WHERE 
(ad_id = 23);
 
-CREATE SEQUENCE seq_doc_type_8
-    START WITH 1
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
 
 
+CREATE UNIQUE INDEX qf_jr_id ON quant_fin USING btree (jr_id);
 
-CREATE SEQUENCE seq_doc_type_9
-    START WITH 1
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
 
 
+CREATE UNIQUE INDEX qp_j_id ON quant_purchase USING btree (j_id);
 
-CREATE TABLE stock_goods (
-    sg_id integer DEFAULT nextval(('s_stock_goods'::text)::regclass) NOT NULL,
-    j_id integer,
-    f_id integer NOT NULL,
-    sg_code text,
-    sg_quantity numeric(8,4) DEFAULT 0,
-    sg_type character(1) DEFAULT 'c'::bpchar NOT NULL,
-    sg_date date,
-    sg_tech_date date DEFAULT now(),
-    sg_tech_user text,
-    sg_comment character varying(80),
-    sg_exercice character varying(4),
-    CONSTRAINT stock_goods_sg_type CHECK (((sg_type = 'c'::bpchar) OR (sg_type 
= 'd'::bpchar)))
-);
 
 
+CREATE UNIQUE INDEX qs_j_id ON quant_sold USING btree (j_id);
 
-COMMENT ON TABLE stock_goods IS 'About the goods';
 
 
+CREATE INDEX quant_purchase_jrn_fki ON quant_purchase USING btree 
(qp_internal);
 
-CREATE TABLE tmp_pcmn (
-    pcm_val account_type NOT NULL,
-    pcm_lib text,
-    pcm_val_parent account_type DEFAULT 0,
-    pcm_type text
-);
 
 
+CREATE INDEX quant_sold_jrn_fki ON quant_sold USING btree (qs_internal);
 
-COMMENT ON TABLE tmp_pcmn IS 'Plan comptable minimum normalisé';
 
 
+CREATE UNIQUE INDEX uj_login_uj_jrn_id ON user_sec_jrn USING btree (uj_login, 
uj_jrn_id);
 
-CREATE SEQUENCE todo_list_tl_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
 
 
-SET default_with_oids = false;
+CREATE UNIQUE INDEX ux_po_name ON poste_analytique USING btree (po_name);
 
 
-CREATE TABLE todo_list (
-    tl_id integer DEFAULT nextval('todo_list_tl_id_seq'::regclass) NOT NULL,
-    tl_date date NOT NULL,
-    tl_title text NOT NULL,
-    tl_desc text,
-    use_login text NOT NULL
-);
 
+CREATE UNIQUE INDEX x_jrn_jr_id ON jrn USING btree (jr_id);
 
 
-COMMENT ON TABLE todo_list IS 'Todo list';
 
+CREATE INDEX x_mt ON jrn USING btree (jr_mt);
 
-SET default_with_oids = true;
 
 
-CREATE TABLE tva_rate (
-    tva_id integer DEFAULT nextval('s_tva'::regclass) NOT NULL,
-    tva_label text NOT NULL,
-    tva_rate numeric(8,4) DEFAULT 0.0 NOT NULL,
-    tva_comment text,
-    tva_poste text
-);
+CREATE UNIQUE INDEX x_periode ON parm_periode USING btree (p_start, p_end);
 
 
 
-COMMENT ON TABLE tva_rate IS 'Rate of vat';
+CREATE INDEX x_poste ON jrnx USING btree (j_poste);
 
 
 
-CREATE TABLE user_local_pref (
-    user_id text NOT NULL,
-    parameter_type text NOT NULL,
-    parameter_value text
-);
+CREATE TRIGGER action_gestion_t_insert_update BEFORE INSERT OR UPDATE ON 
action_gestion FOR EACH ROW EXECUTE PROCEDURE 
comptaproc.action_gestion_ins_upd();
 
 
 
-COMMENT ON TABLE user_local_pref IS 'The user''s local parameter ';
+COMMENT ON TRIGGER action_gestion_t_insert_update ON action_gestion IS 
'Truncate the column ag_title to 70 char';
 
 
 
-COMMENT ON COLUMN user_local_pref.user_id IS 'user''s login ';
+CREATE TRIGGER document_modele_validate BEFORE INSERT OR UPDATE ON 
document_modele FOR EACH ROW EXECUTE PROCEDURE 
comptaproc.t_document_modele_validate();
 
 
 
-COMMENT ON COLUMN user_local_pref.parameter_type IS 'the type of parameter ';
+CREATE TRIGGER document_validate BEFORE INSERT OR UPDATE ON document FOR EACH 
ROW EXECUTE PROCEDURE comptaproc.t_document_validate();
 
 
 
-COMMENT ON COLUMN user_local_pref.parameter_value IS 'the value of parameter ';
+CREATE TRIGGER fiche_def_ins_upd BEFORE INSERT OR UPDATE ON fiche_def FOR EACH 
ROW EXECUTE PROCEDURE comptaproc.fiche_def_ins_upd();
 
 
 
-CREATE TABLE user_sec_act (
-    ua_id integer DEFAULT nextval(('s_user_act'::text)::regclass) NOT NULL,
-    ua_login text,
-    ua_act_id integer
-);
+CREATE TRIGGER fiche_detail_upd_trg AFTER UPDATE ON fiche_detail FOR EACH ROW 
EXECUTE PROCEDURE comptaproc.fiche_detail_qcode_upd();
 
 
-SET default_with_oids = false;
 
+CREATE TRIGGER info_def_ins_upd_t BEFORE INSERT OR UPDATE ON info_def FOR EACH 
ROW EXECUTE PROCEDURE comptaproc.info_def_ins_upd();
 
-CREATE TABLE user_sec_extension (
-    use_id integer NOT NULL,
-    ex_id integer NOT NULL,
-    use_login text NOT NULL,
-    use_access character(1) DEFAULT 0 NOT NULL
-);
 
 
+CREATE TRIGGER jrn_def_description_ins_upd BEFORE INSERT OR UPDATE ON jrn_def 
FOR EACH ROW EXECUTE PROCEDURE comptaproc.t_jrn_def_description();
 
-COMMENT ON TABLE user_sec_extension IS 'Security for extension';
 
 
+CREATE TRIGGER opd_limit_description BEFORE INSERT OR UPDATE ON op_predef FOR 
EACH ROW EXECUTE PROCEDURE comptaproc.opd_limit_description();
 
-CREATE SEQUENCE user_sec_extension_use_id_seq
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
 
 
+CREATE TRIGGER parm_periode_check_periode_trg BEFORE INSERT OR UPDATE ON 
parm_periode FOR EACH ROW EXECUTE PROCEDURE comptaproc.check_periode();
 
-ALTER SEQUENCE user_sec_extension_use_id_seq OWNED BY 
user_sec_extension.use_id;
 
 
-SET default_with_oids = true;
+CREATE TRIGGER profile_user_ins_upd BEFORE INSERT OR UPDATE ON profile_user 
FOR EACH ROW EXECUTE PROCEDURE comptaproc.trg_profile_user_ins_upd();
 
 
-CREATE TABLE user_sec_jrn (
-    uj_id integer DEFAULT nextval(('s_user_jrn'::text)::regclass) NOT NULL,
-    uj_login text,
-    uj_jrn_id integer,
-    uj_priv text
-);
 
+COMMENT ON TRIGGER profile_user_ins_upd ON profile_user IS 'Force the column 
user_name to lowercase';
 
 
-CREATE TABLE version (
-    val integer
-);
 
+CREATE TRIGGER quant_sold_ins_upd_tr AFTER INSERT OR UPDATE ON quant_purchase 
FOR EACH ROW EXECUTE PROCEDURE comptaproc.quant_purchase_ins_upd();
 
 
-CREATE VIEW vw_client AS
-    SELECT a.f_id, a.av_text AS name, a1.av_text AS quick_code, b.av_text AS 
tva_num, c.av_text AS poste_comptable, d.av_text AS rue, e.av_text AS 
code_postal, f.av_text AS pays, g.av_text AS telephone, h.av_text AS email FROM 
(((((((((SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, 
fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, 
fiche_def.fd_create_account, fiche_def_ref.frd_text, 
fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM 
((( [...]
 
+CREATE TRIGGER quant_sold_ins_upd_tr AFTER INSERT OR UPDATE ON quant_sold FOR 
EACH ROW EXECUTE PROCEDURE comptaproc.quant_sold_ins_upd();
 
 
-CREATE VIEW vw_fiche_attr AS
-    SELECT a.f_id, a.fd_id, a.av_text AS vw_name, b.av_text AS vw_sell, 
c.av_text AS vw_buy, d.av_text AS tva_code, tva_rate.tva_id, tva_rate.tva_rate, 
tva_rate.tva_label, e.av_text AS vw_addr, f.av_text AS vw_cp, j.av_text AS 
quick_code, h.av_text AS vw_description, i.av_text AS tva_num, fiche_def.frd_id 
FROM (((((((((((SELECT fiche.f_id, fiche.fd_id, attr_value.av_text FROM 
(((fiche JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) 
JOIN attr_def USING (ad_id)) WHERE  [...]
 
+CREATE TRIGGER remove_action_gestion AFTER DELETE ON fiche FOR EACH ROW 
EXECUTE PROCEDURE comptaproc.card_after_delete();
 
 
-CREATE VIEW vw_fiche_def AS
-    SELECT jnt_fic_attr.fd_id, jnt_fic_attr.ad_id, attr_def.ad_text, 
fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, 
fiche_def.frd_id FROM ((fiche_def JOIN jnt_fic_attr USING (fd_id)) JOIN 
attr_def ON ((attr_def.ad_id = jnt_fic_attr.ad_id)));
 
+CREATE TRIGGER t_check_balance AFTER INSERT OR UPDATE ON jrn FOR EACH ROW 
EXECUTE PROCEDURE comptaproc.proc_check_balance();
 
 
-COMMENT ON VIEW vw_fiche_def IS 'all the attributs for card family';
 
+CREATE TRIGGER t_check_jrn BEFORE INSERT OR DELETE OR UPDATE ON jrn FOR EACH 
ROW EXECUTE PROCEDURE comptaproc.jrn_check_periode();
 
 
-CREATE VIEW vw_fiche_min AS
-    SELECT attr_min.frd_id, attr_min.ad_id, attr_def.ad_text, 
fiche_def_ref.frd_text, fiche_def_ref.frd_class_base FROM ((attr_min JOIN 
attr_def USING (ad_id)) JOIN fiche_def_ref USING (frd_id));
 
+CREATE TRIGGER t_group_analytic_del BEFORE DELETE ON groupe_analytique FOR 
EACH ROW EXECUTE PROCEDURE comptaproc.group_analytique_del();
 
 
-CREATE VIEW vw_poste_qcode AS
-    SELECT a.f_id, a.av_text AS j_poste, b.av_text AS j_qcode FROM ((SELECT 
jnt_fic_att_value.f_id, attr_value.av_text FROM (attr_value JOIN 
jnt_fic_att_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 5)) a JOIN 
(SELECT jnt_fic_att_value.f_id, attr_value.av_text FROM (attr_value JOIN 
jnt_fic_att_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 23)) b USING 
(f_id));
 
+CREATE TRIGGER t_group_analytic_ins_upd BEFORE INSERT OR UPDATE ON 
groupe_analytique FOR EACH ROW EXECUTE PROCEDURE 
comptaproc.group_analytic_ins_upd();
 
 
-CREATE VIEW vw_supplier AS
-    SELECT a.f_id, a.av_text AS name, a1.av_text AS quick_code, b.av_text AS 
tva_num, c.av_text AS poste_comptable, d.av_text AS rue, e.av_text AS 
code_postal, f.av_text AS pays, g.av_text AS telephone, h.av_text AS email FROM 
(((((((((SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, 
fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, 
fiche_def.fd_create_account, fiche_def_ref.frd_text, 
fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM 
((( [...]
 
+CREATE TRIGGER t_jnt_fic_attr_ins AFTER INSERT ON jnt_fic_attr FOR EACH ROW 
EXECUTE PROCEDURE comptaproc.jnt_fic_attr_ins();
 
 
 
+CREATE TRIGGER t_jrn_def_add_periode AFTER INSERT ON jrn_def FOR EACH ROW 
EXECUTE PROCEDURE comptaproc.jrn_def_add();
 
 
 
+CREATE TRIGGER t_jrn_def_delete BEFORE DELETE ON jrn_def FOR EACH ROW EXECUTE 
PROCEDURE comptaproc.jrn_def_delete();
 
 
 
+CREATE TRIGGER t_jrn_del BEFORE DELETE ON jrn FOR EACH ROW EXECUTE PROCEDURE 
comptaproc.jrn_del();
 
 
 
+CREATE TRIGGER t_jrnx_del BEFORE DELETE ON jrnx FOR EACH ROW EXECUTE PROCEDURE 
comptaproc.jrnx_del();
 
 
 
+CREATE TRIGGER t_jrnx_ins BEFORE INSERT ON jrnx FOR EACH ROW EXECUTE PROCEDURE 
comptaproc.jrnx_ins();
 
 
 
+COMMENT ON TRIGGER t_jrnx_ins ON jrnx IS 'check that the qcode used by the 
card exists and format it : uppercase and trim the space';
 
 
 
+CREATE TRIGGER t_jrnx_upd BEFORE UPDATE ON jrnx FOR EACH ROW EXECUTE PROCEDURE 
comptaproc.jrnx_ins();
 
 
 
+CREATE TRIGGER t_letter_del AFTER DELETE ON jrnx FOR EACH ROW EXECUTE 
PROCEDURE comptaproc.jrnx_letter_del();
 
 
 
+COMMENT ON TRIGGER t_letter_del ON jrnx IS 'Delete the lettering for this row';
 
 
 
+CREATE TRIGGER t_plan_analytique_ins_upd BEFORE INSERT OR UPDATE ON 
plan_analytique FOR EACH ROW EXECUTE PROCEDURE 
comptaproc.plan_analytic_ins_upd();
 
 
 
+CREATE TRIGGER t_poste_analytique_ins_upd BEFORE INSERT OR UPDATE ON 
poste_analytique FOR EACH ROW EXECUTE PROCEDURE 
comptaproc.poste_analytique_ins_upd();
 
 
 
+CREATE TRIGGER t_tmp_pcm_alphanum_ins_upd BEFORE INSERT OR UPDATE ON tmp_pcmn 
FOR EACH ROW EXECUTE PROCEDURE comptaproc.tmp_pcmn_alphanum_ins_upd();
 
 
 
+CREATE TRIGGER t_tmp_pcmn_ins BEFORE INSERT ON tmp_pcmn FOR EACH ROW EXECUTE 
PROCEDURE comptaproc.tmp_pcmn_ins();
 
 
 
+CREATE TRIGGER todo_list_ins_upd BEFORE INSERT OR UPDATE ON todo_list FOR EACH 
ROW EXECUTE PROCEDURE comptaproc.trg_todo_list_ins_upd();
 
 
 
+COMMENT ON TRIGGER todo_list_ins_upd ON todo_list IS 'Force the column 
use_login to lowercase';
 
 
 
+CREATE TRIGGER todo_list_shared_ins_upd BEFORE INSERT OR UPDATE ON 
todo_list_shared FOR EACH ROW EXECUTE PROCEDURE 
comptaproc.trg_todo_list_shared_ins_upd();
 
 
 
+COMMENT ON TRIGGER todo_list_shared_ins_upd ON todo_list_shared IS 'Force the 
column ua_login to lowercase';
 
 
 
+CREATE TRIGGER trg_action_gestion_related BEFORE INSERT OR UPDATE ON 
action_gestion_related FOR EACH ROW EXECUTE PROCEDURE 
comptaproc.action_gestion_related_ins_up();
 
 
 
+CREATE TRIGGER trg_category_card_before_delete BEFORE DELETE ON fiche_def FOR 
EACH ROW EXECUTE PROCEDURE comptaproc.category_card_before_delete();
 
 
 
+CREATE TRIGGER trg_extension_ins_upd BEFORE INSERT OR UPDATE ON extension FOR 
EACH ROW EXECUTE PROCEDURE comptaproc.extension_ins_upd();
 
 
 
+CREATE TRIGGER trigger_document_type_i AFTER INSERT ON document_type FOR EACH 
ROW EXECUTE PROCEDURE comptaproc.t_document_type_insert();
 
 
 
+CREATE TRIGGER trigger_jrn_def_sequence_i AFTER INSERT ON jrn_def FOR EACH ROW 
EXECUTE PROCEDURE comptaproc.t_jrn_def_sequence();
 
 
 
+CREATE TRIGGER user_sec_act_ins_upd BEFORE INSERT OR UPDATE ON user_sec_act 
FOR EACH ROW EXECUTE PROCEDURE comptaproc.trg_user_sec_act_ins_upd();
 
 
 
+COMMENT ON TRIGGER user_sec_act_ins_upd ON user_sec_act IS 'Force the column 
ua_login to lowercase';
 
 
 
+CREATE TRIGGER user_sec_jrn_after_ins_upd BEFORE INSERT OR UPDATE ON 
user_sec_jrn FOR EACH ROW EXECUTE PROCEDURE 
comptaproc.trg_user_sec_jrn_ins_upd();
+
+
+
+COMMENT ON TRIGGER user_sec_jrn_after_ins_upd ON user_sec_jrn IS 'Force the 
column uj_login to lowercase';
+
 
 
 
@@ -3530,211 +6280,115 @@ CREATE VIEW vw_supplier AS
 
 
 
-CREATE UNIQUE INDEX attr_value_jft_id ON attr_value USING btree (jft_id);
 
 
 
-CREATE UNIQUE INDEX fd_id_ad_id_x ON jnt_fic_attr USING btree (fd_id, ad_id);
 
 
 
-CREATE INDEX fk_stock_goods_f_id ON stock_goods USING btree (f_id);
 
 
 
-CREATE INDEX fk_stock_goods_j_id ON stock_goods USING btree (j_id);
 
 
 
-CREATE UNIQUE INDEX idx_case ON format_csv_banque USING btree (upper(name));
 
 
 
-CREATE INDEX idx_qs_internal ON quant_sold USING btree (qs_internal);
 
 
 
-CREATE INDEX jnt_fic_att_value_fd_id_idx ON jnt_fic_att_value USING btree 
(f_id);
 
 
 
-CREATE INDEX jnt_fic_attr_fd_id_idx ON jnt_fic_attr USING btree (fd_id);
 
 
 
-CREATE UNIQUE INDEX k_ag_ref ON action_gestion USING btree (ag_ref);
 
 
 
-CREATE UNIQUE INDEX uj_login_uj_jrn_id ON user_sec_jrn USING btree (uj_login, 
uj_jrn_id);
 
 
 
-CREATE UNIQUE INDEX ux_po_name ON poste_analytique USING btree (po_name);
 
 
 
-CREATE UNIQUE INDEX x_jrn_jr_id ON jrn USING btree (jr_id);
 
 
 
-CREATE INDEX x_mt ON jrn USING btree (jr_mt);
 
 
 
-CREATE UNIQUE INDEX x_periode ON parm_periode USING btree (p_start, p_end);
 
 
 
-CREATE INDEX x_poste ON jrnx USING btree (j_poste);
 
 
 
-CREATE TRIGGER action_gestion_t_insert_update
-    BEFORE INSERT OR UPDATE ON action_gestion
-    FOR EACH ROW
-    EXECUTE PROCEDURE comptaproc.action_gestion_ins_upd();
 
 
 
-COMMENT ON TRIGGER action_gestion_t_insert_update ON action_gestion IS 
'Truncate the column ag_title to 70 char';
 
 
 
-CREATE TRIGGER document_modele_validate
-    BEFORE INSERT OR UPDATE ON document_modele
-    FOR EACH ROW
-    EXECUTE PROCEDURE comptaproc.t_document_modele_validate();
 
 
 
-CREATE TRIGGER document_validate
-    BEFORE INSERT OR UPDATE ON document
-    FOR EACH ROW
-    EXECUTE PROCEDURE comptaproc.t_document_validate();
 
 
 
-CREATE TRIGGER fiche_def_ins_upd
-    BEFORE INSERT OR UPDATE ON fiche_def
-    FOR EACH ROW
-    EXECUTE PROCEDURE comptaproc.fiche_def_ins_upd();
 
 
 
-CREATE TRIGGER info_def_ins_upd_t
-    BEFORE INSERT OR UPDATE ON info_def
-    FOR EACH ROW
-    EXECUTE PROCEDURE comptaproc.info_def_ins_upd();
 
 
 
-CREATE TRIGGER t_check_balance
-    AFTER INSERT OR UPDATE ON jrn
-    FOR EACH ROW
-    EXECUTE PROCEDURE comptaproc.proc_check_balance();
 
 
 
-CREATE TRIGGER t_check_jrn
-    BEFORE INSERT OR DELETE ON jrn
-    FOR EACH ROW
-    EXECUTE PROCEDURE comptaproc.jrn_check_periode();
 
 
 
-CREATE TRIGGER t_group_analytic_del
-    BEFORE DELETE ON groupe_analytique
-    FOR EACH ROW
-    EXECUTE PROCEDURE comptaproc.group_analytique_del();
 
 
 
-CREATE TRIGGER t_group_analytic_ins_upd
-    BEFORE INSERT OR UPDATE ON groupe_analytique
-    FOR EACH ROW
-    EXECUTE PROCEDURE comptaproc.group_analytic_ins_upd();
 
 
 
-CREATE TRIGGER t_jrn_def_add_periode
-    AFTER INSERT ON jrn_def
-    FOR EACH ROW
-    EXECUTE PROCEDURE comptaproc.jrn_def_add();
 
 
 
-CREATE TRIGGER t_jrn_def_delete
-    BEFORE DELETE ON jrn_def
-    FOR EACH ROW
-    EXECUTE PROCEDURE comptaproc.jrn_def_delete();
 
 
 
-CREATE TRIGGER t_jrn_del
-    BEFORE DELETE ON jrn
-    FOR EACH ROW
-    EXECUTE PROCEDURE comptaproc.jrn_del();
 
 
 
-CREATE TRIGGER t_jrnx_del
-    BEFORE DELETE ON jrnx
-    FOR EACH ROW
-    EXECUTE PROCEDURE comptaproc.jrnx_del();
 
 
 
-CREATE TRIGGER t_plan_analytique_ins_upd
-    BEFORE INSERT OR UPDATE ON plan_analytique
-    FOR EACH ROW
-    EXECUTE PROCEDURE comptaproc.plan_analytic_ins_upd();
 
 
 
-CREATE TRIGGER t_poste_analytique_ins_upd
-    BEFORE INSERT OR UPDATE ON poste_analytique
-    FOR EACH ROW
-    EXECUTE PROCEDURE comptaproc.poste_analytique_ins_upd();
 
 
 
-CREATE TRIGGER t_tmp_pcmn_ins
-    BEFORE INSERT ON tmp_pcmn
-    FOR EACH ROW
-    EXECUTE PROCEDURE comptaproc.tmp_pcmn_ins();
 
 
 
-CREATE TRIGGER trg_extension_ins_upd
-    BEFORE INSERT OR UPDATE ON extension
-    FOR EACH ROW
-    EXECUTE PROCEDURE comptaproc.extension_ins_upd();
 
 
 
-CREATE TRIGGER trigger_document_type_i
-    AFTER INSERT ON document_type
-    FOR EACH ROW
-    EXECUTE PROCEDURE comptaproc.t_document_type_insert();
 
 
 
-CREATE TRIGGER trigger_jrn_def_sequence_i
-    AFTER INSERT ON jrn_def
-    FOR EACH ROW
-    EXECUTE PROCEDURE comptaproc.t_jrn_def_sequence();
 
 
 
-CREATE TRIGGER trim_quote
-    BEFORE INSERT OR UPDATE ON import_tmp
-    FOR EACH ROW
-    EXECUTE PROCEDURE comptaproc.trim_cvs_quote();
+REVOKE ALL ON SCHEMA public FROM PUBLIC;
+REVOKE ALL ON SCHEMA public FROM postgres;
+GRANT ALL ON SCHEMA public TO postgres;
+GRANT ALL ON SCHEMA public TO PUBLIC;
 
 
 
-CREATE TRIGGER trim_space
-    BEFORE INSERT OR UPDATE ON format_csv_banque
-    FOR EACH ROW
-    EXECUTE PROCEDURE comptaproc.trim_space_format_csv_banque();
diff --git a/include/sql/mod1/sequence.sql b/include/sql/mod1/sequence.sql
index a27a569..de5d6a1 100644
--- a/include/sql/mod1/sequence.sql
+++ b/include/sql/mod1/sequence.sql
@@ -1,481 +1,687 @@
 CREATE SEQUENCE action_detail_ad_id_seq
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 ALTER SEQUENCE action_detail_ad_id_seq OWNED BY action_detail.ad_id;
 CREATE SEQUENCE action_gestion_ag_id_seq
     START WITH 1
     INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+CREATE SEQUENCE action_gestion_comment_agc_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+ALTER SEQUENCE action_gestion_comment_agc_id_seq OWNED BY 
action_gestion_comment.agc_id;
+CREATE SEQUENCE action_gestion_operation_ago_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+ALTER SEQUENCE action_gestion_operation_ago_id_seq OWNED BY 
action_gestion_operation.ago_id;
+CREATE SEQUENCE action_gestion_related_aga_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+ALTER SEQUENCE action_gestion_related_aga_id_seq OWNED BY 
action_gestion_related.aga_id;
+CREATE SEQUENCE action_person_ap_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
     NO MAXVALUE
+    CACHE 1;
+ALTER SEQUENCE action_person_ap_id_seq OWNED BY action_person.ap_id;
+CREATE SEQUENCE action_tags_at_id_seq
+    START WITH 1
+    INCREMENT BY 1
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
+ALTER SEQUENCE action_tags_at_id_seq OWNED BY action_tags.at_id;
 CREATE SEQUENCE bilan_b_id_seq
+    START WITH 1
     INCREMENT BY 1
+    NO MINVALUE
     NO MAXVALUE
+    CACHE 1;
+CREATE SEQUENCE bookmark_b_id_seq
+    START WITH 1
+    INCREMENT BY 1
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
+ALTER SEQUENCE bookmark_b_id_seq OWNED BY bookmark.b_id;
 CREATE SEQUENCE bud_card_bc_id_seq
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE bud_detail_bd_id_seq
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE bud_detail_periode_bdp_id_seq
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE del_action_del_id_seq
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 ALTER SEQUENCE del_action_del_id_seq OWNED BY del_action.del_id;
-CREATE SEQUENCE document_d_id_seq
+CREATE SEQUENCE del_jrn_dj_id_seq
     START WITH 1
     INCREMENT BY 1
+    NO MINVALUE
     NO MAXVALUE
+    CACHE 1;
+ALTER SEQUENCE del_jrn_dj_id_seq OWNED BY del_jrn.dj_id;
+CREATE SEQUENCE del_jrnx_djx_id_seq
+    START WITH 1
+    INCREMENT BY 1
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
-CREATE SEQUENCE document_modele_md_id_seq
+ALTER SEQUENCE del_jrnx_djx_id_seq OWNED BY del_jrnx.djx_id;
+CREATE SEQUENCE document_d_id_seq
     START WITH 1
     INCREMENT BY 1
+    NO MINVALUE
     NO MAXVALUE
+    CACHE 1;
+CREATE SEQUENCE document_modele_md_id_seq
+    START WITH 1
+    INCREMENT BY 1
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE document_seq
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 COMMENT ON SEQUENCE document_seq IS 'Sequence for the sequence bound to the 
document modele';
 CREATE SEQUENCE document_state_s_id_seq
+    START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE document_type_dt_id_seq
     START WITH 25
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE extension_ex_id_seq
+    START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 ALTER SEQUENCE extension_ex_id_seq OWNED BY extension.ex_id;
 CREATE SEQUENCE forecast_cat_fc_id_seq
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 ALTER SEQUENCE forecast_cat_fc_id_seq OWNED BY forecast_cat.fc_id;
 CREATE SEQUENCE forecast_f_id_seq
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 ALTER SEQUENCE forecast_f_id_seq OWNED BY forecast.f_id;
 CREATE SEQUENCE forecast_item_fi_id_seq
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 ALTER SEQUENCE forecast_item_fi_id_seq OWNED BY forecast_item.fi_id;
 CREATE SEQUENCE historique_analytique_ha_id_seq
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE s_jnt_id
+    START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE jnt_letter_jl_id_seq
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 ALTER SEQUENCE jnt_letter_jl_id_seq OWNED BY jnt_letter.jl_id;
 CREATE SEQUENCE jrn_info_ji_id_seq
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 ALTER SEQUENCE jrn_info_ji_id_seq OWNED BY jrn_info.ji_id;
-CREATE SEQUENCE letter_cred_lc_id_seq
+CREATE SEQUENCE jrn_note_n_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+ALTER SEQUENCE jrn_note_n_id_seq OWNED BY jrn_note.n_id;
+CREATE SEQUENCE key_distribution_activity_ka_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+ALTER SEQUENCE key_distribution_activity_ka_id_seq OWNED BY 
key_distribution_activity.ka_id;
+CREATE SEQUENCE key_distribution_detail_ke_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+ALTER SEQUENCE key_distribution_detail_ke_id_seq OWNED BY 
key_distribution_detail.ke_id;
+CREATE SEQUENCE key_distribution_kd_id_seq
     START WITH 1
     INCREMENT BY 1
+    NO MINVALUE
     NO MAXVALUE
+    CACHE 1;
+ALTER SEQUENCE key_distribution_kd_id_seq OWNED BY key_distribution.kd_id;
+CREATE SEQUENCE key_distribution_ledger_kl_id_seq
+    START WITH 1
+    INCREMENT BY 1
     NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+ALTER SEQUENCE key_distribution_ledger_kl_id_seq OWNED BY 
key_distribution_ledger.kl_id;
+CREATE SEQUENCE letter_cred_lc_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 ALTER SEQUENCE letter_cred_lc_id_seq OWNED BY letter_cred.lc_id;
 CREATE SEQUENCE letter_deb_ld_id_seq
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 ALTER SEQUENCE letter_deb_ld_id_seq OWNED BY letter_deb.ld_id;
-CREATE SEQUENCE mod_payment_mp_id_seq
+CREATE SEQUENCE link_action_type_l_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+ALTER SEQUENCE link_action_type_l_id_seq OWNED BY link_action_type.l_id;
+CREATE SEQUENCE menu_default_md_id_seq
+    START WITH 1
     INCREMENT BY 1
+    NO MINVALUE
     NO MAXVALUE
+    CACHE 1;
+ALTER SEQUENCE menu_default_md_id_seq OWNED BY menu_default.md_id;
+CREATE SEQUENCE mod_payment_mp_id_seq
+    START WITH 1
+    INCREMENT BY 1
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 ALTER SEQUENCE mod_payment_mp_id_seq OWNED BY mod_payment.mp_id;
 CREATE SEQUENCE op_def_op_seq
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE op_predef_detail_opd_id_seq
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE s_oa_group
+    START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE plan_analytique_pa_id_seq
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE poste_analytique_po_id_seq
     START WITH 1
     INCREMENT BY 1
+    NO MINVALUE
     NO MAXVALUE
+    CACHE 1;
+CREATE SEQUENCE profile_menu_pm_id_seq
+    START WITH 1
+    INCREMENT BY 1
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
-CREATE SEQUENCE s_attr_def
+ALTER SEQUENCE profile_menu_pm_id_seq OWNED BY profile_menu.pm_id;
+CREATE SEQUENCE profile_p_id_seq
+    START WITH 1
     INCREMENT BY 1
+    NO MINVALUE
     NO MAXVALUE
+    CACHE 1;
+ALTER SEQUENCE profile_p_id_seq OWNED BY profile.p_id;
+CREATE SEQUENCE profile_sec_repository_ur_id_seq
+    START WITH 1
+    INCREMENT BY 1
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
-CREATE SEQUENCE s_cbc
+ALTER SEQUENCE profile_sec_repository_ur_id_seq OWNED BY 
profile_sec_repository.ur_id;
+CREATE SEQUENCE profile_user_pu_id_seq
     START WITH 1
     INCREMENT BY 1
+    NO MINVALUE
     NO MAXVALUE
+    CACHE 1;
+ALTER SEQUENCE profile_user_pu_id_seq OWNED BY profile_user.pu_id;
+CREATE SEQUENCE quant_fin_qf_id_seq
+    START WITH 1
+    INCREMENT BY 1
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
-CREATE SEQUENCE s_central
+ALTER SEQUENCE quant_fin_qf_id_seq OWNED BY quant_fin.qf_id;
+CREATE SEQUENCE s_attr_def
     START WITH 1
     INCREMENT BY 1
+    NO MINVALUE
     NO MAXVALUE
+    CACHE 1;
+CREATE SEQUENCE s_cbc
+    START WITH 1
+    INCREMENT BY 1
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
-CREATE SEQUENCE s_central_order
+CREATE SEQUENCE s_central
     START WITH 1
     INCREMENT BY 1
+    NO MINVALUE
     NO MAXVALUE
+    CACHE 1;
+CREATE SEQUENCE s_central_order
+    START WITH 1
+    INCREMENT BY 1
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE s_centralized
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE s_currency
+    START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE s_fdef
+    START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE s_fiche
+    START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE s_fiche_def_ref
+    START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE s_form
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE s_formdef
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE s_grpt
+    START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE s_idef
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE s_internal
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE s_invoice
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE s_isup
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE s_jnt_fic_att_value
+    START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE s_jrn
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE s_jrn_1
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE s_jrn_2
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE s_jrn_3
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE s_jrn_4
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE s_jrn_def
     START WITH 5
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE s_jrn_op
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE s_jrn_pj1
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE s_jrn_pj2
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE s_jrn_pj3
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE s_jrn_pj4
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE s_jrn_rapt
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE s_jrnaction
+    START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE s_jrnx
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE s_periode
+    START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE s_quantity
+    START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE s_stock_goods
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE s_tva
+    START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE s_user_act
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE s_user_jrn
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE seq_bud_hypothese_bh_id
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE seq_doc_type_1
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE seq_doc_type_10
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE seq_doc_type_2
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE seq_doc_type_20
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE seq_doc_type_21
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE seq_doc_type_22
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE seq_doc_type_3
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE seq_doc_type_4
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE seq_doc_type_5
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE seq_doc_type_6
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE seq_doc_type_7
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE seq_doc_type_8
     START WITH 1
     INCREMENT BY 1
-    NO MAXVALUE
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
 CREATE SEQUENCE seq_doc_type_9
     START WITH 1
     INCREMENT BY 1
+    NO MINVALUE
     NO MAXVALUE
+    CACHE 1;
+CREATE SEQUENCE stock_change_c_id_seq
+    START WITH 1
+    INCREMENT BY 1
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
+ALTER SEQUENCE stock_change_c_id_seq OWNED BY stock_change.c_id;
+CREATE SEQUENCE stock_repository_r_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+ALTER SEQUENCE stock_repository_r_id_seq OWNED BY stock_repository.r_id;
+CREATE SEQUENCE tags_t_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+ALTER SEQUENCE tags_t_id_seq OWNED BY tags.t_id;
+CREATE SEQUENCE tmp_stockgood_detail_d_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+ALTER SEQUENCE tmp_stockgood_detail_d_id_seq OWNED BY 
tmp_stockgood_detail.d_id;
+CREATE SEQUENCE tmp_stockgood_s_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+ALTER SEQUENCE tmp_stockgood_s_id_seq OWNED BY tmp_stockgood.s_id;
 CREATE SEQUENCE todo_list_tl_id_seq
     START WITH 1
     INCREMENT BY 1
+    NO MINVALUE
     NO MAXVALUE
+    CACHE 1;
+CREATE SEQUENCE todo_list_shared_id_seq
+    START WITH 1
+    INCREMENT BY 1
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
-CREATE SEQUENCE user_sec_extension_use_id_seq
+ALTER SEQUENCE todo_list_shared_id_seq OWNED BY todo_list_shared.id;
+CREATE SEQUENCE uos_pk_seq
+    START WITH 1
     INCREMENT BY 1
+    NO MINVALUE
     NO MAXVALUE
+    CACHE 1;
+CREATE SEQUENCE user_sec_action_profile_ua_id_seq
+    START WITH 1
+    INCREMENT BY 1
     NO MINVALUE
+    NO MAXVALUE
     CACHE 1;
-ALTER SEQUENCE user_sec_extension_use_id_seq OWNED BY 
user_sec_extension.use_id;
+ALTER SEQUENCE user_sec_action_profile_ua_id_seq OWNED BY 
user_sec_action_profile.ua_id;
diff --git a/include/sql/mod1/table.sql b/include/sql/mod1/table.sql
index 510dbe3..9a8726e 100644
--- a/include/sql/mod1/table.sql
+++ b/include/sql/mod1/table.sql
@@ -3,7 +3,7 @@ CREATE TABLE action (
     ac_id integer NOT NULL,
     ac_description text NOT NULL,
     ac_module text,
-    ac_code character varying(9)
+    ac_code character varying(30)
 );
 CREATE TABLE action_detail (
     ad_id integer NOT NULL,
@@ -19,31 +19,57 @@ CREATE TABLE action_detail (
 CREATE TABLE action_gestion (
     ag_id integer DEFAULT nextval('action_gestion_ag_id_seq'::regclass) NOT 
NULL,
     ag_type integer,
-    f_id_dest integer NOT NULL,
-    ag_title character varying(70),
+    f_id_dest integer,
+    ag_title text,
     ag_timestamp timestamp without time zone DEFAULT now(),
-    ag_cal character(1) DEFAULT 'C'::bpchar,
     ag_ref_ag_id integer,
-    ag_comment text,
     ag_ref text,
     ag_hour text,
     ag_priority integer DEFAULT 2,
-    ag_dest text,
+    ag_dest bigint DEFAULT (-1) NOT NULL,
     ag_owner text,
     ag_contact bigint,
-    ag_state integer
+    ag_state integer,
+    ag_remind_date date
+);
+CREATE TABLE action_gestion_comment (
+    agc_id bigint NOT NULL,
+    ag_id bigint,
+    agc_date timestamp with time zone DEFAULT now(),
+    agc_comment text,
+    tech_user text
+);
+CREATE TABLE action_gestion_operation (
+    ago_id bigint NOT NULL,
+    ag_id bigint,
+    jr_id bigint
+);
+CREATE TABLE action_gestion_related (
+    aga_id bigint NOT NULL,
+    aga_least bigint NOT NULL,
+    aga_greatest bigint NOT NULL,
+    aga_type bigint
+);
+CREATE TABLE action_person (
+    ap_id integer NOT NULL,
+    ag_id integer NOT NULL,
+    f_id integer NOT NULL
+);
+CREATE TABLE action_tags (
+    at_id integer NOT NULL,
+    t_id integer,
+    ag_id integer
 );
 CREATE TABLE attr_def (
     ad_id integer DEFAULT nextval(('s_attr_def'::text)::regclass) NOT NULL,
-    ad_text text
+    ad_text text,
+    ad_type text,
+    ad_size text NOT NULL,
+    ad_extra text
 );
 CREATE TABLE attr_min (
-    frd_id integer,
-    ad_id integer
-);
-CREATE TABLE attr_value (
-    jft_id integer,
-    av_text text
+    frd_id integer NOT NULL,
+    ad_id integer NOT NULL
 );
 CREATE TABLE bilan (
     b_id integer DEFAULT nextval('bilan_b_id_seq'::regclass) NOT NULL,
@@ -52,6 +78,12 @@ CREATE TABLE bilan (
     b_file_form text,
     b_type text NOT NULL
 );
+CREATE TABLE bookmark (
+    b_id integer NOT NULL,
+    b_order integer DEFAULT 1,
+    b_action text,
+    login text
+);
 CREATE TABLE centralized (
     c_id integer DEFAULT nextval(('s_centralized'::text)::regclass) NOT NULL,
     c_j_id integer,
@@ -93,7 +125,8 @@ CREATE TABLE del_jrn (
     jr_pj_name text,
     jr_pj_type text,
     del_jrn_date timestamp without time zone,
-    jr_pj_number text
+    jr_pj_number text,
+    dj_id integer NOT NULL
 );
 CREATE TABLE del_jrnx (
     j_id integer NOT NULL,
@@ -110,7 +143,9 @@ CREATE TABLE del_jrnx (
     j_tech_user text,
     j_tech_date timestamp without time zone,
     j_tech_per integer,
-    j_qcode text
+    j_qcode text,
+    djx_id integer NOT NULL,
+    f_id bigint
 );
 CREATE TABLE document (
     d_id integer DEFAULT nextval('document_d_id_seq'::regclass) NOT NULL,
@@ -118,7 +153,8 @@ CREATE TABLE document (
     d_lob oid,
     d_number bigint NOT NULL,
     d_filename text,
-    d_mimetype text
+    d_mimetype text,
+    d_description text
 );
 CREATE TABLE document_modele (
     md_id integer DEFAULT nextval('document_modele_md_id_seq'::regclass) NOT 
NULL,
@@ -131,11 +167,13 @@ CREATE TABLE document_modele (
 );
 CREATE TABLE document_state (
     s_id integer DEFAULT nextval('document_state_s_id_seq'::regclass) NOT NULL,
-    s_value character varying(50) NOT NULL
+    s_value character varying(50) NOT NULL,
+    s_status character(1)
 );
 CREATE TABLE document_type (
     dt_id integer DEFAULT nextval('document_type_dt_id_seq'::regclass) NOT 
NULL,
-    dt_value character varying(80)
+    dt_value character varying(80),
+    dt_prefix text
 );
 CREATE TABLE extension (
     ex_id integer NOT NULL,
@@ -154,16 +192,25 @@ CREATE TABLE fiche_def (
     fd_class_base text,
     fd_label text NOT NULL,
     fd_create_account boolean DEFAULT false,
-    frd_id integer NOT NULL
+    frd_id integer NOT NULL,
+    fd_description text
 );
 CREATE TABLE fiche_def_ref (
     frd_id integer DEFAULT nextval(('s_fiche_def_ref'::text)::regclass) NOT 
NULL,
     frd_text text,
-    frd_class_base integer
+    frd_class_base account_type
+);
+CREATE TABLE fiche_detail (
+    jft_id integer DEFAULT nextval(('s_jnt_fic_att_value'::text)::regclass) 
NOT NULL,
+    f_id integer,
+    ad_id integer,
+    ad_value text
 );
 CREATE TABLE forecast (
     f_id integer NOT NULL,
-    f_name text NOT NULL
+    f_name text NOT NULL,
+    f_start_date bigint,
+    f_end_date bigint
 );
 CREATE TABLE forecast_cat (
     fc_id integer NOT NULL,
@@ -189,10 +236,6 @@ CREATE TABLE form (
     fo_label text,
     fo_formula text
 );
-CREATE TABLE format_csv_banque (
-    name text NOT NULL,
-    include_file text NOT NULL
-);
 CREATE TABLE formdef (
     fr_id integer DEFAULT nextval(('s_formdef'::text)::regclass) NOT NULL,
     fr_label text
@@ -202,31 +245,10 @@ CREATE TABLE groupe_analytique (
     pa_id integer,
     ga_description text
 );
-CREATE TABLE import_tmp (
-    code text NOT NULL,
-    date_exec date NOT NULL,
-    date_valeur date NOT NULL,
-    devise text,
-    compte_ordre text,
-    detail text,
-    num_compte text,
-    poste_comptable text,
-    status character varying(1) DEFAULT 'n'::character varying NOT NULL,
-    bq_account text NOT NULL,
-    jrn integer NOT NULL,
-    jr_rapt text,
-    montant numeric(20,4) DEFAULT 0 NOT NULL,
-    CONSTRAINT import_tmp_status_check CHECK ((((((status)::text = 'n'::text) 
OR ((status)::text = 't'::text)) OR ((status)::text = 'd'::text)) OR 
((status)::text = 'w'::text)))
-);
 CREATE TABLE info_def (
     id_type text NOT NULL,
     id_description text
 );
-CREATE TABLE jnt_fic_att_value (
-    jft_id integer DEFAULT nextval(('s_jnt_fic_att_value'::text)::regclass) 
NOT NULL,
-    f_id integer,
-    ad_id integer
-);
 CREATE TABLE jnt_fic_attr (
     fd_id integer,
     ad_id integer,
@@ -257,16 +279,8 @@ CREATE TABLE jrn (
     jr_pj_name text,
     jr_pj_type text,
     jr_pj_number text,
-    jr_mt text
-);
-CREATE TABLE jrn_action (
-    ja_id integer DEFAULT nextval(('s_jrnaction'::text)::regclass) NOT NULL,
-    ja_name text NOT NULL,
-    ja_desc text,
-    ja_url text NOT NULL,
-    ja_action text NOT NULL,
-    ja_lang text DEFAULT 'FR'::text,
-    ja_jrn_type character(3)
+    jr_mt text,
+    jr_date_paid date
 );
 CREATE TABLE jrn_def (
     jrn_def_id integer DEFAULT nextval(('s_jrn_def'::text)::regclass) NOT NULL,
@@ -281,7 +295,10 @@ CREATE TABLE jrn_def (
     jrn_def_ech_lib text,
     jrn_def_type character(3) NOT NULL,
     jrn_def_code text NOT NULL,
-    jrn_def_pj_pref text
+    jrn_def_pj_pref text,
+    jrn_def_bank bigint,
+    jrn_def_num_op integer,
+    jrn_def_description text
 );
 CREATE TABLE jrn_info (
     ji_id integer NOT NULL,
@@ -289,6 +306,11 @@ CREATE TABLE jrn_info (
     id_type text NOT NULL,
     ji_value text
 );
+CREATE TABLE jrn_note (
+    n_id integer NOT NULL,
+    n_text text,
+    jr_id bigint NOT NULL
+);
 CREATE TABLE jrn_periode (
     jrn_def_id integer NOT NULL,
     p_id integer NOT NULL,
@@ -318,7 +340,30 @@ CREATE TABLE jrnx (
     j_tech_user text NOT NULL,
     j_tech_date timestamp without time zone DEFAULT now() NOT NULL,
     j_tech_per integer NOT NULL,
-    j_qcode text
+    j_qcode text,
+    f_id bigint
+);
+CREATE TABLE key_distribution (
+    kd_id integer NOT NULL,
+    kd_name text,
+    kd_description text
+);
+CREATE TABLE key_distribution_activity (
+    ka_id integer NOT NULL,
+    ke_id bigint NOT NULL,
+    po_id bigint,
+    pa_id bigint NOT NULL
+);
+CREATE TABLE key_distribution_detail (
+    ke_id integer NOT NULL,
+    kd_id bigint NOT NULL,
+    ke_row integer NOT NULL,
+    ke_percent numeric(20,4) NOT NULL
+);
+CREATE TABLE key_distribution_ledger (
+    kl_id integer NOT NULL,
+    kd_id bigint NOT NULL,
+    jrn_def_id bigint NOT NULL
 );
 CREATE TABLE letter_cred (
     lc_id integer NOT NULL,
@@ -330,13 +375,33 @@ CREATE TABLE letter_deb (
     j_id bigint NOT NULL,
     jl_id bigint NOT NULL
 );
+CREATE TABLE link_action_type (
+    l_id bigint NOT NULL,
+    l_desc character varying
+);
+CREATE TABLE menu_default (
+    md_id integer NOT NULL,
+    md_code text NOT NULL,
+    me_code text NOT NULL
+);
+CREATE TABLE menu_ref (
+    me_code text NOT NULL,
+    me_menu text,
+    me_file text,
+    me_url text,
+    me_description text,
+    me_parameter text,
+    me_javascript text,
+    me_type character varying(2),
+    me_description_etendue text
+);
 CREATE TABLE mod_payment (
     mp_id integer NOT NULL,
     mp_lib text NOT NULL,
     mp_jrn_def_id integer NOT NULL,
-    mp_type character varying(3) NOT NULL,
     mp_fd_id bigint,
-    mp_qcode text
+    mp_qcode text,
+    jrn_def_id bigint
 );
 CREATE TABLE op_predef (
     od_id integer DEFAULT nextval('op_def_op_seq'::regclass) NOT NULL,
@@ -344,7 +409,8 @@ CREATE TABLE op_predef (
     od_name text NOT NULL,
     od_item integer NOT NULL,
     od_jrn_type text NOT NULL,
-    od_direct boolean NOT NULL
+    od_direct boolean NOT NULL,
+    od_description text
 );
 CREATE TABLE op_predef_detail (
     opd_id integer DEFAULT nextval('op_predef_detail_opd_id_seq'::regclass) 
NOT NULL,
@@ -361,14 +427,16 @@ CREATE TABLE op_predef_detail (
 CREATE TABLE operation_analytique (
     oa_id integer DEFAULT nextval('historique_analytique_ha_id_seq'::regclass) 
NOT NULL,
     po_id integer NOT NULL,
-    pa_id integer NOT NULL,
     oa_amount numeric(20,4) NOT NULL,
     oa_description text,
     oa_debit boolean DEFAULT true NOT NULL,
     j_id integer,
     oa_group integer DEFAULT nextval('s_oa_group'::regclass) NOT NULL,
     oa_date date NOT NULL,
-    oa_row integer
+    oa_row integer,
+    oa_jrnx_id_source bigint,
+    oa_positive character(1) DEFAULT 'Y'::bpchar NOT NULL,
+    CONSTRAINT operation_analytique_oa_amount_check CHECK ((oa_amount >= 
(0)::numeric))
 );
 CREATE TABLE parameter (
     pr_id text NOT NULL,
@@ -410,9 +478,49 @@ CREATE TABLE poste_analytique (
     po_description text,
     ga_id character varying(10)
 );
+CREATE TABLE profile (
+    p_name text NOT NULL,
+    p_id integer NOT NULL,
+    p_desc text,
+    with_calc boolean DEFAULT true,
+    with_direct_form boolean DEFAULT true
+);
+CREATE TABLE profile_menu (
+    pm_id integer NOT NULL,
+    me_code text,
+    me_code_dep text,
+    p_id integer,
+    p_order integer,
+    p_type_display text NOT NULL,
+    pm_default integer,
+    pm_id_dep bigint
+);
+CREATE TABLE profile_menu_type (
+    pm_type text NOT NULL,
+    pm_desc text
+);
+CREATE TABLE profile_sec_repository (
+    ur_id bigint NOT NULL,
+    p_id bigint,
+    r_id bigint,
+    ur_right character(1),
+    CONSTRAINT user_sec_profile_ur_right_check CHECK ((ur_right = ANY 
(ARRAY['R'::bpchar, 'W'::bpchar])))
+);
+CREATE TABLE profile_user (
+    user_name text NOT NULL,
+    pu_id integer NOT NULL,
+    p_id integer
+);
+CREATE TABLE quant_fin (
+    qf_id bigint NOT NULL,
+    qf_bank bigint,
+    jr_id bigint,
+    qf_other bigint,
+    qf_amount numeric(20,4) DEFAULT 0
+);
 CREATE TABLE quant_purchase (
     qp_id integer DEFAULT nextval(('s_quantity'::text)::regclass) NOT NULL,
-    qp_internal text NOT NULL,
+    qp_internal text,
     j_id integer NOT NULL,
     qp_fiche integer NOT NULL,
     qp_quantite numeric(20,4) NOT NULL,
@@ -424,11 +532,13 @@ CREATE TABLE quant_purchase (
     qp_nd_tva_recup numeric(20,4) DEFAULT 0.0,
     qp_supplier integer NOT NULL,
     qp_valid character(1) DEFAULT 'Y'::bpchar NOT NULL,
-    qp_dep_priv numeric(20,4) DEFAULT 0.0
+    qp_dep_priv numeric(20,4) DEFAULT 0.0,
+    qp_vat_sided numeric(20,4) DEFAULT 0.0,
+    qp_unit numeric(20,4) DEFAULT 0
 );
 CREATE TABLE quant_sold (
     qs_id integer DEFAULT nextval(('s_quantity'::text)::regclass) NOT NULL,
-    qs_internal text NOT NULL,
+    qs_internal text,
     qs_fiche integer NOT NULL,
     qs_quantite numeric(20,4) NOT NULL,
     qs_price numeric(20,4),
@@ -436,12 +546,22 @@ CREATE TABLE quant_sold (
     qs_vat_code integer,
     qs_client integer NOT NULL,
     qs_valid character(1) DEFAULT 'Y'::bpchar NOT NULL,
-    j_id integer NOT NULL
+    j_id integer NOT NULL,
+    qs_vat_sided numeric(20,4) DEFAULT 0.0,
+    qs_unit numeric(20,4) DEFAULT 0
+);
+CREATE TABLE stock_change (
+    c_id bigint NOT NULL,
+    c_comment text,
+    c_date date,
+    tech_user text,
+    r_id bigint,
+    tech_date time without time zone DEFAULT now() NOT NULL
 );
 CREATE TABLE stock_goods (
     sg_id integer DEFAULT nextval(('s_stock_goods'::text)::regclass) NOT NULL,
     j_id integer,
-    f_id integer NOT NULL,
+    f_id integer,
     sg_code text,
     sg_quantity numeric(8,4) DEFAULT 0,
     sg_type character(1) DEFAULT 'c'::bpchar NOT NULL,
@@ -450,27 +570,66 @@ CREATE TABLE stock_goods (
     sg_tech_user text,
     sg_comment character varying(80),
     sg_exercice character varying(4),
+    r_id bigint,
+    c_id bigint,
     CONSTRAINT stock_goods_sg_type CHECK (((sg_type = 'c'::bpchar) OR (sg_type 
= 'd'::bpchar)))
 );
+CREATE TABLE stock_repository (
+    r_id bigint NOT NULL,
+    r_name text,
+    r_adress text,
+    r_country text,
+    r_city text,
+    r_phone text
+);
+CREATE TABLE tags (
+    t_id integer NOT NULL,
+    t_tag text NOT NULL,
+    t_description text
+);
 CREATE TABLE tmp_pcmn (
     pcm_val account_type NOT NULL,
     pcm_lib text,
     pcm_val_parent account_type DEFAULT 0,
     pcm_type text
 );
+CREATE TABLE tmp_stockgood (
+    s_id bigint NOT NULL,
+    s_date timestamp without time zone DEFAULT now()
+);
+CREATE TABLE tmp_stockgood_detail (
+    d_id bigint NOT NULL,
+    s_id bigint,
+    sg_code text,
+    s_qin numeric(20,4),
+    s_qout numeric(20,4),
+    r_id bigint,
+    f_id bigint
+);
 CREATE TABLE todo_list (
     tl_id integer DEFAULT nextval('todo_list_tl_id_seq'::regclass) NOT NULL,
     tl_date date NOT NULL,
     tl_title text NOT NULL,
     tl_desc text,
+    use_login text NOT NULL,
+    is_public character(1) DEFAULT 'N'::bpchar NOT NULL,
+    CONSTRAINT ck_is_public CHECK ((is_public = ANY (ARRAY['Y'::bpchar, 
'N'::bpchar])))
+);
+CREATE TABLE todo_list_shared (
+    id integer NOT NULL,
+    todo_list_id integer NOT NULL,
     use_login text NOT NULL
 );
+CREATE TABLE tool_uos (
+    uos_value bigint DEFAULT nextval('uos_pk_seq'::regclass) NOT NULL
+);
 CREATE TABLE tva_rate (
     tva_id integer DEFAULT nextval('s_tva'::regclass) NOT NULL,
     tva_label text NOT NULL,
     tva_rate numeric(8,4) DEFAULT 0.0 NOT NULL,
     tva_comment text,
-    tva_poste text
+    tva_poste text,
+    tva_both_side integer DEFAULT 0
 );
 CREATE TABLE user_local_pref (
     user_id text NOT NULL,
@@ -482,11 +641,12 @@ CREATE TABLE user_sec_act (
     ua_login text,
     ua_act_id integer
 );
-CREATE TABLE user_sec_extension (
-    use_id integer NOT NULL,
-    ex_id integer NOT NULL,
-    use_login text NOT NULL,
-    use_access character(1) DEFAULT 0 NOT NULL
+CREATE TABLE user_sec_action_profile (
+    ua_id bigint NOT NULL,
+    p_id bigint,
+    p_granted bigint,
+    ua_right character(1),
+    CONSTRAINT user_sec_action_profile_ua_right_check CHECK ((ua_right = ANY 
(ARRAY['R'::bpchar, 'W'::bpchar])))
 );
 CREATE TABLE user_sec_jrn (
     uj_id integer DEFAULT nextval(('s_user_jrn'::text)::regclass) NOT NULL,
diff --git a/include/sql/mod1/view.sql b/include/sql/mod1/view.sql
index 317c4af..c74df0a 100644
--- a/include/sql/mod1/view.sql
+++ b/include/sql/mod1/view.sql
@@ -1,12 +1,30 @@
-CREATE VIEW vw_client AS
-    SELECT a.f_id, a.av_text AS name, a1.av_text AS quick_code, b.av_text AS 
tva_num, c.av_text AS poste_comptable, d.av_text AS rue, e.av_text AS 
code_postal, f.av_text AS pays, g.av_text AS telephone, h.av_text AS email FROM 
(((((((((SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, 
fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, 
fiche_def.fd_create_account, fiche_def_ref.frd_text, 
fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM 
((( [...]
+CREATE VIEW v_all_menu AS
+    SELECT pm.me_code, pm.pm_id, pm.me_code_dep, pm.p_order, 
pm.p_type_display, p.p_name, p.p_desc, mr.me_menu, mr.me_file, mr.me_url, 
mr.me_parameter, mr.me_javascript, mr.me_type, pm.p_id, mr.me_description FROM 
((profile_menu pm JOIN profile p ON ((p.p_id = pm.p_id))) JOIN menu_ref mr 
USING (me_code)) ORDER BY pm.p_order;
 CREATE VIEW vw_fiche_attr AS
-    SELECT a.f_id, a.fd_id, a.av_text AS vw_name, b.av_text AS vw_sell, 
c.av_text AS vw_buy, d.av_text AS tva_code, tva_rate.tva_id, tva_rate.tva_rate, 
tva_rate.tva_label, e.av_text AS vw_addr, f.av_text AS vw_cp, j.av_text AS 
quick_code, h.av_text AS vw_description, i.av_text AS tva_num, fiche_def.frd_id 
FROM (((((((((((SELECT fiche.f_id, fiche.fd_id, attr_value.av_text FROM 
(((fiche JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) 
JOIN attr_def USING (ad_id)) WHERE  [...]
+    SELECT a.f_id, a.fd_id, a.ad_value AS vw_name, k.ad_value AS 
vw_first_name, b.ad_value AS vw_sell, c.ad_value AS vw_buy, d.ad_value AS 
tva_code, tva_rate.tva_id, tva_rate.tva_rate, tva_rate.tva_label, e.ad_value AS 
vw_addr, f.ad_value AS vw_cp, j.ad_value AS quick_code, h.ad_value AS 
vw_description, i.ad_value AS tva_num, fiche_def.frd_id, l.ad_value AS 
accounting FROM (((((((((((((SELECT fiche.f_id, fiche.fd_id, 
fiche_detail.ad_value FROM (fiche LEFT JOIN fiche_detail USING (f_id))  [...]
+CREATE VIEW vw_fiche_name AS
+    SELECT fiche_detail.f_id, fiche_detail.ad_value AS name FROM fiche_detail 
WHERE (fiche_detail.ad_id = 1);
+CREATE VIEW v_detail_purchase AS
+    WITH m AS (SELECT sum(quant_purchase.qp_price) AS htva, 
sum(quant_purchase.qp_vat) AS tot_vat, sum(quant_purchase.qp_vat_sided) AS 
tot_tva_np, jrn.jr_id FROM ((quant_purchase JOIN jrnx USING (j_id)) JOIN jrn ON 
((jrnx.j_grpt = jrn.jr_grpt_id))) GROUP BY jrn.jr_id) SELECT jrn.jr_id, 
jrn.jr_date, jrn.jr_date_paid, jrn.jr_ech, jrn.jr_tech_per, jrn.jr_comment, 
jrn.jr_pj_number, jrn.jr_internal, jrn.jr_def_id, jrnx.j_poste, jrnx.j_text, 
jrnx.j_qcode, quant_purchase.qp_fiche AS item_card,  [...]
+CREATE VIEW v_detail_sale AS
+    WITH m AS (SELECT sum(quant_sold.qs_price) AS htva, sum(quant_sold.qs_vat) 
AS tot_vat, sum(quant_sold.qs_vat_sided) AS tot_tva_np, jrn.jr_id FROM 
((quant_sold JOIN jrnx USING (j_id)) JOIN jrn ON ((jrnx.j_grpt = 
jrn.jr_grpt_id))) GROUP BY jrn.jr_id) SELECT jrn.jr_id, jrn.jr_date, 
jrn.jr_date_paid, jrn.jr_ech, jrn.jr_tech_per, jrn.jr_comment, 
jrn.jr_pj_number, jrn.jr_internal, jrn.jr_def_id, jrnx.j_poste, jrnx.j_text, 
jrnx.j_qcode, quant_sold.qs_fiche AS item_card, a.name AS item_name, [...]
+CREATE VIEW v_menu_dependency AS
+    WITH t_menu AS (SELECT pm.pm_id, mr.me_menu, pm.me_code, pm.me_code_dep, 
pm.p_type_display, mr.me_file, mr.me_javascript, mr.me_description, 
mr.me_description_etendue, p.p_id FROM ((profile_menu pm JOIN profile p ON 
((p.p_id = pm.p_id))) JOIN menu_ref mr USING (me_code))) SELECT DISTINCT 
((COALESCE((v3.me_code || '/'::text), ''::text) || COALESCE(v2.me_code, 
''::text)) || CASE WHEN (v2.me_code IS NULL) THEN COALESCE(v1.me_code, 
''::text) WHEN (v2.me_code IS NOT NULL) THEN COALESCE((' [...]
+CREATE VIEW v_menu_description AS
+    WITH t_menu AS (SELECT pm.pm_id, pm.pm_id_dep, pm.p_id, mr.me_menu, 
pm.me_code, pm.me_code_dep, pm.p_type_display, pu.user_name, mr.me_file, 
mr.me_javascript, mr.me_description, mr.me_description_etendue FROM 
(((profile_menu pm JOIN profile_user pu ON ((pu.p_id = pm.p_id))) JOIN profile 
p ON ((p.p_id = pm.p_id))) JOIN menu_ref mr USING (me_code))) SELECT DISTINCT 
((COALESCE((v3.me_code || '/'::text), ''::text) || COALESCE(v2.me_code, 
''::text)) || CASE WHEN (v2.me_code IS NULL) THEN  [...]
+CREATE VIEW v_menu_description_favori AS
+    WITH t_menu AS (SELECT mr.me_menu, pm.me_code, pm.me_code_dep, 
pm.p_type_display, pu.user_name, mr.me_file, mr.me_javascript, 
mr.me_description, mr.me_description_etendue FROM (((profile_menu pm JOIN 
profile_user pu ON ((pu.p_id = pm.p_id))) JOIN profile p ON ((p.p_id = 
pm.p_id))) JOIN menu_ref mr USING (me_code))) SELECT DISTINCT 
((COALESCE((v3.me_code || '/'::text), ''::text) || COALESCE(v2.me_code, 
''::text)) || CASE WHEN (v2.me_code IS NULL) THEN COALESCE(v1.me_code, 
''::text) WH [...]
+CREATE VIEW v_menu_profile AS
+    WITH t_menu AS (SELECT pm.pm_id, pm.pm_id_dep, pm.me_code, pm.me_code_dep, 
pm.p_type_display, pm.p_id FROM (profile_menu pm JOIN profile p ON ((p.p_id = 
pm.p_id)))) SELECT DISTINCT ((COALESCE((v3.me_code || '/'::text), ''::text) || 
COALESCE(v2.me_code, ''::text)) || CASE WHEN (v2.me_code IS NULL) THEN 
COALESCE(v1.me_code, ''::text) WHEN (v2.me_code IS NOT NULL) THEN 
COALESCE(('/'::text || v1.me_code), ''::text) ELSE NULL::text END) AS code, 
v3.p_type_display, COALESCE(v3.pm_id, 0) AS [...]
+CREATE VIEW v_quant_detail AS
+    WITH quant AS (SELECT quant_purchase.j_id, quant_purchase.qp_fiche AS 
fiche_id, quant_purchase.qp_supplier AS tiers, quant_purchase.qp_vat AS 
vat_amount, quant_purchase.qp_price AS price, quant_purchase.qp_vat_code AS 
vat_code, quant_purchase.qp_dep_priv AS dep_priv, quant_purchase.qp_nd_tva AS 
nd_tva, quant_purchase.qp_nd_tva_recup AS nd_tva_recup, 
quant_purchase.qp_nd_amount AS nd_amount, quant_purchase.qp_vat_sided AS 
vat_sided FROM quant_purchase UNION ALL SELECT quant_sold.j_id, [...]
+CREATE VIEW vw_client AS
+    SELECT fiche.f_id, a1.ad_value AS name, a.ad_value AS quick_code, 
b.ad_value AS tva_num, c.ad_value AS poste_comptable, d.ad_value AS rue, 
e.ad_value AS code_postal, f.ad_value AS pays, g.ad_value AS telephone, 
h.ad_value AS email FROM (((((((((((fiche JOIN fiche_def USING (fd_id)) JOIN 
fiche_def_ref USING (frd_id)) LEFT JOIN (SELECT fiche_detail.jft_id, 
fiche_detail.f_id, fiche_detail.ad_id, fiche_detail.ad_value FROM fiche_detail 
WHERE (fiche_detail.ad_id = 1)) a1 USING (f_id)) LEF [...]
 CREATE VIEW vw_fiche_def AS
     SELECT jnt_fic_attr.fd_id, jnt_fic_attr.ad_id, attr_def.ad_text, 
fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, 
fiche_def.frd_id FROM ((fiche_def JOIN jnt_fic_attr USING (fd_id)) JOIN 
attr_def ON ((attr_def.ad_id = jnt_fic_attr.ad_id)));
 CREATE VIEW vw_fiche_min AS
     SELECT attr_min.frd_id, attr_min.ad_id, attr_def.ad_text, 
fiche_def_ref.frd_text, fiche_def_ref.frd_class_base FROM ((attr_min JOIN 
attr_def USING (ad_id)) JOIN fiche_def_ref USING (frd_id));
 CREATE VIEW vw_poste_qcode AS
-    SELECT a.f_id, a.av_text AS j_poste, b.av_text AS j_qcode FROM ((SELECT 
jnt_fic_att_value.f_id, attr_value.av_text FROM (attr_value JOIN 
jnt_fic_att_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 5)) a JOIN 
(SELECT jnt_fic_att_value.f_id, attr_value.av_text FROM (attr_value JOIN 
jnt_fic_att_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 23)) b USING 
(f_id));
+    SELECT c.f_id, a.ad_value AS j_poste, b.ad_value AS j_qcode FROM ((fiche c 
LEFT JOIN (SELECT fiche_detail.f_id, fiche_detail.ad_value FROM fiche_detail 
WHERE (fiche_detail.ad_id = 5)) a USING (f_id)) LEFT JOIN (SELECT 
fiche_detail.f_id, fiche_detail.ad_value FROM fiche_detail WHERE 
(fiche_detail.ad_id = 23)) b USING (f_id));
 CREATE VIEW vw_supplier AS
-    SELECT a.f_id, a.av_text AS name, a1.av_text AS quick_code, b.av_text AS 
tva_num, c.av_text AS poste_comptable, d.av_text AS rue, e.av_text AS 
code_postal, f.av_text AS pays, g.av_text AS telephone, h.av_text AS email FROM 
(((((((((SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, 
fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, 
fiche_def.fd_create_account, fiche_def_ref.frd_text, 
fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM 
((( [...]
+    SELECT fiche.f_id, a1.ad_value AS name, a.ad_value AS quick_code, 
b.ad_value AS tva_num, c.ad_value AS poste_comptable, d.ad_value AS rue, 
e.ad_value AS code_postal, f.ad_value AS pays, g.ad_value AS telephone, 
h.ad_value AS email FROM (((((((((((fiche JOIN fiche_def USING (fd_id)) JOIN 
fiche_def_ref USING (frd_id)) LEFT JOIN (SELECT fiche_detail.jft_id, 
fiche_detail.f_id, fiche_detail.ad_id, fiche_detail.ad_value FROM fiche_detail 
WHERE (fiche_detail.ad_id = 1)) a1 USING (f_id)) LEF [...]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]