作者 |
|
xwb514 [个人空间] QQ名 福建流浪(340298101)
   注册  2010-03-19 发贴数 568 精华贴 7 原创贴 7 来自 状态 正常
级别 会员 |
|
|
写了一个脚本,我的目的是:作为批发企业,有些客户不需要整箱,而只要一箱中的部份,如几包几瓶等等,这种散拿货的单位采用枚举的方式来判断,而这些单位都在产品定义里定义好了。 这个脚本就是在开单据的时候提醒开单人员注意并且另外记录这样的特殊情况(如果能够自动记录并且追加到一个指定的文本或者电子表格文件就更好了。),然后在发货装车的时候就另外包装好。 但是这个脚本写好后运行,发现没有任何反应,不知道问题出在哪里,请指点,不甚感激。 int cell_change() { string goodsunit,comuid,goodsname; //这三个变量分别是:单位,客户,货物名称 float goodsnum; //这个变量是货物数量 goodsunit=gui_get_val('Edit_Main_Res_Unit_Type');//获取单位 goodsname=gui_get_val('SpeedButton_Main_Res_Sel');//获取物资名称 goodsnum=gui_get_val('Edit_Main_Res_Num');//获取物资数量 comuid=gui_get_val('ComboBox_Ext_Eba_Id');//获取客户名称 if(goodsunit=='包'||goodsunit=='瓶'||goodsunit=='大包'||goodsunit=='小包'||goodsunit=='袋') { warn(comuid+'的'+goodsname+'有'+goodsnum+goodsunit+'要另外包装,请记录'+nl()+nl());//如果满足判断条件就弹出一个提示:某客户的哪种货有多少包(或其他单位) } return 1; }; 我原来以为不支持逻辑或,所以就只留下了goodsunit=='包‘作为判断条件,但是也老样子。 |
|
|
于 2014-01-17 22:26 被 xwb514 修改

官方认证第三方服务团队 徐文标(福建-流浪) QQ:340298101 V&P :177-5046-4787
服务介绍:http://www.onlyit.cn/onlyit_service.html |
|
awfixtdm [个人空间]
   注册  2011-08-18 发贴数 445 精华贴 2 原创贴 5 来自 状态 正常
级别 版主 |
|
|
看一下goodsunit,应该用编号,不是中文,写入文件在脚本里也可以。例子看这个http://www.onlyit.cn/topic_list_detail?subject_id=56&topic_id=67694&topic_page_id=2 |
|
|
于 2014-01-18 13:09 被 awfixtdm 修改

QQ:80240800 |
|
xwb514 [个人空间] QQ名 福建流浪(340298101)
   注册  2010-03-19 发贴数 568 精华贴 7 原创贴 7 来自 状态 正常
级别 会员 |
|
|
唉,不知道“物品单位”的ID如何获取,二是如果通过赋值的方式进行枚举也不行。 你那个写入文件的脚本我试过,只能写一次,如果下次会将上次的替换,我要的是不替换,一行一行的逐行写。 |
|
|

官方认证第三方服务团队 徐文标(福建-流浪) QQ:340298101 V&P :177-5046-4787
服务介绍:http://www.onlyit.cn/onlyit_service.html |
|
awfixtdm [个人空间]
   注册  2011-08-18 发贴数 445 精华贴 2 原创贴 5 来自 状态 正常
级别 版主 |
|
|
1、用grid_list_col查列名,右键单据明细列定义里查也可以 2、>符号换成>>就是逐行写了 方向别人给了,自己要多想多试,不然没人帮得了你的,csp文档多看看,心里有个大概,用的时候去查 |
|
|

QQ:80240800 |
|
xwb514 [个人空间] QQ名 福建流浪(340298101)
   注册  2010-03-19 发贴数 568 精华贴 7 原创贴 7 来自 状态 正常
级别 会员 |
|
|
自己想了很久了,但是就是想不通才会发到论坛来。如果想得通还发到论坛来求救? 我试了很多次,如果改成这样 能够触发警告,弹出对话框。 修改后全部代码如下: int func_before_print() { string goodsunit,comuid,goodsname,comuidcode; int goodsnum; goodsunit=gui_get_val('Edit_Main_Res_Unit_Type');//获取单位 goodsname=gui_get_val('SpeedButton_Main_Res_Sel');//获取物资名称 goodsnum=gui_get_val('Edit_Main_Res_Num');//获取物资数量 comuid=gui_get_val('ComboBox_Ext_Eba_Id');//获取客户名称 if(goodsunit!='箱') //我发现这里无论是什么单位都能够触发警告提示,如果变成if(goodsunit!='包')就是没有反应 { warn(comuid+'的'+goodsname+'有'+goodsnum+goodsunit+'要另外包装,请记录'+nl()+nl()); }; //can_print=1; return 1; }; 执行的结果就是这样: |
|
|
于 2014-01-24 19:53 被 xwb514 修改

官方认证第三方服务团队 徐文标(福建-流浪) QQ:340298101 V&P :177-5046-4787
服务介绍:http://www.onlyit.cn/onlyit_service.html |
|
webshow [个人空间]
   注册  2009-02-09 发贴数 133 精华数 0 原创贴 0 来自 状态 正常
级别 会员 |
|
xwb514 [个人空间] QQ名 福建流浪(340298101)
   注册  2010-03-19 发贴数 568 精华贴 7 原创贴 7 来自 状态 正常
级别 会员 |
|
|
int cell_change() { string comuid,comuname,resunit,resres,res1,today,thistime,sql; today=get_cur_date();//读取当前日期,将当前日期作为散货记录的文件名,每天一个文件名 thistime=get_cur_time();//读取当前时间以追加到文件内容每行的头部以易于追踪 comuid=gui_get_val('ComboBox_Ext_Eba_Id');//获取当前单据的客户之ID if(inp_unit_type_id=='D')//以下所有的判断都是基于记件单位的代码,即进行逐个的枚举记件单位,直到下个说明结束 { resunit='套'; } else if(inp_unit_type_id=='A') { resunit='个'; }; if(resunit!='个')//以上为枚举结束,这里开始判断符合某个条件就作出提示并将结果写入到指定目录的文件中 { resres=comuid+'“'+res_name+'”'+'有'+inp_num+resunit+',请记录'+nl()+nl();//提示内容 msg(resres); //提示显示 res1='echo '+ thistime+' '+comuid+'的“'+res_name+'”有'+inp_num+resunit +' >> "'+get_home_path()+'\散货记录情况\'+today+'.txt"';//写入到指定目录的文件中 system(res1); }; return 1; }; 说明:1,“散货记录情况”目录是手工建立的,而以日期作为文件名则是由脚本自动建立的; 2,如何将客户ID转换成客户名称?请高手完善。如若实现此脚本将完成。 |
|
这是执行结果:
|

官方认证第三方服务团队 徐文标(福建-流浪) QQ:340298101 V&P :177-5046-4787
服务介绍:http://www.onlyit.cn/onlyit_service.html |
|
glf9432 [个人空间]
 注册  2014-02-08 发贴数 1 精华数 0 原创贴 0 来自 状态 正常
级别 会员 |
|
xwb514 [个人空间] QQ名 福建流浪(340298101)
   注册  2010-03-19 发贴数 568 精华贴 7 原创贴 7 来自 状态 正常
级别 会员 |
|
|
这个问题在这里: http://www.onlyit.cn/topic_list_detail?subject_id=56&page_id=1&topic_id=67990&topic_page_id=1 得到解决。 |
|
|

官方认证第三方服务团队 徐文标(福建-流浪) QQ:340298101 V&P :177-5046-4787
服务介绍:http://www.onlyit.cn/onlyit_service.html |
|