SQL : upgrade modele
This commit is contained in:
parent
2bd51d285c
commit
c93e7cff7f
9 changed files with 2654 additions and 1557 deletions
|
|
@ -20,7 +20,6 @@ COMMENT ON COLUMN action_gestion.ag_type IS ' type of action: see document_type
|
|||
COMMENT ON COLUMN action_gestion.f_id_dest IS ' third party ';
|
||||
COMMENT ON COLUMN action_gestion.ag_title IS ' title ';
|
||||
COMMENT ON COLUMN action_gestion.ag_timestamp IS ' ';
|
||||
COMMENT ON COLUMN action_gestion.ag_ref_ag_id IS ' concerning the action ';
|
||||
COMMENT ON COLUMN action_gestion.ag_ref IS 'its reference ';
|
||||
COMMENT ON COLUMN action_gestion.ag_priority IS 'Low, medium, important ';
|
||||
COMMENT ON COLUMN action_gestion.ag_dest IS ' is the profile which has to take care of this action ';
|
||||
|
|
@ -85,7 +84,9 @@ COMMENT ON TABLE form IS 'Forms content';
|
|||
COMMENT ON TABLE info_def IS 'Contains the types of additionnal info we can add to a operation';
|
||||
COMMENT ON TABLE jnt_fic_attr IS 'join between the family card and the attribut definition';
|
||||
COMMENT ON TABLE jrn IS 'Journal: content one line for a group of accountancy writing';
|
||||
COMMENT ON COLUMN jrn.jr_optype IS 'Type of operation , NOR = NORMAL , OPE opening , EXT extourne, CLO closing';
|
||||
COMMENT ON TABLE jrn_def IS 'Definition of a journal, his properties';
|
||||
COMMENT ON COLUMN jrn_def.jrn_enable IS 'Set to 1 if the ledger is enable ';
|
||||
COMMENT ON TABLE jrn_note IS 'Note about operation';
|
||||
COMMENT ON TABLE jrn_rapt IS 'Rapprochement between operation';
|
||||
COMMENT ON TABLE jrn_type IS 'Type of journal (Sell, Buy, Financial...)';
|
||||
|
|
@ -124,6 +125,7 @@ COMMENT ON TABLE op_predef_detail IS 'contains the detail of predefined operatio
|
|||
COMMENT ON TABLE operation_analytique IS 'History of the analytic account';
|
||||
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';
|
||||
COMMENT ON COLUMN operation_analytique.f_id IS 'FK to fiche.f_id , used only with ODS';
|
||||
COMMENT ON TABLE parameter IS 'parameter of the company';
|
||||
COMMENT ON TABLE parm_money IS 'Currency conversion';
|
||||
COMMENT ON TABLE parm_periode IS 'Periode definition';
|
||||
|
|
@ -163,13 +165,19 @@ 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';
|
||||
COMMENT ON COLUMN tags.t_actif IS 'Y if the tag is activate and can be used ';
|
||||
COMMENT ON TABLE tmp_pcmn IS 'Plan comptable minimum normalisé';
|
||||
COMMENT ON COLUMN tmp_pcmn.id IS 'allow to identify the row, it is unique and not null (pseudo pk)';
|
||||
COMMENT ON COLUMN tmp_pcmn.pcm_direct_use IS 'Value are N or Y , N cannot be used directly , not even through a card';
|
||||
COMMENT ON TABLE todo_list IS 'Todo list';
|
||||
COMMENT ON COLUMN todo_list.is_public IS 'Flag for the public parameter';
|
||||
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';
|
||||
COMMENT ON TABLE tva_rate IS 'Rate of vat';
|
||||
COMMENT ON COLUMN user_active_security.us_login IS 'user''s login';
|
||||
COMMENT ON COLUMN user_active_security.us_ledger IS 'Flag Security for ledger';
|
||||
COMMENT ON COLUMN user_active_security.us_action IS 'Security for action';
|
||||
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 ';
|
||||
|
|
@ -180,6 +188,10 @@ 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';
|
||||
COMMENT ON VIEW v_menu_description IS 'Description des menus';
|
||||
COMMENT ON VIEW v_menu_profile IS 'Give the profile and the menu + dependencies';
|
||||
COMMENT ON VIEW v_tva_rate IS 'Show this table to be easily used by Tva_Rate_MTable';
|
||||
COMMENT ON COLUMN v_tva_rate.tva_purchase IS ' VAT used for purchase';
|
||||
COMMENT ON COLUMN v_tva_rate.tva_sale IS ' VAT used for sale';
|
||||
COMMENT ON COLUMN v_tva_rate.tva_both_side IS 'if 1 , VAT avoided ';
|
||||
COMMENT ON VIEW vw_fiche_def IS 'all the attributs for card family';
|
||||
COMMENT ON CONSTRAINT uniq_user_ledger ON user_sec_jrn IS 'Create an unique combination user / ledger';
|
||||
COMMENT ON TRIGGER action_gestion_t_insert_update ON action_gestion IS 'Truncate the column ag_title to 70 char';
|
||||
|
|
|
|||
|
|
@ -39,6 +39,8 @@ ALTER TABLE ONLY tags ALTER COLUMN t_id SET DEFAULT nextval('tags_t_id_seq'::reg
|
|||
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_active_security ALTER COLUMN id SET DEFAULT nextval('user_active_security_id_seq'::regclass);
|
||||
ALTER TABLE ONLY user_filter ALTER COLUMN id SET DEFAULT nextval('user_filter_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);
|
||||
|
|
@ -100,6 +102,8 @@ 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 tmp_pcmn
|
||||
ADD CONSTRAINT id_ux UNIQUE (id);
|
||||
ALTER TABLE ONLY extension
|
||||
ADD CONSTRAINT idx_ex_code UNIQUE (ex_code);
|
||||
ALTER TABLE ONLY info_def
|
||||
|
|
@ -115,7 +119,9 @@ ALTER TABLE ONLY jrn_def
|
|||
ALTER TABLE ONLY jrn_info
|
||||
ADD CONSTRAINT jrn_info_pkey PRIMARY KEY (ji_id);
|
||||
ALTER TABLE ONLY jrn_periode
|
||||
ADD CONSTRAINT jrn_periode_pk PRIMARY KEY (jrn_def_id, p_id);
|
||||
ADD CONSTRAINT jrn_periode_periode_ledger UNIQUE (jrn_def_id, p_id);
|
||||
ALTER TABLE ONLY jrn_periode
|
||||
ADD CONSTRAINT jrn_periode_pk PRIMARY KEY (id);
|
||||
ALTER TABLE ONLY jrn
|
||||
ADD CONSTRAINT jrn_pkey PRIMARY KEY (jr_id, jr_def_id);
|
||||
ALTER TABLE ONLY jrn_rapt
|
||||
|
|
@ -228,6 +234,10 @@ 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_active_security
|
||||
ADD CONSTRAINT user_active_security_pk PRIMARY KEY (id);
|
||||
ALTER TABLE ONLY user_filter
|
||||
ADD CONSTRAINT user_filter_pkey PRIMARY KEY (id);
|
||||
ALTER TABLE ONLY user_sec_act
|
||||
ADD CONSTRAINT user_sec_act_pkey PRIMARY KEY (ua_id);
|
||||
ALTER TABLE ONLY user_sec_action_profile
|
||||
|
|
@ -240,6 +250,8 @@ 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 version
|
||||
ADD CONSTRAINT version_pkey PRIMARY KEY (val);
|
||||
ALTER TABLE ONLY centralized
|
||||
ADD CONSTRAINT "$1" FOREIGN KEY (c_jrn_def) REFERENCES jrn_def(jrn_def_id);
|
||||
ALTER TABLE ONLY user_sec_act
|
||||
|
|
@ -370,6 +382,8 @@ ALTER TABLE ONLY mod_payment
|
|||
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_fiche_id_fk FOREIGN KEY (f_id) REFERENCES fiche(f_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
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -286,6 +286,34 @@ return NEW;
|
|||
|
||||
end;
|
||||
$$;
|
||||
CREATE FUNCTION anc_correct_tvand() RETURNS void
|
||||
LANGUAGE plpgsql
|
||||
AS $$
|
||||
declare
|
||||
n_count numeric;
|
||||
i record;
|
||||
newrow_tva record;
|
||||
begin
|
||||
for i in select * from operation_analytique where oa_jrnx_id_source is not null loop
|
||||
-- Get all the anc accounting from the base operation and insert the missing record for VAT
|
||||
for newrow_tva in select * from operation_analytique where j_id=i.oa_jrnx_id_source and po_id <> i.po_id loop
|
||||
|
||||
-- check if the record is yet present
|
||||
select count(*) into n_count from operation_analytique where po_id=newrow_tva.po_id and oa_jrnx_id_source=i.oa_jrnx_id_source;
|
||||
|
||||
if n_count = 0 then
|
||||
raise info 'insert operation analytique po_id = % oa_group = % ',i.po_id, i.oa_group;
|
||||
insert into operation_analytique
|
||||
(po_id,oa_amount,oa_description,oa_debit,j_id,oa_group,oa_date,oa_jrnx_id_source,oa_positive)
|
||||
values (newrow_tva.po_id,i.oa_amount,i.oa_description,i.oa_debit,i.j_id,i.oa_group,i.oa_date,i.oa_jrnx_id_source,i.oa_positive);
|
||||
end if;
|
||||
|
||||
end loop;
|
||||
|
||||
|
||||
end loop;
|
||||
end;
|
||||
$$;
|
||||
CREATE FUNCTION attribut_insert(p_f_id integer, p_ad_id integer, p_value character varying) RETURNS void
|
||||
LANGUAGE plpgsql
|
||||
AS $$
|
||||
|
|
@ -1626,108 +1654,6 @@ nCounter integer;
|
|||
RETURN NEW;
|
||||
END;
|
||||
$$;
|
||||
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 $$
|
||||
|
|
|
|||
|
|
@ -373,6 +373,37 @@ $$;
|
|||
|
||||
|
||||
|
||||
CREATE FUNCTION anc_correct_tvand() RETURNS void
|
||||
LANGUAGE plpgsql
|
||||
AS $$
|
||||
declare
|
||||
n_count numeric;
|
||||
i record;
|
||||
newrow_tva record;
|
||||
begin
|
||||
for i in select * from operation_analytique where oa_jrnx_id_source is not null loop
|
||||
-- Get all the anc accounting from the base operation and insert the missing record for VAT
|
||||
for newrow_tva in select * from operation_analytique where j_id=i.oa_jrnx_id_source and po_id <> i.po_id loop
|
||||
|
||||
-- check if the record is yet present
|
||||
select count(*) into n_count from operation_analytique where po_id=newrow_tva.po_id and oa_jrnx_id_source=i.oa_jrnx_id_source;
|
||||
|
||||
if n_count = 0 then
|
||||
raise info 'insert operation analytique po_id = % oa_group = % ',i.po_id, i.oa_group;
|
||||
insert into operation_analytique
|
||||
(po_id,oa_amount,oa_description,oa_debit,j_id,oa_group,oa_date,oa_jrnx_id_source,oa_positive)
|
||||
values (newrow_tva.po_id,i.oa_amount,i.oa_description,i.oa_debit,i.j_id,i.oa_group,i.oa_date,i.oa_jrnx_id_source,i.oa_positive);
|
||||
end if;
|
||||
|
||||
end loop;
|
||||
|
||||
|
||||
end loop;
|
||||
end;
|
||||
$$;
|
||||
|
||||
|
||||
|
||||
CREATE FUNCTION attribut_insert(p_f_id integer, p_ad_id integer, p_value character varying) RETURNS void
|
||||
LANGUAGE plpgsql
|
||||
AS $$
|
||||
|
|
@ -1883,114 +1914,6 @@ $$;
|
|||
|
||||
|
||||
|
||||
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 $$
|
||||
|
|
@ -2618,7 +2541,6 @@ CREATE TABLE action_gestion (
|
|||
f_id_dest integer,
|
||||
ag_title text,
|
||||
ag_timestamp timestamp without time zone DEFAULT now(),
|
||||
ag_ref_ag_id integer,
|
||||
ag_ref text,
|
||||
ag_hour text,
|
||||
ag_priority integer DEFAULT 2,
|
||||
|
|
@ -2651,10 +2573,6 @@ COMMENT ON COLUMN action_gestion.ag_timestamp IS ' ';
|
|||
|
||||
|
||||
|
||||
COMMENT ON COLUMN action_gestion.ag_ref_ag_id IS ' concerning the action ';
|
||||
|
||||
|
||||
|
||||
COMMENT ON COLUMN action_gestion.ag_ref IS 'its reference ';
|
||||
|
||||
|
||||
|
|
@ -3515,8 +3433,7 @@ SET default_with_oids = false;
|
|||
|
||||
|
||||
CREATE TABLE jnt_letter (
|
||||
jl_id integer NOT NULL,
|
||||
jl_amount_deb numeric(20,4)
|
||||
jl_id integer NOT NULL
|
||||
);
|
||||
|
||||
|
||||
|
|
@ -3557,7 +3474,8 @@ CREATE TABLE jrn (
|
|||
jr_pj_type text,
|
||||
jr_pj_number text,
|
||||
jr_mt text,
|
||||
jr_date_paid date
|
||||
jr_date_paid date,
|
||||
jr_optype character varying(3) DEFAULT 'NOR'::character varying
|
||||
);
|
||||
|
||||
|
||||
|
|
@ -3566,6 +3484,10 @@ COMMENT ON TABLE jrn IS 'Journal: content one line for a group of accountancy wr
|
|||
|
||||
|
||||
|
||||
COMMENT ON COLUMN jrn.jr_optype IS 'Type of operation , NOR = NORMAL , OPE opening , EXT extourne, CLO closing';
|
||||
|
||||
|
||||
|
||||
CREATE TABLE jrn_def (
|
||||
jrn_def_id integer DEFAULT nextval(('s_jrn_def'::text)::regclass) NOT NULL,
|
||||
jrn_def_name text NOT NULL,
|
||||
|
|
@ -3582,7 +3504,8 @@ CREATE TABLE jrn_def (
|
|||
jrn_def_pj_pref text,
|
||||
jrn_def_bank bigint,
|
||||
jrn_def_num_op integer,
|
||||
jrn_def_description text
|
||||
jrn_def_description text,
|
||||
jrn_enable integer DEFAULT 1
|
||||
);
|
||||
|
||||
|
||||
|
|
@ -3590,6 +3513,10 @@ CREATE TABLE jrn_def (
|
|||
COMMENT ON TABLE jrn_def IS 'Definition of a journal, his properties';
|
||||
|
||||
|
||||
|
||||
COMMENT ON COLUMN jrn_def.jrn_enable IS 'Set to 1 if the ledger is enable ';
|
||||
|
||||
|
||||
SET default_with_oids = false;
|
||||
|
||||
|
||||
|
|
@ -3640,10 +3567,20 @@ ALTER SEQUENCE jrn_note_n_id_seq OWNED BY jrn_note.n_id;
|
|||
|
||||
|
||||
|
||||
CREATE SEQUENCE jrn_periode_id_seq
|
||||
START WITH 1
|
||||
INCREMENT BY 1
|
||||
NO MINVALUE
|
||||
NO MAXVALUE
|
||||
CACHE 1;
|
||||
|
||||
|
||||
|
||||
CREATE TABLE jrn_periode (
|
||||
jrn_def_id integer NOT NULL,
|
||||
p_id integer NOT NULL,
|
||||
status text
|
||||
status text,
|
||||
id bigint DEFAULT nextval('jrn_periode_id_seq'::regclass) NOT NULL
|
||||
);
|
||||
|
||||
|
||||
|
|
@ -4088,6 +4025,7 @@ CREATE TABLE operation_analytique (
|
|||
oa_row integer,
|
||||
oa_jrnx_id_source bigint,
|
||||
oa_positive character(1) DEFAULT 'Y'::bpchar NOT NULL,
|
||||
f_id bigint,
|
||||
CONSTRAINT operation_analytique_oa_amount_check CHECK ((oa_amount >= (0)::numeric))
|
||||
);
|
||||
|
||||
|
|
@ -4104,6 +4042,10 @@ COMMENT ON COLUMN operation_analytique.oa_jrnx_id_source IS 'jrnx.j_id source of
|
|||
COMMENT ON COLUMN operation_analytique.oa_positive IS 'Sign of the amount';
|
||||
|
||||
|
||||
|
||||
COMMENT ON COLUMN operation_analytique.f_id IS 'FK to fiche.f_id , used only with ODS';
|
||||
|
||||
|
||||
SET default_with_oids = true;
|
||||
|
||||
|
||||
|
|
@ -5036,11 +4978,17 @@ 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
|
||||
t_description text,
|
||||
t_actif character(1) DEFAULT 'Y'::bpchar,
|
||||
CONSTRAINT tags_check CHECK ((t_actif = ANY (ARRAY['N'::bpchar, 'Y'::bpchar])))
|
||||
);
|
||||
|
||||
|
||||
|
||||
COMMENT ON COLUMN tags.t_actif IS 'Y if the tag is activate and can be used ';
|
||||
|
||||
|
||||
|
||||
CREATE SEQUENCE tags_t_id_seq
|
||||
START WITH 1
|
||||
INCREMENT BY 1
|
||||
|
|
@ -5053,6 +5001,15 @@ CREATE SEQUENCE tags_t_id_seq
|
|||
ALTER SEQUENCE tags_t_id_seq OWNED BY tags.t_id;
|
||||
|
||||
|
||||
|
||||
CREATE SEQUENCE tmp_pcmn_id_seq
|
||||
START WITH 1
|
||||
INCREMENT BY 1
|
||||
NO MINVALUE
|
||||
NO MAXVALUE
|
||||
CACHE 1;
|
||||
|
||||
|
||||
SET default_with_oids = true;
|
||||
|
||||
|
||||
|
|
@ -5060,7 +5017,10 @@ CREATE TABLE tmp_pcmn (
|
|||
pcm_val account_type NOT NULL,
|
||||
pcm_lib text,
|
||||
pcm_val_parent account_type DEFAULT 0,
|
||||
pcm_type text
|
||||
pcm_type text,
|
||||
id bigint DEFAULT nextval('tmp_pcmn_id_seq'::regclass) NOT NULL,
|
||||
pcm_direct_use character varying(1) DEFAULT 'Y'::character varying NOT NULL,
|
||||
CONSTRAINT pcm_direct_use_ck CHECK (((pcm_direct_use)::text = ANY ((ARRAY['Y'::character varying, 'N'::character varying])::text[])))
|
||||
);
|
||||
|
||||
|
||||
|
|
@ -5068,6 +5028,14 @@ CREATE TABLE tmp_pcmn (
|
|||
COMMENT ON TABLE tmp_pcmn IS 'Plan comptable minimum normalisé';
|
||||
|
||||
|
||||
|
||||
COMMENT ON COLUMN tmp_pcmn.id IS 'allow to identify the row, it is unique and not null (pseudo pk)';
|
||||
|
||||
|
||||
|
||||
COMMENT ON COLUMN tmp_pcmn.pcm_direct_use IS 'Value are N or Y , N cannot be used directly , not even through a card';
|
||||
|
||||
|
||||
SET default_with_oids = false;
|
||||
|
||||
|
||||
|
|
@ -5209,6 +5177,81 @@ CREATE TABLE tva_rate (
|
|||
COMMENT ON TABLE tva_rate IS 'Rate of vat';
|
||||
|
||||
|
||||
SET default_with_oids = false;
|
||||
|
||||
|
||||
CREATE TABLE user_active_security (
|
||||
id integer NOT NULL,
|
||||
us_login text NOT NULL,
|
||||
us_ledger character varying(1) NOT NULL,
|
||||
us_action character varying(1) NOT NULL,
|
||||
CONSTRAINT user_active_security_action_check CHECK (((us_action)::text = ANY ((ARRAY['Y'::character varying, 'N'::character varying])::text[]))),
|
||||
CONSTRAINT user_active_security_ledger_check CHECK (((us_ledger)::text = ANY ((ARRAY['Y'::character varying, 'N'::character varying])::text[])))
|
||||
);
|
||||
|
||||
|
||||
|
||||
COMMENT ON COLUMN user_active_security.us_login IS 'user''s login';
|
||||
|
||||
|
||||
|
||||
COMMENT ON COLUMN user_active_security.us_ledger IS 'Flag Security for ledger';
|
||||
|
||||
|
||||
|
||||
COMMENT ON COLUMN user_active_security.us_action IS 'Security for action';
|
||||
|
||||
|
||||
|
||||
CREATE SEQUENCE user_active_security_id_seq
|
||||
START WITH 1
|
||||
INCREMENT BY 1
|
||||
NO MINVALUE
|
||||
NO MAXVALUE
|
||||
CACHE 1;
|
||||
|
||||
|
||||
|
||||
ALTER SEQUENCE user_active_security_id_seq OWNED BY user_active_security.id;
|
||||
|
||||
|
||||
|
||||
CREATE TABLE user_filter (
|
||||
id bigint NOT NULL,
|
||||
login text,
|
||||
nb_jrn integer,
|
||||
date_start character varying(10),
|
||||
date_end character varying(10),
|
||||
description text,
|
||||
amount_min numeric(20,4),
|
||||
amount_max numeric(20,4),
|
||||
qcode text,
|
||||
accounting text,
|
||||
r_jrn text,
|
||||
date_paid_start character varying(10),
|
||||
date_paid_end character varying(10),
|
||||
ledger_type character varying(5),
|
||||
all_ledger integer,
|
||||
filter_name text NOT NULL,
|
||||
unpaid character varying
|
||||
);
|
||||
|
||||
|
||||
|
||||
CREATE SEQUENCE user_filter_id_seq
|
||||
START WITH 1
|
||||
INCREMENT BY 1
|
||||
NO MINVALUE
|
||||
NO MAXVALUE
|
||||
CACHE 1;
|
||||
|
||||
|
||||
|
||||
ALTER SEQUENCE user_filter_id_seq OWNED BY user_filter.id;
|
||||
|
||||
|
||||
SET default_with_oids = true;
|
||||
|
||||
|
||||
CREATE TABLE user_local_pref (
|
||||
user_id text NOT NULL,
|
||||
|
|
@ -5352,8 +5395,31 @@ CREATE VIEW v_quant_detail AS
|
|||
|
||||
|
||||
|
||||
CREATE VIEW v_tva_rate AS
|
||||
SELECT tva_rate.tva_id, tva_rate.tva_rate, tva_rate.tva_label, tva_rate.tva_comment, split_part(tva_rate.tva_poste, ','::text, 1) AS tva_purchase, split_part(tva_rate.tva_poste, ','::text, 2) AS tva_sale, tva_rate.tva_both_side FROM tva_rate;
|
||||
|
||||
|
||||
|
||||
COMMENT ON VIEW v_tva_rate IS 'Show this table to be easily used by Tva_Rate_MTable';
|
||||
|
||||
|
||||
|
||||
COMMENT ON COLUMN v_tva_rate.tva_purchase IS ' VAT used for purchase';
|
||||
|
||||
|
||||
|
||||
COMMENT ON COLUMN v_tva_rate.tva_sale IS ' VAT used for sale';
|
||||
|
||||
|
||||
|
||||
COMMENT ON COLUMN v_tva_rate.tva_both_side IS 'if 1 , VAT avoided ';
|
||||
|
||||
|
||||
|
||||
CREATE TABLE version (
|
||||
val integer
|
||||
val integer NOT NULL,
|
||||
v_description text,
|
||||
v_date timestamp without time zone DEFAULT now()
|
||||
);
|
||||
|
||||
|
||||
|
|
@ -5783,6 +5849,27 @@ CREATE VIEW vw_supplier AS
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -6337,6 +6424,9 @@ CREATE INDEX x_poste ON jrnx USING btree (j_poste);
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -190,6 +190,12 @@ CREATE SEQUENCE jrn_note_n_id_seq
|
|||
NO MAXVALUE
|
||||
CACHE 1;
|
||||
ALTER SEQUENCE jrn_note_n_id_seq OWNED BY jrn_note.n_id;
|
||||
CREATE SEQUENCE jrn_periode_id_seq
|
||||
START WITH 1
|
||||
INCREMENT BY 1
|
||||
NO MINVALUE
|
||||
NO MAXVALUE
|
||||
CACHE 1;
|
||||
CREATE SEQUENCE key_distribution_activity_ka_id_seq
|
||||
START WITH 1
|
||||
INCREMENT BY 1
|
||||
|
|
@ -645,6 +651,12 @@ CREATE SEQUENCE tags_t_id_seq
|
|||
NO MAXVALUE
|
||||
CACHE 1;
|
||||
ALTER SEQUENCE tags_t_id_seq OWNED BY tags.t_id;
|
||||
CREATE SEQUENCE tmp_pcmn_id_seq
|
||||
START WITH 1
|
||||
INCREMENT BY 1
|
||||
NO MINVALUE
|
||||
NO MAXVALUE
|
||||
CACHE 1;
|
||||
CREATE SEQUENCE tmp_stockgood_detail_d_id_seq
|
||||
START WITH 1
|
||||
INCREMENT BY 1
|
||||
|
|
@ -678,6 +690,20 @@ CREATE SEQUENCE uos_pk_seq
|
|||
NO MINVALUE
|
||||
NO MAXVALUE
|
||||
CACHE 1;
|
||||
CREATE SEQUENCE user_active_security_id_seq
|
||||
START WITH 1
|
||||
INCREMENT BY 1
|
||||
NO MINVALUE
|
||||
NO MAXVALUE
|
||||
CACHE 1;
|
||||
ALTER SEQUENCE user_active_security_id_seq OWNED BY user_active_security.id;
|
||||
CREATE SEQUENCE user_filter_id_seq
|
||||
START WITH 1
|
||||
INCREMENT BY 1
|
||||
NO MINVALUE
|
||||
NO MAXVALUE
|
||||
CACHE 1;
|
||||
ALTER SEQUENCE user_filter_id_seq OWNED BY user_filter.id;
|
||||
CREATE SEQUENCE user_sec_action_profile_ua_id_seq
|
||||
START WITH 1
|
||||
INCREMENT BY 1
|
||||
|
|
|
|||
|
|
@ -22,7 +22,6 @@ CREATE TABLE action_gestion (
|
|||
f_id_dest integer,
|
||||
ag_title text,
|
||||
ag_timestamp timestamp without time zone DEFAULT now(),
|
||||
ag_ref_ag_id integer,
|
||||
ag_ref text,
|
||||
ag_hour text,
|
||||
ag_priority integer DEFAULT 2,
|
||||
|
|
@ -256,8 +255,7 @@ CREATE TABLE jnt_fic_attr (
|
|||
jnt_order integer NOT NULL
|
||||
);
|
||||
CREATE TABLE jnt_letter (
|
||||
jl_id integer NOT NULL,
|
||||
jl_amount_deb numeric(20,4)
|
||||
jl_id integer NOT NULL
|
||||
);
|
||||
CREATE TABLE jrn (
|
||||
jr_id integer DEFAULT nextval(('s_jrn'::text)::regclass) NOT NULL,
|
||||
|
|
@ -280,7 +278,8 @@ CREATE TABLE jrn (
|
|||
jr_pj_type text,
|
||||
jr_pj_number text,
|
||||
jr_mt text,
|
||||
jr_date_paid date
|
||||
jr_date_paid date,
|
||||
jr_optype character varying(3) DEFAULT 'NOR'::character varying
|
||||
);
|
||||
CREATE TABLE jrn_def (
|
||||
jrn_def_id integer DEFAULT nextval(('s_jrn_def'::text)::regclass) NOT NULL,
|
||||
|
|
@ -298,7 +297,8 @@ CREATE TABLE jrn_def (
|
|||
jrn_def_pj_pref text,
|
||||
jrn_def_bank bigint,
|
||||
jrn_def_num_op integer,
|
||||
jrn_def_description text
|
||||
jrn_def_description text,
|
||||
jrn_enable integer DEFAULT 1
|
||||
);
|
||||
CREATE TABLE jrn_info (
|
||||
ji_id integer NOT NULL,
|
||||
|
|
@ -314,7 +314,8 @@ CREATE TABLE jrn_note (
|
|||
CREATE TABLE jrn_periode (
|
||||
jrn_def_id integer NOT NULL,
|
||||
p_id integer NOT NULL,
|
||||
status text
|
||||
status text,
|
||||
id bigint DEFAULT nextval('jrn_periode_id_seq'::regclass) NOT NULL
|
||||
);
|
||||
CREATE TABLE jrn_rapt (
|
||||
jra_id integer DEFAULT nextval(('s_jrn_rapt'::text)::regclass) NOT NULL,
|
||||
|
|
@ -436,6 +437,7 @@ CREATE TABLE operation_analytique (
|
|||
oa_row integer,
|
||||
oa_jrnx_id_source bigint,
|
||||
oa_positive character(1) DEFAULT 'Y'::bpchar NOT NULL,
|
||||
f_id bigint,
|
||||
CONSTRAINT operation_analytique_oa_amount_check CHECK ((oa_amount >= (0)::numeric))
|
||||
);
|
||||
CREATE TABLE parameter (
|
||||
|
|
@ -585,13 +587,18 @@ CREATE TABLE stock_repository (
|
|||
CREATE TABLE tags (
|
||||
t_id integer NOT NULL,
|
||||
t_tag text NOT NULL,
|
||||
t_description text
|
||||
t_description text,
|
||||
t_actif character(1) DEFAULT 'Y'::bpchar,
|
||||
CONSTRAINT tags_check CHECK ((t_actif = ANY (ARRAY['N'::bpchar, 'Y'::bpchar])))
|
||||
);
|
||||
CREATE TABLE tmp_pcmn (
|
||||
pcm_val account_type NOT NULL,
|
||||
pcm_lib text,
|
||||
pcm_val_parent account_type DEFAULT 0,
|
||||
pcm_type text
|
||||
pcm_type text,
|
||||
id bigint DEFAULT nextval('tmp_pcmn_id_seq'::regclass) NOT NULL,
|
||||
pcm_direct_use character varying(1) DEFAULT 'Y'::character varying NOT NULL,
|
||||
CONSTRAINT pcm_direct_use_ck CHECK (((pcm_direct_use)::text = ANY ((ARRAY['Y'::character varying, 'N'::character varying])::text[])))
|
||||
);
|
||||
CREATE TABLE tmp_stockgood (
|
||||
s_id bigint NOT NULL,
|
||||
|
|
@ -631,6 +638,33 @@ CREATE TABLE tva_rate (
|
|||
tva_poste text,
|
||||
tva_both_side integer DEFAULT 0
|
||||
);
|
||||
CREATE TABLE user_active_security (
|
||||
id integer NOT NULL,
|
||||
us_login text NOT NULL,
|
||||
us_ledger character varying(1) NOT NULL,
|
||||
us_action character varying(1) NOT NULL,
|
||||
CONSTRAINT user_active_security_action_check CHECK (((us_action)::text = ANY ((ARRAY['Y'::character varying, 'N'::character varying])::text[]))),
|
||||
CONSTRAINT user_active_security_ledger_check CHECK (((us_ledger)::text = ANY ((ARRAY['Y'::character varying, 'N'::character varying])::text[])))
|
||||
);
|
||||
CREATE TABLE user_filter (
|
||||
id bigint NOT NULL,
|
||||
login text,
|
||||
nb_jrn integer,
|
||||
date_start character varying(10),
|
||||
date_end character varying(10),
|
||||
description text,
|
||||
amount_min numeric(20,4),
|
||||
amount_max numeric(20,4),
|
||||
qcode text,
|
||||
accounting text,
|
||||
r_jrn text,
|
||||
date_paid_start character varying(10),
|
||||
date_paid_end character varying(10),
|
||||
ledger_type character varying(5),
|
||||
all_ledger integer,
|
||||
filter_name text NOT NULL,
|
||||
unpaid character varying
|
||||
);
|
||||
CREATE TABLE user_local_pref (
|
||||
user_id text NOT NULL,
|
||||
parameter_type text NOT NULL,
|
||||
|
|
@ -655,5 +689,7 @@ CREATE TABLE user_sec_jrn (
|
|||
uj_priv text
|
||||
);
|
||||
CREATE TABLE version (
|
||||
val integer
|
||||
val integer NOT NULL,
|
||||
v_description text,
|
||||
v_date timestamp without time zone DEFAULT now()
|
||||
);
|
||||
|
|
|
|||
|
|
@ -18,6 +18,8 @@ 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 pm_id_v3, COALESCE(v2.pm_id, 0) AS pm_id_v2, v1.pm_id AS pm_id_v1, v1.p_id FROM ((t_menu v1 LEFT JOIN t_menu v2 ON ((v1.pm_id_dep = v2.pm_id))) LEFT JOIN t_menu v3 ON ((v2.pm_id_dep = v3.pm_id))) WHERE (v1.p_type_display <> 'P'::text);
|
||||
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, quant_sold.qs_fiche, quant_sold.qs_client, quant_sold.qs_vat, quant_sold.qs_price, quant_sold.qs_vat_code, 0, 0, 0, 0, quant_sold.qs_vat_sided FROM quant_sold) SELECT jrn.jr_id, quant.tiers, jrn_def.jrn_def_name, jrn_def.jrn_def_type, vw_fiche_name.name, jrn.jr_comment, jrn.jr_montant, sum(quant.price) AS price, quant.vat_code, sum(quant.vat_amount) AS vat_amount, sum(quant.dep_priv) AS dep_priv, sum(quant.nd_tva) AS nd_tva, sum(quant.nd_tva_recup) AS nd_tva_recup, sum(quant.nd_amount) AS nd_amount, quant.vat_sided, tva_rate.tva_label FROM (((((jrn JOIN jrnx ON ((jrnx.j_grpt = jrn.jr_grpt_id))) JOIN quant USING (j_id)) LEFT JOIN vw_fiche_name ON ((quant.tiers = vw_fiche_name.f_id))) JOIN jrn_def ON ((jrn_def.jrn_def_id = jrn.jr_def_id))) JOIN tva_rate ON ((tva_rate.tva_id = quant.vat_code))) GROUP BY jrn.jr_id, quant.tiers, jrn.jr_comment, jrn.jr_montant, quant.vat_code, quant.vat_sided, vw_fiche_name.name, jrn_def.jrn_def_name, jrn_def.jrn_def_type, tva_rate.tva_label;
|
||||
CREATE VIEW v_tva_rate AS
|
||||
SELECT tva_rate.tva_id, tva_rate.tva_rate, tva_rate.tva_label, tva_rate.tva_comment, split_part(tva_rate.tva_poste, ','::text, 1) AS tva_purchase, split_part(tva_rate.tva_poste, ','::text, 2) AS tva_sale, tva_rate.tva_both_side FROM tva_rate;
|
||||
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)) 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 = 13)) b USING (f_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 = 23)) a USING (f_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 = 5)) c USING (f_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 = 14)) d USING (f_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 = 15)) e USING (f_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 = 16)) f USING (f_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 = 17)) g USING (f_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 = 18)) h USING (f_id)) WHERE (fiche_def_ref.frd_id = 9);
|
||||
CREATE VIEW vw_fiche_def AS
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue