比如说我想定义一个提取盈余公积的模板,具体提取的金额要根据本年弥补亏损后的利润来确定,一般是按照补亏后未分配利润*10%-已提取法定盈余公积金额来提取本年的法定盈余公积,如果结果为正就提取,否则就不提取(金额为0)这就需要通过脚本计算,而不是按照余额直接结转。目前在会计凭证里自定义了一个脚本,供参考: int yygj() { string sql,zq; num a,b,c; zq=str_get_sub(gui_get_val("DateTimePicker_Voucher_Date"),0,6); sql="select -(beg_amount+a_amount-b_amount) as end_amount from evm_account where subject_id='410410' and cycle_id='"+zq+"'"; db_run(sql); a=db_res(0); if(a>0){ sql="select -(beg_amount+a_amount-b_amount) as end_amount from evm_account where subject_id='410101' and cycle_id='"+zq+"'"; db_run(sql); b=db_res(0); if(a*0.1>b){ c=a*0.1-b; }else{ c=0; }; }else{ c=0; }; grid_set_v("MG_Item","abstract",1,'提取法定盈余公积'); grid_set_v("MG_Item","subject_id",1,"410410"); grid_trigger_change("MG_Item","subject_id",1); grid_set_v("MG_Item","amount_a",1,c); grid_set_v("MG_Item","amount_b",1,''); grid_set_v("MG_Item","abstract",2,'提取法定盈余公积'); grid_set_v("MG_Item","subject_id",2,"410101"); grid_trigger_change("MG_Item","subject_id",2); grid_set_v("MG_Item","amount_a",2,''); grid_set_v("MG_Item","amount_b",2,c); return 1; }; |