$PBExportHeader$f_get_tf_addqty.srf global type f_get_tf_addqty from function_object end type forward prototypes global function string f_get_tf_addqty (string arg_str, decimal arg_qty, decimal arg_addqty, string arg_status, string arg_woodcode, string arg_pcode, string arg_ls_mtrlsectype, string arg_ls_zxmtrlmode, decimal arg_dec_danpackqty, decimal arg_dec_packqty) end prototypes global function string f_get_tf_addqty (string arg_str, decimal arg_qty, decimal arg_addqty, string arg_status, string arg_woodcode, string arg_pcode, string arg_ls_mtrlsectype, string arg_ls_zxmtrlmode, decimal arg_dec_danpackqty, decimal arg_dec_packqty);String ls_str,s_rtn Int ll_star,ll_end datastore ds_pricestr Decimal arg_value_dec,de_rtn ds_pricestr = Create datastore ds_pricestr.DataObject = 'ds_pricestr_cmpl' ds_pricestr.SetTransObject(sqlca) ds_pricestr.Retrieve() arg_str = Trim(arg_str) //ls_str=right(arg_str,len(arg_str) - 3) //格式 数量=自定义文本1 + 辅数 * 4 //arg_str=ls_str SELECT Top 1 Replace( :arg_str,'配置1','(' +cast(:arg_woodcode as varchar(50))+ ')') Into :arg_str From u_user; SELECT Top 1 Replace( :arg_str,'配置2','(' +cast(:arg_pcode as varchar(50))+ ')') Into :arg_str From u_user; SELECT Top 1 Replace( :arg_str,'配置','(' +cast(:arg_status as varchar(50))+ ')') Into :arg_str From u_user; SELECT Top 1 Replace( :arg_str,'自定义文本1','(' +cast(:arg_ls_mtrlsectype as varchar(50))+ ')') Into :arg_str From u_user; SELECT Top 1 Replace( :arg_str,'自定义文本2','(' +cast(:arg_ls_zxmtrlmode as varchar(50))+ ')') Into :arg_str From u_user; SELECT Top 1 Replace( :arg_str,:sys_option_change_woodcode,'(' +cast(:arg_woodcode as varchar(50))+ ')') Into :arg_str From u_user; SELECT Top 1 Replace( :arg_str,:sys_option_change_pcode,'(' +cast(:arg_pcode as varchar(50))+ ')') Into :arg_str From u_user; SELECT Top 1 Replace( :arg_str,:sys_option_change_status,'(' +cast(:arg_status as varchar(50))+ ')') Into :arg_str From u_user; SELECT Top 1 Replace( :arg_str,:sys_option_change_mtrlsectype,'(' +cast(:arg_ls_mtrlsectype as varchar(50))+ ')') Into :arg_str From u_user; SELECT Top 1 Replace( :arg_str,:sys_option_change_zxmtrlmode,'(' +cast(:arg_ls_zxmtrlmode as varchar(50))+ ')') Into :arg_str From u_user; SELECT Top 1 Replace( :arg_str,'数量','(' + cast(:arg_qty as varchar(50))+ ')') Into :arg_str From u_user; SELECT Top 1 Replace( :arg_str,'辅数','(' + cast(:arg_addqty as varchar(50))+ ')') Into :arg_str From u_user; SELECT Top 1 Replace( :arg_str,'单包装数','(' + cast(:arg_dec_danpackqty as varchar(50))+ ')') Into :arg_str From u_user; SELECT Top 1 Replace( :arg_str,'包装数','(' + cast(:arg_dec_packqty as varchar(50))+ ')') Into :arg_str From u_user; SELECT Top 1 Replace( :arg_str,'=',' - ( ') Into :arg_str From u_user; arg_str=arg_str + ' )' ds_pricestr.Modify('cmpl.expression= "'+arg_str+'"') s_rtn = String(ds_pricestr.Object.cmpl[1]) IF Abs(Dec(s_rtn)) > 0.1 THEN s_rtn = 'false' ELSE s_rtn = 'true' END IF //arg_value_dec = Round(Dec(s_rtn) ,5) RETURN s_rtn end function