replace trigger jrnx_ins , when qcode was null , an exception was raised and blocked a simple date change
This commit is contained in:
parent
8eefde1dad
commit
df6f96cf25
1 changed files with 56 additions and 0 deletions
56
include/sql/patch/upgrade124.sql
Normal file
56
include/sql/patch/upgrade124.sql
Normal file
|
|
@ -0,0 +1,56 @@
|
||||||
|
begin;
|
||||||
|
CREATE OR REPLACE FUNCTION comptaproc.jrnx_ins()
|
||||||
|
RETURNS trigger
|
||||||
|
|
||||||
|
AS $function$
|
||||||
|
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;
|
||||||
|
$function$
|
||||||
|
LANGUAGE plpgsql;
|
||||||
|
|
||||||
|
|
||||||
|
update version set val=125;
|
||||||
|
|
||||||
|
commit;
|
||||||
Loading…
Add table
Add a link
Reference in a new issue