管理者软件
专业源于专注
www. onlyIt. cn   
软件交流 管理软件 软件手册 »
管理模型 管理资料

    

 17  1/2   1  2  >  >|  
作者
内容
tox1021  [个人空间]


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

级别  会员
#1»发布于2014-11-28 14:48

//加工单--脚本内容 
//加工单--脚本内容 
//根据成本单价修改单据金额 
int init_row()//新增记录时执行 

string y,sql 
num dj 
y = res_id 
sql='select cost_price from res where res_id="'+y+'"';//查找成本单价 
db_run(sql)//运行数据库 
dj=db_res(state)/100 //结果赋值 
//msg(dj) 
if(dj>0) 
  { 
   inp_price = dj 
   inp_amount = inp_num * dj 
   total_amount = inp_num * dj 
  } 
//msg(y) 
return 1 

 
int cell_change()//函数在单据明细内容被修改的时候执行。 

int id 
string y,sql 
num cb,dj,je 
id=grid_cur_row('MG_Item')//获取当前行号 
//msg(id) 
y=grid_get_v('MG_Item','res_id',id)//获取当前行产品编号 
//msg(y) 
sql='select cost_price from res where res_id="'+y+'"';//查找成本单价 
//msg(sql) 
db_run(sql)//运行数据库 
dj=db_res(state)/100//结果赋值 
//msg(dj) 
if(dj>0) 
    { 
    grid_set_v('MG_Item','inp_price',id,dj)//设置单价 
    je=grid_get_v('MG_Item','inp_num',id)*dj 
//msg(je) 
    grid_set_v('MG_Item','inp_amount',id,je)//设置金额 
     grid_set_v('MG_Item','total_amount',id,je)//设置金额 
    } 

 
 
//将批次编号添入备注首,以方便在列表中查询 
int func_before_save() 
//保存前执行 

int no,na,id,pd 
string d,i,n,l,m, 
 
//以下内容主数据为0不能保存 
no=gui_get_val("Edit_Main_Res_Num") 
//获取控件内容gui_get_val(控件名 加工数量"Edit_Main_Res_Num") 
if(no==0) 

msg("主数据加工数量为0,单据不能保存!!") 
can_save=0 
//不保存 
return 1; 

 
d=gui_get_val("DateTimePicker_Date_Lmt_Res") 
//获取控件内容gui_get_val(控件名 交付期限"DateTimePicker_Date_Lmt_Res") 
gui_set_val("MDate_Main_Res_Produce_Date",d) 
//设置控件内容gui_set_val(控件名 批次日期"MDate_Main_Res_Produce_Date",内容) 
 
i=gui_get_val("Edit_Main_Res_Batch_No") 
//获取控件内容gui_get_val(控件名"主物资"中的"批次号") 
if(i=="" || i=="-") 

 
d=gui_get_val("Edit_Voucher_No") 
//获取控件内容gui_get_val(控件名 单据编号"Edit_Voucher_No") 
gui_set_val("Edit_Main_Res_Batch_No",d) 
//设置控件内容gui_set_val(控件名 批次编号"Edit_Main_Res_Batch_No",内容) 

 
n=gui_get_val("Edit_Voucher_No")+"~"+gui_get_val("Edit_Main_Res_Id_Show") +"~"+dt_get_name("res",gui_get_val("ComboBox_Ext_Main_Res_Id"))+"~"+gui_get_val ("Edit_Main_Res_Num")+"~"; 
//获取控件内容gui_get_val(控件名"主物资"中的"单据编号") 
l=gui_get_val("Edit_Note") 
//获取控件内容gui_get_val(控件名"主物资"中的"备注") 
if(strncmp(n,l,strlen(n))!="0") 
//比较2个字符串前几个字符的大小strncmp(串1,串2,比较长度计算字符串的长度strlen(字符 串) 

 
m=n+l 
gui_set_val("Edit_Note",m) 
//设置控件内容gui_set_val(控件名 备注"Edit_Note",内容) 

 
  grid_seek("MG_Item","res_id","") 
  //表格中从头开始查找某列值匹配的行grid_seek(表格的名称、列名、要查找的值)1:找到 并定位到该行。0:未找到 
  na=grid_cur_row("MG_Item")-1 
  //获取当前行行号 
 
 
  for(id=na;id>0;id--) 
  //设id=记录总数循环,当id>0时执行循环,每执行一次递减 
  { 
 
 
    if(grid_get_v('MG_Item','inp_num',id)=="0"&&grid_get_v ('MG_Item',"total_amount",id)=="0"&&grid_get_v('MG_Item',"checked_item_note",id) =="") 
    //如果数量'inp_num'=0并金额"inp_amount"=0并事后备注"checked_item_note"=0 
    { 
    //是 
    pd=confirm("明细数据,第"+id+"条,数据无效,是否删除?") 
     //弹出判断窗口并把结果复值给pd 
      if(pd==1) 
     { 
      grid_del_row('MG_Item',id) 
      //删除行 
      } 
    else 
      { 
        can_save=0 
        //不保存 
        return 1; 
      } 
    } 
  } 
return 1; 

 
____________________________________________________________________ 
  
//装配零用单 
//根据成本单价修改单据金额 
int init_row()//新增记录时执行 

string y,sql 
num dj 
y = res_id 
sql='select cost_price from res where res_id="'+y+'"';//查找成本单价 
db_run(sql)//运行数据库 
dj=db_res(state)/100 //结果赋值 
//msg(dj) 
if(dj > 0) 
  { 
   inp_price = dj 
   inp_amount = inp_num * dj 
   total_amount = inp_num * dj 
  } 
//msg(y) 
return 1 

 
int cell_change()//函数在单据明细内容被修改的时候执行。 

int id 
string y,sql 
num cb,dj,je 
id=grid_cur_row('MG_Item')//获取当前行号 
//msg(id) 
y=grid_get_v('MG_Item','res_id',id)//获取当前行产品编号 
//msg(y) 
sql='select cost_price from res where res_id="'+y+'"';//查找成本单价 
//msg(sql) 
db_run(sql)//运行数据库 
dj=db_res(state)/100//结果赋值 
//msg(dj) 
if(dj > 0) 
    { 
    grid_set_v('MG_Item','inp_price',id,dj)//设置单价 
    je=grid_get_v('MG_Item','inp_num',id)*dj 
//msg(je) 
    grid_set_v('MG_Item','inp_amount',id,je)//设置金额 
    grid_set_v('MG_Item','total_amount',id,je)//设置金额 
    } 

 
 
//当项目为"已完成"时不能保存单据 
int func_before_save() 
//保存前执行 

string d,sql,n 
//字符型变量定义 
d=gui_get_val("ComboBox_Ext_Project_Id") 
//获取控件内容gui_get_val(控件名 相关项目"ComboBox_Ext_Project_Id") 
sql='select state from pm_project where project_id="'+d+'"'; 
//select(查找)state(列名)from(在)pm_project(表中)where(条件为)project_id(字段)=变量 
db_run(sql); 
//运行sql语句 
n=db_res(state) 
//结果付值给n 
if(!(n=='A' || n=="")) 

  msg('该项目已完成,不能保存出库') 
  can_save=0 

return 1; 

 
------------------------------------------- 
//组装单脚本 
int init_row()//新增记录时执行 

//根据成本单价修改单据金额 
string y,sql              //字符型变量定义 
num dj                //数值型变量定义 
y = res_id 
sql='select cost_price from res where res_id="'+y+'"';    //查找成本单价 
db_run(sql)              //运行数据库 
dj=db_res(state)/100            //结果赋值 
//msg(dj) 
if(dj>0) 
  { 
   inp_price = dj 
   inp_amount = inp_num * dj 
   total_amount = inp_num * dj 
  } 
//msg(y) 
 
//根据产品组成,在明细表中添写"工序" 
  int m,n 
  string m_res_id,s,x; 
  grid_seek('MG_Item','emf_process_id_zzd','');      //定位 
  m=grid_cur_row('MG_Item')           //取行号 
  x=grid_get_v('MG_Item','res_id',m)         //取字段内容 
//msg(m+"   "+x) 
  if (x!="") 
  { 
    n=m-1 
//msg(m+"   "+n+"   "+x) 
    m_res_id = gui_get_val("ComboBox_Ext_Main_Res_Id");    //取主物资编码 
    s= "select emf_process_id from res_composing where res_id = '"+ m_res_id + "'  and order_id ="+ n 
    db_run(s);               //根据主物资和当前行的明细物资找到工序 
    if ( db_res(0) != "" ) 
    { 
    emf_process_id_zzd = db_res(0);        //将工序写入"工序字段 
    emf_process_id_zzd.map = dt_get_name("emf_process",db_res(0));  //将工序写入"工序字段 
//msg(emf_process_id_zzd +'/'+ emf_process_id_zzd.map) 
    } 
    else if ( m == 1 ) 
    { 
      emf_process_id_zzd= '001' 
      emf_process_id_zzd.map= dt_get_name("emf_process",'001') 
//msg(emf_process_id_zzd +'/'+ emf_process_id_zzd.map) 
    } 
    else 
    { 
      n=m-1 
      emf_process_id_zzd = grid_get_v('MG_Item','emf_process_id_zzd', n) 
      emf_process_id_zzd.map = dt_get_name("emf_process",grid_get_v('MG_Item','emf_process_id_zzd', n)) 
//msg(emf_process_id_zzd +'/'+ emf_process_id_zzd.map) 
    } 
  } 
  return 1; 

//根据成本单价修改单据金额 
int cell_change()//函数在单据明细内容被修改的时候执行。 

int id 
string y,sql 
num cb,dj,je 
id=grid_cur_row('MG_Item')          //获取当前行号 
//msg(id) 
y=grid_get_v('MG_Item','res_id',id)        //获取当前行产品编号 
//msg(y) 
sql='select cost_price from res where res_id="'+y+'"';    //查找成本单价 
//msg(sql) 
db_run(sql)              //运行数据库 
dj=db_res(state)/100            //结果赋值 
//msg(dj) 
if(dj > 0) 
    { 
    grid_set_v('MG_Item','inp_price',id,dj)      //设置单价 
    je=grid_get_v('MG_Item','inp_num',id)*dj 
//msg(je) 
    grid_set_v('MG_Item','inp_amount',id,je)      //设置金额 
    grid_set_v('MG_Item','total_amount',id,je)      //设置金额 
 
    } 

 
 
 
 
int func_before_save()//保存前执行 

//当项目不为"正在进行"时,不能保存单据 
string d,sql,n              //字符型变量定义 
d=gui_get_val("ComboBox_Ext_Project_Id")      //获取控件内容gui_get_val(控件名 相关项目"ComboBox_Ext_Project_Id") 
sql='select state from pm_project where project_id="'+d+'"';  //select(查找)state(列名)from(在)pm_project(表中)where(条件为)project_id(字段)=变量 
db_run(sql);              //运行sql语句 
n=db_res(state)              //结果付值给n 
if(!(n=='A' || n=="")) 

  msg('该项目处于“'+dt_get_name("pm_project_state",n)+'”状态,不能保存')  //获取字典意义dt_get_name(字典名"pm_project_state",编号n) 
  can_save=0 
  return 1; 

 
//在备注中添加信息以方便查询 
string bz,bz1,bz2 
bz2=dt_get_name("pm_project",gui_get_val("ComboBox_Ext_Project_Id"))  //获取控件内容gui_get_val(相关项目"ComboBox_Ext_Project_Id") 
bz1=gui_get_val("Edit_Note")          //获取控件内容gui_get_val(控件名"主物资"中的"备注") 
if(strncmp(bz2,bz1,strlen(bz2))!="0")        //比较2个字符串前几个字符的大小strncmp(串1,串2,比较长度计算字符串的长度strlen(字符 串) 

bz=bz2+"~"+bz1 
gui_set_val("Edit_Note",bz)          //设置控件内容gui_set_val(控件名 备注"Edit_Note",内容) 

 
 
 
//保存前判断数据是否完整 
  int na,id,pd,no; 
  no=gui_get_val("Edit_Main_Res_Num")        //获取控件内容gui_get_val(控件名 加工数量"Edit_Main_Res_Num") 
  if(no==0) 
  { 
    msg("主数据加工数量为0,单据不能保存!!") 
    can_save=0              //不保存 
    return 1; 
  } 
  grid_seek("MG_Item","res_id","")        //表格中从头开始查找某列值匹配的行grid_seek(表格的名称、列名、要查找的值)1:找到并定位到该行。0:未找到 
  na=grid_cur_row("MG_Item")-1          //获取当前行行号 
//msg(na) 
  for(id=na;id>0;id--)            //设id=记录总数循环,当id>0时执行循环,每执行一次递减 
  { 
//msg(id) 
    if(grid_get_v('MG_Item','inp_num',id)=="0" || grid_get_v('MG_Item',"emf_process_id_zzd.map",id)=="")  //如果数量'inp_num'=0并事后备注"emf_process_id_zzd.map"=空白 
    { 
      pd=confirm("明细数据,第"+id+"条,数据无效,是否删除?")  //弹出判断窗口并把结果复值给pd 
      if(pd==1) 
      { 
        grid_del_row('MG_Item',id)        //删除行 
      } 
      else 
      { 
      can_save=0            //不保存 
      return 1; 
      } 
    } 
  } 
return 1; 

 
 
//检查产品组成,与单据明细是否一至,并提示更新 
int func_after_check()//审核后执行 
{    //1 
string a0 
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++)              //循环取每一个明细物资 
{    //2 
  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) ) 
  {    //3 
  }    //3 
  else 
  {    //3 
    pd0 = confirm('"明细数据"与默认"产品组成"不一至,是否将本单据"明细数据"更新为默认"产品组成? ') 
    if(pd0==1) 
    {    //4 
      do 
      {    //5 
      pd3 = confirm('警告:以下操作会更新数据库内容,操作后的内容是不可逆的,如果您不了解本次操作的后果,建议您"取消"本次操作!!!') 
      if(pd3==1) 
      {    //3 
        inp_clear(); 
        inp_def_string('yzm','录入验证码:') 
        inp_para_set_title('录入  更新  后,点击  确定  更新产品组成') 
        pd1=inp_para() 
        if(pd1==1)//判断3 
        {    //7 
          yzm0=inp_get_val('yzm') 
//msg(yzm0) 
          if(yzm0 == '更新')//判断2 
          {    //8 
//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; 
 
          }    //8 
          else 
          {    //8 
//msg('n') 
            pd2=confirm('您录入的验证内容不正确,是否重新录入')//判断1 
            if(pd2==1) 
            {    //9 
            }    //9 
          }    //8 
        }    //7 
        else 
        {    //7 
          return 1; 
        }    //7 
      }    //6 
      else 
      {    //6 
        return 1; 
      }    //6 
      }    //5 
      while(pd2==1) 
    }    //4 
    else 
     {    //4 
      return 1; 
     }    //4 
  }    //3 
}    //2 
return 1; 
}    //1 
 
 
 
//组装领用单 
int func_before_save()//保存前执行 

