diff --git a/html/bud_search_poste.php b/html/bud_search_poste.php
new file mode 100644
index 000000000..3a40dbee1
--- /dev/null
+++ b/html/bud_search_poste.php
@@ -0,0 +1,130 @@
+Check();
+
+
+
+echo JS_BUD_SCRIPT;
+
+require_once('class_dossier.php');
+$gDossier=dossier::id();
+
+$c_comment="";
+$c_class="";
+
+$condition="";
+$cn=DbConnect($gDossier);
+extract ($_GET);
+
+if ( isset($_GET['search']) ) {
+
+ $condition="";
+ if ( isset($p_comment) && strlen(trim($p_comment)) != 0 ) {
+ $condition=" where (upper(pcm_lib) like upper('%$p_comment%') or ".
+ " pcm_val::text like '$p_comment%') ".
+ " and (pcm_val::text like '7%' or pcm_val::text like '6%') ";
+ } else {
+ $condition="where pcm_val::text like '7%' or pcm_val::text like '6%' ";
+ }
+
+}
+
+// Control to update in the calling doc.
+if ( isset($_GET['p_ctl'])) {
+ $p_ctl=$_GET['p_ctl'];
+}
+
+
+echo '
';
+
+// if request search
+if ( isset($_GET['search'])){
+ $Res=ExecSql($cn,"select pcm_val,pcm_lib from tmp_pcmn $condition order by pcm_val::text");
+
+ $MaxLine=pg_NumRows($Res);
+ if ( $MaxLine==0) {
+ html_page_stop();
+ return;
+ }
+ echo '';
+}
+echo '';
+html_page_stop();
+?>
diff --git a/include/class_bud_data.php b/include/class_bud_data.php
index d2485379e..eac192eaf 100644
--- a/include/class_bud_data.php
+++ b/include/class_bud_data.php
@@ -65,7 +65,7 @@ class Bud_Data {
if ( $this->po_id == -1)
$sql_po_id="po_id is null";
else
- $sql_po_id=".$this->po_id";
+ $sql_po_id="po_id = $this->po_id";
$sql=" select bd_id,bc_id,bc_code,bd.bh_id,bd.bh_name,".
" tmp_pcmn.pcm_val as pcm_val,pcm_lib ".
" from bud_detail ".
diff --git a/sql/upgrade.sql b/sql/upgrade.sql
index 69baeb979..b3173446a 100644
--- a/sql/upgrade.sql
+++ b/sql/upgrade.sql
@@ -1,4 +1,61 @@
begin;
+alter table import_tmp alter montant numeric (20,4);
+alter table import_tmp alter montant set default 0;
+alter table import_tmp alter montant set not null;
+alter table import_tmp alter code set not null;
+alter table import_tmp alter date_exec set not null;
+alter table import_tmp alter date_valeur set not null;
+
+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'
+
+
+alter table poste_analytique add column ga_id varchar (10);
+
+CREATE or replace FUNCTION t_document_validate() RETURNS "trigger"
+ AS $$
+declare
+ lText text;
+ modified document%ROWTYPE;
+begin
+ modified:=NEW;
+ modified.d_filename:=replace(NEW.d_filename,' ','_');
+ return modified;
+end;
+$$
+ LANGUAGE plpgsql;
+
+
+CREATE or replace FUNCTION t_document_type_insert() RETURNS "trigger"
+ AS $$
+declare
+nCounter integer;
+ BEGIN
+select count(*) into nCounter from pg_class where relname='seq_doc_type_'||NEW.dt_id;
+if nCounter = 0 then
+ execute 'create sequence seq_doc_type_'||NEW.dt_id;
+raise notice 'Creating sequence seq_doc_type_%',NEW.dt_id;
+end if;
+ RETURN NEW;
+ END;
+$$
+ LANGUAGE plpgsql;
+
+CREATE or replace FUNCTION t_document_modele_validate() RETURNS "trigger"
+ AS $$
+declare
+ lText text;
+ modified document_modele%ROWTYPE;
+begin
+ modified:=NEW;
+
+ modified.md_filename:=replace(NEW.md_filename,' ','_');
+ return modified;
+end;
+$$
+ LANGUAGE plpgsql;
+
+
CREATE TABLE groupe_analytique
(
ga_id varchar(10) NOT NULL,
@@ -88,7 +145,7 @@ CREATE TRIGGER t_plan_analytique_ins_upd
EXECUTE PROCEDURE plan_analytic_ins_upd();
CREATE TRIGGER t_group_analytic_del
- AFTER DELETE
+ before DELETE
ON groupe_analytique
FOR EACH ROW
EXECUTE PROCEDURE group_analytique_del();
@@ -121,7 +178,7 @@ WITHOUT OIDS;
create sequence seq_bud_hypothese_bh_id;
-alter table bud_hypothese alter bh_id default nextval('seq_bud_hypothese_bh_id');
+alter table bud_hypothese alter bh_id set default nextval('seq_bud_hypothese_bh_id');
--
-- Name: bud_card; Type: TABLE; Schema: public; Owner: phpcompta; Tablespace:
@@ -198,23 +255,6 @@ ALTER TABLE bud_card ALTER COLUMN bh_id SET NOT NULL;
---
--- Name: t_bud_card_ins_up; Type: TRIGGER; Schema: public; Owner: phpcompta
---
-
-CREATE TRIGGER t_bud_card_ins_up
- BEFORE INSERT OR UPDATE ON bud_card
- FOR EACH ROW
- EXECUTE PROCEDURE bud_card_ins_upd();
-
-
---
--- Name: bud_hypothese_bh_id; Type: FK CONSTRAINT; Schema: public; Owner: phpcompta
---
-
-ALTER TABLE ONLY bud_card
- ADD CONSTRAINT bud_hypothese_bh_id FOREIGN KEY (bh_id) REFERENCES bud_hypothese(bh_id) ON UPDATE CASCADE ON DELETE CASCADE;
-
--
-- Name: bud_detail; Type: TABLE; Schema: public; Owner: phpcompta; Tablespace:
--
@@ -322,7 +362,7 @@ ALTER TABLE ONLY bud_detail
ADD CONSTRAINT fk_bud_card FOREIGN KEY (bc_id) REFERENCES bud_card(bc_id) ON UPDATE CASCADE ON DELETE CASCADE;;
ALTER TABLE ONLY bud_detail
- set fk_bud_hypothese_not_null FOREIGN KEY (bh_id) REFERENCES bud_hypothese(bh_id) ON UPDATE CASCADE ON DELETE CASCADE;;
+ add constraint fk_bud_hypothese_not_null FOREIGN KEY (bh_id) REFERENCES bud_hypothese(bh_id) ON UPDATE CASCADE ON DELETE CASCADE;;
--
@@ -432,6 +472,41 @@ return mline;
end;$BODY$
LANGUAGE 'plpgsql' VOLATILE;
+
+CREATE OR REPLACE FUNCTION bud_card_ins_upd()
+ RETURNS "trigger" AS
+$BODY$declare
+ sCode text;
+begin
+
+sCode:=trim(upper(NEW.bc_code));
+sCode:=replace(sCode,' ','_');
+sCode:=substr(sCode,1,10);
+raise notice 'sCode is %',sCode;
+NEW.bc_code:=sCode;
+return NEW;
+end;$BODY$
+ LANGUAGE 'plpgsql' VOLATILE;
+ALTER FUNCTION bud_card_ins_upd() OWNER TO phpcompta;
+
+--
+-- Name: t_bud_card_ins_up; Type: TRIGGER; Schema: public; Owner: phpcompta
+--
+
+CREATE TRIGGER t_bud_card_ins_up
+ BEFORE INSERT OR UPDATE ON bud_card
+ FOR EACH ROW
+ EXECUTE PROCEDURE bud_card_ins_upd();
+
+
+--
+-- Name: bud_hypothese_bh_id; Type: FK CONSTRAINT; Schema: public; Owner: phpcompta
+--
+
+ALTER TABLE ONLY bud_card
+ ADD CONSTRAINT bud_hypothese_bh_id FOREIGN KEY (bh_id) REFERENCES bud_hypothese(bh_id) ON UPDATE CASCADE ON DELETE CASCADE;
+
+
CREATE TRIGGER t_bud_detail_ins_upd
BEFORE INSERT OR UPDATE
ON bud_detail