作者 |
|
wwx001 [个人空间] QQ名 时光呓语
     注册  2011-05-23 发贴数 667 精华贴 2 原创贴 3 来自 状态 正常
级别 会员 |
|
|
朋友的单位是做铝型材批发的,平时进货或者销售都是以重量为计价单位的,但是仓库只能以数量为单位来进行管理,由于种类太多,进出都是以整车计价的,所以必须把成本折算成单位数量的成本。型材有厂家提供的理论米重,所以我在产品资料里启用了一个扩展属性“米重”,在单据里可以根据数量自动计算出理论重量,我希望利用脚本根据理论重量的合计和整单的金额,自动计算出每种型材的金额(单价),只是试了好多次都没有成功,要么提示参数不对,要么没有反应。希望知道的朋友能帮个忙,看脚本应该如何写。 |
|
单据截图
|

QQ:772600297 |
|
wwx001 [个人空间] QQ名 时光呓语
     注册  2011-05-23 发贴数 667 精华贴 2 原创贴 3 来自 状态 正常
级别 会员 |
|
|
我写了下面的脚本,不过执行中没有反应: int obj_change() {float money; money=gui_get_val('v_001'); float heji; heji=grid_get_col_sum('MG','vr_item_ext_1');(我在打印模板中看到这个字段可以用:sum_vr_item_ext_1表示,可是执行时却提示找不到) if(change_obj=='v_001'); inp_amount=money/heji*vr_item_ext_1; //change_obj return 1; }; |
|
|

QQ:772600297 |
|
tristarl [个人空间]
 注册  2014-09-22 发贴数 3 精华数 0 原创贴 0 来自 状态 正常
级别 会员 |
|
|
我写了下面的脚本,不过执行中没有反应: int obj_change() {float money; money=gui_get_val('v_001'); float heji; heji=grid_get_col_sum('MG','vr_item_ext_1');(我在打印模板中看到这个字段可以用:sum_vr_item_ext_1表示,可是执行时却提示找不到) if(change_obj=='v_001'); { //<- ADD inp_amount=money/heji*vr_item_ext_1; } //<- ADD //change_obj return 1; }; |
|
|
|
|
xwb514 [个人空间] QQ名 福建流浪(340298101)
   注册  2010-03-19 发贴数 568 精华贴 7 原创贴 7 来自 状态 正常
级别 会员 |
|
|
看书不仔细。 单据中明细表格: MG_Item 物资单据单据中主物资表格: MG_Main_Res 报表中数据表格: MG 管理界面(左边是索引树,右边是列表):MG 你这个是在单据中使用怎么会用MG呢?这是一。 第二,打印模板里的数值不能用在电子单据里。打印的数据本身就是要调用电子单据里的数据,是电子单据的后续,怎么能够倒过来呢? 表格数据相加的函数是:grid_mark_sum("MG_Item","vr_item_ext_1") 目前就发现这两个问题。 |
|
|
于 2014-12-30 17:04 被 xwb514 修改

官方认证第三方服务团队 徐文标(福建-流浪) QQ:340298101 V&P :177-5046-4787
服务介绍:http://www.onlyit.cn/onlyit_service.html |
|
wwx001 [个人空间] QQ名 时光呓语
     注册  2011-05-23 发贴数 667 精华贴 2 原创贴 3 来自 状态 正常
级别 会员 |
|
|
谢谢,我测试了一下,还是没有反应,既未提示出错,也没有预想的效果。 |
|
|
于 2014-12-30 17:46 被 wwx001 修改

QQ:772600297 |
|
wwx001 [个人空间] QQ名 时光呓语
     注册  2011-05-23 发贴数 667 精华贴 2 原创贴 3 来自 状态 正常
级别 会员 |
|
|
不完美解决方案,脚本如下: int adjust_row() {num a,b; a=gui_get_val('fmask_001'); b=grid_get_col_sum("MG_Item",'vr_item_ext_1'); inp_amount=num_dec_cut(a/b*vr_item_ext_1,2); return 1; }; |
|
|

QQ:772600297 |
|
wwx001 [个人空间] QQ名 时光呓语
     注册  2011-05-23 发贴数 667 精华贴 2 原创贴 3 来自 状态 正常
级别 会员 |
|
|
测试了其他方案,无效,这个方案虽然需要手动执行一次,不过可以达到预期的效果,有哪位朋友可以完善下就更好了。 |
|
|

QQ:772600297 |
|
xwb514 [个人空间] QQ名 福建流浪(340298101)
   注册  2010-03-19 发贴数 568 精华贴 7 原创贴 7 来自 状态 正常
级别 会员 |
|
|
int func_before_oper()//操作前执行。 { float money,heji,midnum; int i,j; grid_seek("MG_Item","res_id",""); i=grid_cur_row("MG_Item"); money=gui_get_val("fmask_v_001"); grid_mark_sum("MG_Item","vr_item_ext_1");//米重的和 heji=grid_get_col_sum("MG_Item","vr_item_ext_1");//取米重的和 for(j=1;j<i;j++)//按要求分配金额 { midnum=grid_get_v("MG_Item","vr_item_ext_1",j) midnum=money/heji*midnum; grid_set_v("MG_Item","inp_amount",j,midnum); } return 1; }; 这个是根据你的描述写的。只要点下各操作(新增,审核,保存,打印)前就会执行。可以满足自动分配金额的目的。 |
|
|

官方认证第三方服务团队 徐文标(福建-流浪) QQ:340298101 V&P :177-5046-4787
服务介绍:http://www.onlyit.cn/onlyit_service.html |
|
wwx001 [个人空间] QQ名 时光呓语
     注册  2011-05-23 发贴数 667 精华贴 2 原创贴 3 来自 状态 正常
级别 会员 |
|
|
感谢xwb514的分享,刚才测试了下,“fmask_v_001”应改为“fmask_001”。执行 操作后可以自动分配金额,美中不足的是单价列不会自动填充,需点击金额列才会补上。用我上面的脚本手动执行单价列可以填充。 |
|
|
于 2015-01-02 22:01 被 wwx001 修改

QQ:772600297 |
|
xwb514 [个人空间] QQ名 福建流浪(340298101)
   注册  2010-03-19 发贴数 568 精华贴 7 原创贴 7 来自 状态 正常
级别 会员 |
|
|
第一“v_001”是我的自定义属性的标识,你自定义的属性是“001”; 第二,我没有写单价计算与填充,你可以在循环体内自己补上。 这个脚本又不是很复杂的脚本,多写写多参考下别人的应当不难。 |
|
|

官方认证第三方服务团队 徐文标(福建-流浪) QQ:340298101 V&P :177-5046-4787
服务介绍:http://www.onlyit.cn/onlyit_service.html |
|
wwx001 [个人空间] QQ名 时光呓语
     注册  2011-05-23 发贴数 667 精华贴 2 原创贴 3 来自 状态 正常
级别 会员 |
|
|
谢了,已调试成功。本人没有接触过编程,对脚本尚不太了解,向各位多学习了…… |
|
|

QQ:772600297 |
|