//当项目不为"正在进行"时,不能保存单据 
string d,sql,n              //字符型变量定义 
d=gui_get_val("ComboBox_Ext_Project_Id")      //获取控件内容gui_get_val(控件名 相关项目"ComboBox_Ext_Project_Id") 
sql='select state from pm_project where project_id="'+d+'"';  //select(查找)state(列名)from(在)pm_project(表中)where(条件为)project_id(字段)=变量 
db_run(sql);              //运行sql语句 
n=db_res(state)              //结果付值给n 
if(!(n=='A' || n=="")) 

  msg('该项目处于“'+dt_get_name("pm_project_state",n)+'”状态,不能保存')  //获取字典意义dt_get_name(字典名"pm_project_state",编号n) 
  can_save=0 
  return 1; 

 
//删除无效数据 
int na,id,pd          //定义整型变量 
string d,i,n,l,m,        //定义字符型变量 
 
grid_seek("MG_Item","res_id","")    //表格中从头开始查找某列值匹配的行grid_seek(表格的名称、列名、要查找的值)1:找到 并定位到该行。0:未找到 
na=grid_cur_row("MG_Item")-1      //获取当前行行号 
 
  for(id=na;id>0;id--)        //设id=记录总数循环,当id>0时执行循环,每执行一次递减 
  { 
    if(grid_get_v('MG_Item','inp_num',id)=="0"&&grid_get_v ('MG_Item',"total_amount",id)=="0"&&grid_get_v('MG_Item',"checked_item_note",id) =="") 
    //如果数量'inp_num'=0并金额"inp_amount"=0并事后备注"checked_item_note"=0 
    { 
    //是 
    pd=confirm("明细数据,第"+id+"条,数据无效,是否删除?")  //弹出判断窗口并把结果复值给pd 
      if(pd==1) 
      { 
      grid_del_row('MG_Item',id)    //删除行 
      } 
    else 
      { 
        can_save=0        //不保存 
        return 1; 
      } 
    } 
  } 
return 1; 

 
---------------------------------- 
//出库单 
int cell_change()//函数在单据明细内容被修改的时候执行。 

//根据成本单价修改单据金额 
int id 
string y,sql 
num cb,dj,je 
id=grid_cur_row('MG_Item')          //获取当前行号 
//msg(id) 
y=grid_get_v('MG_Item','res_id',id)        //获取当前行产品编号 
//msg(y) 
sql='select cost_price from res where res_id="'+y+'"';    //查找成本单价 
//msg(sql) 
db_run(sql)              //运行数据库 
dj=db_res(state)/100            //结果赋值 
//msg(dj) 
if(dj > 0) 
    { 
    grid_set_v('MG_Item','inp_price',id,dj)      //设置单价 
    je=grid_get_v('MG_Item','inp_num',id)*dj 
//msg(je) 
    grid_set_v('MG_Item','inp_amount',id,je)      //设置金额 
    grid_set_v('MG_Item','total_amount',id,je)      //设置金额 
    } 

 
int func_before_save()//保存前执行 

//当项目不为"正在进行"时,不能保存单据 
string d,sql,n              //字符型变量定义 
d=gui_get_val("ComboBox_Ext_Project_Id")      //获取控件内容gui_get_val(控件名 相关项目"ComboBox_Ext_Project_Id") 
sql='select state from pm_project where project_id="'+d+'"';  //select(查找)state(列名)from(在)pm_project(表中)where(条件为)project_id(字段)=变量 
db_run(sql);              //运行sql语句 
n=db_res(state)              //结果付值给n 
if(!(n=='A' || n=="")) 

  msg('该项目处于"'+dt_get_name("pm_project_state",n)+'"状态,不能保存')  //获取字典意义dt_get_name(字典名"pm_project_state",编号n) 
  can_save=0 
  return 1; 

 
