天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
查看: 2524|回复: 3

[表单控件] 功能示例中自动生成发货单的问题

[复制链接]
rick_pei 发表于 2011-4-20 02:27:05 | 显示全部楼层 |阅读模式
技术大大,您好!我在学用平台功能示例中自动生成发货单的功能时,遇到这个问题您看怎么办啊!
我是想用我的销售单自动生成对应的出库单,我完全按照功能示例里的操作,流程也可以执行完,可除了出库时间传过去了意外,其他字段的数据都没过去,而且子表的也没过去,我看了看前段,很多如图的提示是什么意思啊 未标题-2.png ,另外,我的表里的很多字段都是用下拉框从其他表里取值然后选择的,而且我看这些提示好像似乎都和取值有关系,是不是功能示例里的方法不支持很多个下拉框字段的表自动生成记录啊,求解,谢谢技术大大了
shary 发表于 2011-4-20 09:00:40 | 显示全部楼层
您好,你截图标识部分是根据字段“商品名称”查询。下拉列表框是可以将数据带过去的。您仔细检查下您的相关脚本和配置。谢谢!!!
 楼主| rick_pei 发表于 2011-4-20 17:28:53 | 显示全部楼层
回复 2# shary


    技术大大,您看我这段脚本有什么问题么,为什么可行生产出库单,但发货单里的数据没有呢
var doc = getCurrentDocument();
var applicationid = getApplication();
var process = getDocProcess(getApplication());
var params = new Packages.cn.myapps.base.action.ParamsTable();
var user = getWebUser();
var today = getCurDate("yyyy-MM-dd");
var day = parseDate(today,"yyyy-MM-dd");

if(doc  != null){
$PRINTER.println("-----------------------创建主表记录---------");
       var fmprocess = createProcess("cn.myapps.core.dynaform.form.ejb.FormProcess");
       var form = fmprocess.doViewByFormName("销售出库",applicationid);
       var new_doc = process.doNew(form,user,params);
$PRINTER.println("-----------------------创建完主文档记录---------");
        new_doc.setIstmp(false);
        new_doc.setApplicationid(getApplication());
        new_doc.setDomainid(user.getDomainid());          
        new_doc.addStringItem("单据编号",doc.getItemValueAsString("单据编号"));
   new_doc.addStringItem("客户姓名",doc.getItemValueAsString("客户姓名"));
        new_doc.addDateItem("购买日期",day);
        new_doc.addStringItem("购买方式",doc.getItemValueAsString("购买方式"));
        new_doc.addStringItem("客户状态",doc.getItemValueAsString("客户状态"));
        new_doc.addStringItem("是否开发票",doc.getItemValueAsString("是否开发票"));
        new_doc.addStringItem("发票抬头",doc.getItemValueAsString("发票抬头"));
        new_doc.addStringItem("税号",doc.getItemValueAsString("税号"));
        new_doc.addStringItem("开票部门",doc.getItemValueAsString("开票部门"));
        new_doc.addStringItem("发票寄送地址",doc.getItemValueAsString("发票寄送地址"));
   new_doc.addStringItem("开票负责人",doc.getItemValueAsString("开票负责人"));
   new_doc.addStringItem("总金额",doc.getItemValueAsString("总金额"));
   new_doc.addStringItem("销售折扣",doc.getItemValueAsString("销售折扣"));
   new_doc.addStringItem("付款状态",doc.getItemValueAsString("付款状态"));
   new_doc.addStringItem("付款方式",doc.getItemValueAsString("付款方式"));
   new_doc.addStringItem("应付总金额",doc.getItemValueAsString("应付总金额"));
    new_doc.addStringItem("实付金额",doc.getItemValueAsString("实付金额"));
   new_doc.addStringItem("未付款金额",doc.getItemValueAsString("未付款金额"));
    new_doc.addStringItem("其他优惠",doc.getItemValueAsString("其他优惠"));
   new_doc.addStringItem("建议服用方法",doc.getItemValueAsString("建议服用方法"));
    new_doc.addStringItem("其他说明",doc.getItemValueAsString("其他说明"));
    new_doc.addStringItem("销售员",doc.getItemValueAsString("销售员"));
    new_doc.addStringItem("部门",doc.getItemValueAsString("部门"));
    new_doc.addStringItem("出库仓库",doc.getItemValueAsString("出库仓库"));
    new_doc.addStringItem("预计下次购买日期",doc.getItemValueAsString("预计下次购买日期"));
$PRINTER.println("-----------------------主文档记录值更新完成---------");
        process.doCreate(new_doc);
        
        var dql="$formname='销售开单子表' and $parent.$id='"+doc.getId()+"'";
        var subs = queryByDQL(dql);
        if(subs !=null || subs.size()>0){
         for(var iter = subs.iterator(); iter.hasNext();){
           var subdoc = iter.next();
           var subform = fmprocess.doViewByFormName("销售出库子表",applicationid);
           var new_subdoc = process.doNew(subform,user,params);
           new_subdoc.setApplicationid(getApplication());
           new_subdoc.setDomainid(user.getDomainid());
           new_subdoc.setIstmp(false);
     new_subdoc.setParent(new_doc.getId());  //设定父文档ID
     new_subdoc.addStringItem("商品名称",subdoc.getItemValueAsString('商品名称'));
     new_subdoc.addStringItem("购买数量",subdoc.getItemValueAsString('购买数量'));
           new_subdoc.addStringItem("单位",subdoc.getItemValueAsString('单位'));
           new_subdoc.addStringItem("单价",subdoc.getItemValueAsString('单价'));
           new_subdoc.addStringItem("小计",subdoc.getItemValueAsString('小计'));
               process.doCreate(new_subdoc);
          }
       }   
}
shary 发表于 2011-4-20 17:58:55 | 显示全部楼层
您好,看这段代码的逻辑好像没什么错误,您可以用打印语句获知debug调试一下具体是在哪句出问题了。。有问题再沟通。

本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-12 11:40

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表