管理者软件
专业源于专注
www. myOIT. cn   
软件交流 管理软件 软件手册 »

    

 1  1/1   1  
作者
内容
tox1021  [个人空间]


注册  2013-09-30
发贴数  54
精华贴  1
原创贴  2
来自  
状态  正常

级别  会员
#1»发布于2014-08-18 14:24

在添写产品组成后,不时会或多或少的进行修改,但每次修改都要进产品资料,有点麻烦,于是想到本文介绍方法 
1.在组装单中添加字典型字段emf_process_id_zzd 
2.添加如下脚本 
 
//检查产品组成,与单据明细是否一至,并提示更新 
int func_after_check()//审核后执行 
{    
int x,m,m0,k,j,found,n,pd0,pd1,pd2,pd3;//整型变量定义 
float m_std_num,s_std_num,factor;//浮点变量定义 
string s,s0,s1,m_res_id,s_res_id,ins_sql,s_note_info,s_zzd,yzm0,data0,user0;//字符变量定义 
//审核之后更新产品组成 
m_res_id = gui_get_val("ComboBox_Ext_Main_Res_Id");  //取主物资编码 
m_std_num = gui_get_val("Edit_Main_Res_Num"); //取主物资基准数量 
grid_seek('MG_Item','res_id','');//定位 
j=grid_cur_row('MG_Item')-1;  //取出明细物资列表最大的行号 
for (m=1;m<=j;m++)  //循环取每一个明细物资 
{     
  n=m-1 
  s_res_id = grid_get_v('MG_Item','res_id',m);//取此明细物资编码 
  s_std_num = grid_get_v('MG_Item','std_num',m); //取此明细物资基准数量 
  s_note_info = grid_get_v('MG_Item','note_info',m); //取此明细物资明细备注 
  s_zzd =  grid_get_v('MG_Item','emf_process_id_zzd',m)//取此明细物资工序 
  factor = s_std_num/m_std_num ;  //计算明细组成数量 
//msg(s_res_id+'  '+s_std_num+'  '+m_std_num+'  '+s_note_info+'  '+factor); 
  s="select sub_res_id,num,note_info,emf_process_id from res_composing where res_id = '" + m_res_id  + "' and order_id = " + n 
//取出数据库中的值   
  db_run(s) 
//msg(db_res(0)+"    "+db_res(1)+"    "+db_res(2)+"    "+db_res(3)) 
 
  if ( s_res_id == db_res(0) && to_float(factor) == to_float(db_res(1)) && s_note_info == db_res(2)  && s_zzd == db_res(3) ) 
//对比单据中的内容与数据库的内容是否一至 
  {     
  }     
  else 
  {     
    pd0 = confirm('"明细数据"与默认"产品组成"不一至,是否将本单据"明细数据"更新为默认"产品组成? ') 
    if(pd0==1) 
    {     
      do 
      {     
      pd3 = confirm('警告:以下操作会更新数据库内容,操作后的内容是不可逆的,如果您不了解本次操作的后果,建议您"取消"本次操作!!!') 
      if(pd3==1) 
      {     
        inp_clear(); 
        inp_def_string('yzm','录入验证码:') 
        inp_para_set_title('录入  更新  后,点击  确定  更新产品组成') 
        pd1=inp_para() 
        if(pd1==1)//判断3 
        {     
          yzm0=inp_get_val('yzm') 
//msg(yzm0) 
          if(yzm0 == '更新')//判断2 
          {     
//msg('y') 
            s0 =" delete from  res_composing where res_id = '" + m_res_id + "'" 
//删除数据库中原有产品组成 
            db_run(s0) 
//根据单据添加新的产品组成 
            for (m0=1;m0<=j;m0++) 
            { 
              n=m0-1 
              s_res_id = grid_get_v('MG_Item','res_id',m0);//取此明细物资编码 
              s_std_num = grid_get_v('MG_Item','std_num',m0); //取此明细物资基准数量 
              s_note_info = grid_get_v('MG_Item','note_info',m0); //取此明细物资明细备注 
              s_zzd =  grid_get_v('MG_Item','emf_process_id_zzd',m0)//取此明细物资工序 
              factor = s_std_num/m_std_num ;  //计算明细组成数量 
              ins_sql="insert into res_composing (res_id,sub_res_id,num,note_info,order_id,emf_process_id) values ('"+m_res_id+"','"+ s_res_id+"',"+factor+",'"+s_note_info+"',"+n+",'"+s_zzd+"')" 
              db_run(ins_sql)//添加到数据库的内容 
//dbg(ins_sql) 
            } 
//修改产品更新记录 
              data0=get_cur_date_std() 
              user0=get_user_id() 
              s1="Update res set last_modi_date = '" + data0 + "' , last_modi_user_id = '" + user0 + "' where res_id = '" + m_res_id + "'" 
              db_run(s1) 
//dbg(s1) 
 
              msg('"产品组成"更新完毕!"') 
              return 1; 
 
          }     
          else 
          {     
//msg('n') 
            pd2=confirm('您录入的验证内容不正确,是否重新录入')//判断1 
            if(pd2==1) 
            {     
            }     
          }     
        }     
        else 
        {     
          return 1; 
        }     
      }     
      else 
      {     
        return 1; 
      }     
      }     
      while(pd2==1) 
    }     
    else 
     {     
      return 1; 
     }     
  }     
}  
return 1; 
}


        




辽宁-机械-佟鑫

 1  1/1   1  


登录后方可发贴


[ 电话: 0571-85462761 王先生 QQ: 124520435 加入软件QQ群 - 中国杭州 - 备案号码 浙ICP备19051128号]