svn+ssh://danydb@svn/svn/phpcompta/branches/rel500 ........ r2940 | danydb | 2010-02-11 19:20:28 +0100 (Thu, 11 Feb 2010) | 1 line Acc_Payment : "paiement par" is getting simpler ........ r2941 | danydb | 2010-02-11 19:41:39 +0100 (Thu, 11 Feb 2010) | 1 line Add a logout button to extension ........ r2942 | danydb | 2010-02-11 20:49:25 +0100 (Thu, 11 Feb 2010) | 1 line Translation dutch ........ r2943 | danydb | 2010-02-12 11:40:28 +0100 (Fri, 12 Feb 2010) | 1 line Add dutch translation ........ r2944 | danydb | 2010-02-12 17:09:59 +0100 (Fri, 12 Feb 2010) | 1 line Fix Bug : in quick writing you have now access to the listing ........ r2945 | danydb | 2010-02-13 14:11:36 +0100 (Sat, 13 Feb 2010) | 1 line Bug : it is not possible to change the limit of paiment : Fixed ........ r2946 | danydb | 2010-02-13 14:12:05 +0100 (Sat, 13 Feb 2010) | 1 line remove debug ........ r2947 | danydb | 2010-02-13 14:26:27 +0100 (Sat, 13 Feb 2010) | 2 lines Update Documentation ........ r2948 | danydb | 2010-02-13 17:27:07 +0100 (Sat, 13 Feb 2010) | 1 line Correction bilan belge ........ r2949 | danydb | 2010-02-13 18:07:46 +0100 (Sat, 13 Feb 2010) | 1 line Bug fixed : cannot type a middle of payment ........ r2950 | danydb | 2010-02-13 18:12:49 +0100 (Sat, 13 Feb 2010) | 1 line Fixed Bug: the amount in quant_sold in not rounded ........ r2951 | danydb | 2010-02-13 19:31:17 +0100 (Sat, 13 Feb 2010) | 1 line Add translation for payment ........ r2952 | danydb | 2010-02-13 19:40:32 +0100 (Sat, 13 Feb 2010) | 1 line Fixed Bug cannot add a new account ........ r2953 | danydb | 2010-02-21 20:31:52 +0100 (Sun, 21 Feb 2010) | 1 line Translation completed for english ........ r2954 | danydb | 2010-02-22 23:06:47 +0100 (Mon, 22 Feb 2010) | 9 lines Fix bugs : * Security was not respected, user can write in Readonly ledgers * Cannot modify or delete accounting entry with more than 8 digits * Cannot record information when not VAT * VMSKeytrade failed with ExecSql * ledger creation : cannot save the card on deb side ........ r2955 | danydb | 2010-02-22 23:17:33 +0100 (Mon, 22 Feb 2010) | 3 lines Improve Import bank must be able to import into CASH ........ r2956 | danydb | 2010-02-23 18:16:01 +0100 (Tue, 23 Feb 2010) | 1 line Fix Bug = Feb has 28 days and every 4 years 29 ........ r2957 | danydb | 2010-02-24 21:57:04 +0100 (Wed, 24 Feb 2010) | 3 lines Fix bug : warning messages when phpcompta is installed on windows about the languages ........ r2958 | danydb | 2010-02-25 23:37:40 +0100 (Thu, 25 Feb 2010) | 3 lines Update for windows ........ r2959 | danydb | 2010-02-26 00:29:06 +0100 (Fri, 26 Feb 2010) | 2 lines Fix Bug : cannot give an account to a card ........ r2960 | danydb | 2010-02-28 20:54:32 +0100 (Sun, 28 Feb 2010) | 1 line Bug Return button for IE ........ r2961 | danydb | 2010-02-28 20:54:51 +0100 (Sun, 28 Feb 2010) | 1 line Progress for Dutch translation ........
86 lines
2.6 KiB
PL/PgSQL
86 lines
2.6 KiB
PL/PgSQL
begin;
|
|
|
|
CREATE OR REPLACE FUNCTION account_insert(p_f_id integer, p_account text)
|
|
RETURNS integer AS
|
|
$BODY$
|
|
declare
|
|
nParent tmp_pcmn.pcm_val_parent%type;
|
|
sName varchar;
|
|
nNew tmp_pcmn.pcm_val%type;
|
|
bAuto bool;
|
|
nFd_id integer;
|
|
nCount integer;
|
|
first text;
|
|
second text;
|
|
begin
|
|
|
|
if 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::poste_comptable;
|
|
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);
|
|
else
|
|
-- account doesn't exist, create it
|
|
select av_text into sName from
|
|
attr_value join jnt_fic_att_value using (jft_id)
|
|
where
|
|
ad_id=1 and f_id=p_f_id;
|
|
|
|
nParent:=account_parent(p_account::poste_comptable);
|
|
insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) values (p_account::poste_comptable,sName,nParent);
|
|
perform attribut_insert(p_f_id,5,p_account);
|
|
|
|
end if;
|
|
else
|
|
raise info 'presence of a comma';
|
|
-- there is 2 accounts separated by a comma
|
|
first := split_part(p_account,',',1);
|
|
second := split_part(p_account,',',2);
|
|
-- check there is no other coma
|
|
raise info 'first value % second value %', first, second;
|
|
|
|
if position (',' in first) != 0 or position (',' in second) != 0 then
|
|
raise exception 'Too many comas, invalid account';
|
|
end if;
|
|
perform attribut_insert(p_f_id,5,p_account);
|
|
end if;
|
|
else
|
|
raise info 'p_account is empty';
|
|
select fd_id into nFd_id from fiche where f_id=p_f_id;
|
|
bAuto:= account_auto(nFd_id);
|
|
if bAuto = true then
|
|
raise notice 'account generated automatically';
|
|
nNew:=account_compute(p_f_id);
|
|
raise notice 'nNew %', nNew;
|
|
select av_text into sName from
|
|
attr_value join jnt_fic_att_value using (jft_id)
|
|
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,to_char(nNew,'999999999999999999999999'));
|
|
|
|
else
|
|
-- if there is an account_base then it is the default
|
|
select fd_class_base::text 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
|
|
raise notice 'count is null';
|
|
perform attribut_insert(p_f_id,5,null);
|
|
else
|
|
perform attribut_insert(p_f_id,5,to_char(nNew,'999999999999999999999999'));
|
|
end if;
|
|
end if;
|
|
end if;
|
|
|
|
return 0;
|
|
end;
|
|
$BODY$
|
|
LANGUAGE 'plpgsql';
|
|
|
|
update version set val=69;
|
|
commit;
|
|
|