//以下内容删除无信息数据 
  int na,id,pd; 
  grid_seek("MG_Item","res_id","")        //表格中从头开始查找某列值匹配的行grid_seek(表格的名称、列名、要查找的值)1:找到并定位到该 行。0:未找到 
  na=grid_cur_row("MG_Item")-1          //获取当前行行号 
  for(id=na;id>0;id--)            //设id=记录总数循环,当id>0时执行循环,每执行一次递减 
  { 
    if(grid_get_v('MG_Item','inp_num',id)=="0"&&grid_get_v('MG_Item',"total_amount",id)=="0"&&grid_get_v ('MG_Item',"checked_item_note",id)=="") 
                   //如果数量'inp_num'=0并金额"inp_amount"=0并事后备注"checked_item_note"=0 
    { 
      //是 
      pd=confirm("明细数据,第"+id+"条,数据无效,是否删除?")    //弹出判断窗口并把结果复值给pd 
      if(pd==1) 
      { 
        grid_del_row('MG_Item',id)          //删除行 
      } 
      else 
      { 
        can_save=0            //不保存 
        return 1; 
      } 
    } 
  } 
//以下内容检查出库数量不大于引用数量 
  grid_seek("MG_Item","res_id","")        //定位 
  na=grid_cur_row("MG_Item")-1          //获取当前行行号 
  for(id=na;id>0;id--)            //设id=记录总数循环,当id>0时执行循环,每执行一次递减 
  { 
    num if0,if1 
    if0 = grid_get_v('MG_Item','inp_num',id) 
    if1 = grid_get_v('MG_Item','max_num',id) 
    if(if1>0) 
    { 
      if(if0>if1) 
      { 
        msg("明细数据,第"+id+"条,操作数量 超过 可引用数量 ,数据不能保存!!!"+nl()+"提示:如确定有可引用数量,可删除本单据重 重新操作修改") 
        can_save=0            //不保存 
        return 1; 
      } 
    } 
    else 
    { 
      if(if0<if1) 
      { 
        msg("明细数据,第"+id+"条,操作数量 超过 可引用数量 ,数据不能保存!!!"+nl()+"提示:如确定有可引用数量,可删除本单据重 重新操作修改") 
        can_save=0            //不保存 
        return 1; 
      } 
    } 
  } 
 
//以下内容保存操作数量为最大可引用量,以备后期单据修改 
  for(id=na;id>0;id--)             //设id=记录总数循环,当id>0时执行循环,每执行一次递减 
  { 
    grid_set_v('MG_Item','max_num',id,grid_get_v('MG_Item','inp_num',id))  //取操作数量为最大可操作数量 
  } 
  return 1; 

 
int init_row()//新增记录时执行 

//设置成本单价 
  int m 
  num x,dj 
  string y,sql 
y = res_id 
sql='select cost_price from res where res_id="'+y+'"';    //查找成本单价 
db_run(sql)              //运行数据库 
dj=db_res(state)/100             //结果赋值 
//msg(dj) 
if(dj > 0) 
  { 
  inp_price = dj            //单价inp_price 
  inp_amount = inp_num * dj          //金额inp_amount 
  total_amount = inp_num * dj          //金额合计total_amount 
  } 
//msg(y) 
 
//设置单据数量引用最大值 
  string 操作员 
//在重新打开后失效了  grid_add_col_num('MG_Item','max_num','最大可引用数')  //在表中增加一列, 
  grid_mark_readonly('MG_Item','max_num')      //设置表内容为只读 
  操作员=get_user_id() 
//msg(操作员) 
  if(操作员=="admin") 
    { 
    grid_unmark_readonly('MG_Item','max_num')       //设置一个列可写 
    } 
//在只可引用的情况下不起作用  grid_unmark_readonly('MG_Item','inp_num')   //设置一个列可写 
  grid_seek('MG_Item','max_num','')         //定位 
  m = grid_cur_row('MG_Item')           //取行号 
  x = grid_get_v('MG_Item','inp_num',m)       //取字段内容 
  grid_set_v('MG_Item','max_num',m,x)        //设置单元格内容 
//msg(x) 

 
 
_____________________________________________________________________ 
//报表中添加库存数量的参考脚本 
int show_row_ext() 

  //change_row_id 表示当前行 
 
 if (gui_get_val("chk_edt")==1)  //如果选择了仓库 
    {aa = get_res_num(res_id,gui_get_val("ext_edt"))}  //所选仓库存量 
    else 
    {aa = get_res_num(res_id,"*")};  //否则,所有仓库存量 
  return 1; 
}; 
 
