求助_在单据引用的时候,如何让上级单据甲的A列直接引用到下级单据乙的B列中去呢?_产供销
学习.交流
专业源于专注
www. onlyit. cn   
学习交流 文件下载 手册资料 交流QQ群

    

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


注册  2010-04-20
发贴数  1284
精华贴  2
原创贴  1
来自  
状态  正常

级别  会员
#1»发布于2016-02-29 13:32

在一个自定义单据中,在单据引用的时候,需要要让上级单据甲的A列直接引用到下级单据乙的B列(系统默认是引用到单据乙的A列)中去。如果想实现这个功能,脚本应该如何写呢?


        




天道酬勤,勤能补拙!

laughtiger  [个人空间]
QQ名  天天笑


注册  2011-05-06
发贴数  76
精华数  0
原创贴  0
来自  
状态  正常

级别  会员
#2»发布于2016-03-05 08:14

int obj_change() 

  //change_obj 
  if (change_obj=="refer_data") //如果引用了数据 
   { 
     int x,y;  
     grid_seek("MG_Item","res_id","");  
     x=grid_cur_row("MG_Item"); //取出单据最大行数 
     for(y=1;y<=x;y++)   // 循环修改每一行 
       {grid_set_v("MG_Item",B列,y,grid_get_val("MG_Item",A列,y))} //将A列的值写到B列 
   }; 
  return 1; 
};


        


XCDZ  [个人空间]


注册  2010-04-20
发贴数  1284
精华贴  2
原创贴  1
来自  
状态  正常

级别  会员
#3»发布于2016-03-05 10:22

非常感谢!经过测试,脚本中的grid_get_val应该更改为grid_get_v


        




天道酬勤,勤能补拙!

XCDZ  [个人空间]


注册  2010-04-20
发贴数  1284
精华贴  2
原创贴  1
来自  
状态  正常

级别  会员
#4»发布于2016-03-09 09:57

运用这个脚本时,如果引用的A列是产品单价的话,要记得将业务设置中的单据引用参数设置中将“引用价格”选上,否则脚本就会失效出错。



        




天道酬勤,勤能补拙!

XCDZ  [个人空间]


注册  2010-04-20
发贴数  1284
精华贴  2
原创贴  1
来自  
状态  正常

级别  会员
#5»发布于2016-03-09 10:54

添加了一个同时将下级单据的日期设置为上级引用单据日期的脚本。 
int obj_change()  
{  
  //change_obj  
  if (change_obj=="refer_data") //如果引用了数据  
   {  
     int x,y;   
   string sql; 
    sql="select voucher_date from ebs_v where voucher_id ='"+ref_voucher_id+"'"; 
    db_run(sql); 
    //msg(db_res(0)); 
    gui_set_val("DateTimePicker_Voucher_Date",db_res(0)); 
 
     grid_seek("MG_Item","res_id","");   
     x=grid_cur_row("MG_Item"); //取出单据最大行数  
     for(y=1;y<=x;y++)   // 循环修改每一行  
       {grid_set_v("MG_Item",B列,y,grid_get_val("MG_Item",A列,y))} //将A列的值写到B列  
   };  
  return 1;  
};


        




天道酬勤,勤能补拙!

cjsjtzlhh  [个人空间]


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

级别  会员
#6»发布于2016-03-09 13:23

留名,以后可能会用到


        



 6  1/1   1  

登录后方可发贴


[ 电话: 0571-85462761 王先生 QQ: 124520435 加入软件QQ群 - 杭州 - 浙ICP备19051128号-1 网安 33010402003225 ]