____________________________________________________________________ 
//加工领料单脚本内容 
//以下内容删除工序类内容 
int func_before_oper()//审核前执行 

  int id,n; 
  grid_seek("MG_Item","res_id","") 
  n=grid_cur_row("MG_Item")-1 
  for(id=n;id>0;id--)//设id=记录总数循环,当id>0时执行循环,没执行一次递减 
  { 
    if(grid_get_v('MG_Item','res_kind',id)=="40")//判断'res_kind'(性质编码)=40(工序类) 
    { 
      //是, 
      grid_del_row('MG_Item',id)//删除当前行 
    } 
  } 
 return 1; 

 
//以下内容删除无用数据 
int func_before_save()//保存前执行 

  int na,id,pd; 
  grid_seek("MG_Item","res_id","")//表格中从头开始查找某列值匹配的行grid_seek(表格的名称、列名、要查找的值)1:找到并定位到该行。0:未找到 
  na=grid_cur_row("MG_Item")-1  //获取当前行行号 
//以下内容删除无信息数据 
  for(id=na;id>0;id--)//设id=记录总数循环,当id>0时执行循环,每执行一次递减 
  { 
    if(grid_get_v('MG_Item','inp_num',id)=="0"&&grid_get_v('MG_Item',"total_amount",id)=="0"&&grid_get_v('MG_Item',"checked_item_note",id)=="") 
    //如果数量'inp_num'=0并金额"inp_amount"=0并事后备注"checked_item_note"=0 
    { 
      //是 
      pd=confirm("明细数据,第"+id+"条,数据无效,是否删除?")  //弹出判断窗口并把结果复值给pd 
      if(pd==1) 
      { 
        grid_del_row('MG_Item',id)  //删除行 
      } 
      else 
      { 
        can_save=0//不保存 
        return 1; 
      }  
    } 
  } 
 return 1; 

--------------------------------------------------------------------------------------------------------- 
//入库单 
int init_row()//新增记录时执行 

//当没有单价时查找成本单价并添加 
num ydj 
ydj = inp_price 
if(ydj<=0) 
  { 
  string y,sql 
  num dj 
  y = res_id 
  sql='select cost_price from res where res_id="'+y+'"';  //查找成本单价 
  db_run(sql)              //运行数据库 
  dj=db_res(state)/100             //结果赋值 
//msg(dj) 
  if(dj>0) 
    { 
    inp_price = dj 
    inp_amount = inp_num * dj 
    total_amount = inp_num * dj 
    } 
//msg(y) 
  return 1 
  } 
}


        于 2014-11-28 14:48 被 tox1021 修改




辽宁-机械-佟鑫

庫存管理軟體, 綠色免費

cjsjtzlhh  [个人空间]


注册  2010-05-10
发贴数  172
精华数  0
原创贴  0
来自  
状态  正常

级别  会员
#2»发布于2014-10-23 18:25

太强了 ,学习了





固定資産設備 管理軟體, 綠色免費

jazzwall  [个人空间]


注册  2013-12-27
发贴数  82
精华数  0
原创贴  1
来自  
状态  正常

级别  会员
#3»发布于2014-10-23 19:52

不错,给个好评,点个赞!





商贸进销存 管理軟體, 綠色免費

leichuanhai  [个人空间]


注册  2012-08-10
发贴数  84
精华数  0
原创贴  1
来自  
状态  正常

级别  贵宾
#4»发布于2014-10-23 21:41

嗯,不错,谢谢分享!、、、、、呵呵呵呵!





人力資源管理軟體, 綠色免費

xwb514  [个人空间]
QQ名  无锡-流浪(340298101)


注册  2010-03-19
发贴数  397
精华贴  6
原创贴  7
来自  
状态  正常

级别  会员
#5»发布于2014-10-23 22:51

不错






官方认证第三方服务团队  徐文标(无锡-流浪) QQ:340298101
服务介绍:http://www.onlyit.cn/onlyit_service.html

庫存管理軟體, 綠色免費

xxq  [个人空间]


注册  2010-05-09
发贴数  77
精华数  0
原创贴  0
来自  
状态  正常

级别  会员
#6»发布于2014-10-24 09:51

确实好,顶起来,能否帮助我解决这些事:我在软件脚本帮助里看到有取两个日期的天数差的脚本函数get_day_between ,我想把产品定义里面的保质天数,改变成产品进库天数,让它的值=(系统当前日期)-(创建日期),如下图所示,这样一改,在很多报表都能随时随地掌握产品进库时间了,希望老师不吝指教。







固定資産設備 管理軟體, 綠色免費

xxq  [个人空间]


注册  2010-05-09
发贴数  77
精华数  0
原创贴  0
来自  
状态  正常

级别  会员
#7»发布于2014-10-24 09:57

希望论坛多出现这样有价值的文章,这样论坛人气会更旺。





商贸进销存 管理軟體, 綠色免費

xwb514  [个人空间]
QQ名  无锡-流浪(340298101)


注册  2010-03-19
发贴数  397
精华贴  6
原创贴  7
来自  
状态  正常

级别  会员
#8»发布于2014-10-24 19:17

xxq你这个放在这里是不正确的,这是产品资料,你的产品不会只生产一次吧?保质截止日应当在入库里体现。






官方认证第三方服务团队  徐文标(无锡-流浪) QQ:340298101
服务介绍:http://www.onlyit.cn/onlyit_service.html

人力資源管理軟體, 綠色免費

wuxuguan  [个人空间]


注册  2012-01-07
发贴数  44
精华贴  1
原创贴  0
来自  
状态  正常

级别  会员
#9»发布于2018-04-26 15:24

希望论坛多出现这样有价值的文章,这样论坛人气会更旺





庫存管理軟體, 綠色免費

cjsjtzlhh  [个人空间]


注册  2010-05-10
发贴数  172
精华数  0
原创贴  0
来自  
状态  正常

级别  会员
#10»发布于2018-04-27 09:27

这么好的贴,竟然这么少的人顶,光顾着拿走用了吧,我顶





固定資産設備 管理軟體, 綠色免費

wwx001  [个人空间]
QQ名  时光呓语


注册  2011-05-23
发贴数  324
精华贴  1
原创贴  2
来自  
状态  正常

级别  会员
#11»发布于2018-04-29 21:12

感谢分享,收藏学习。






QQ:772600297

商贸进销存 管理軟體, 綠色免費

tonyjona  [个人空间]


注册  2014-05-28
发贴数  106
精华数  0
原创贴  0
来自  
状态  正常

级别  会员
#12»发布于2018-08-01 14:08

不错,值得大家 共同 学习参考!





人力資源管理軟體, 綠色免費

cctv_cba  [个人空间]
QQ名  81753287


注册  2015-04-23
发贴数  12
精华数  0
原创贴  0
来自  
状态  正常

级别  会员
#13»发布于2018-09-14 20:09

我留个记号吧,里面挺多sql语言可以借鉴





庫存管理軟體, 綠色免費

wylyjqj  [个人空间]


注册  2018-10-26
发贴数  2
精华数  0
原创贴  0
来自  
状态  正常

级别  会员
#14»发布于2018-10-26 20:25

学习中,非常感谢!





固定資産設備 管理軟體, 綠色免費

wylyjqj  [个人空间]


注册  2018-10-26
发贴数  2
精华数  0
原创贴  0
来自  
状态  正常

级别  会员
#15»发布于2018-10-26 20:25

学习中,非常感谢!





商贸进销存 管理軟體, 綠色免費

 >经典理论    >职业工具    >交流论坛      >阅读1 ,2 ,3 ,4  >文本论坛    
 17  1/2   1  2  >  >|  


登录后方可发贴


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