沐风漾 2025-04-09 15:06 采纳率: 0%
浏览 9

泛微E8移动建模 新增明细表单行如何计算

img


泛微E8的移动建模 这个是移动建模的明细表 点击新增时候单条数据的页面,
为什么获取到 红色的 输入框的数值,也从后台取到到了蓝色框对应的数值了,
赋值 后点击量确定 只有人工 输入红色框的数据保存到后台数据库了,赋值的数据没有保存到明细表?

  • 写回答

2条回答 默认 最新

  • 宝码香车 优质创作者: JavaScript技术领域 2025-04-09 23:42
    关注

    让【宝码香车】来帮你解答,本回答参考DeepSeek编写,并整理提供。
    如果还有疑问可以点击头像关注私信或评论。如果答案让您满意,请采纳、点赞、关注,非常感谢!

    泛微E8移动建模明细表单行计算问题解决方案

    根据您描述的问题,在泛微E8移动建模中,明细表新增行时手动输入的数据可以保存,但通过赋值操作的数据无法保存到数据库。这是一个常见的问题,通常与数据绑定和表单提交机制有关。

    可能的原因

    1. 赋值方式不正确:可能只是在前端显示上赋值,没有真正绑定到表单数据模型
    2. 字段未设置为可提交:赋值的字段可能没有包含在表单的提交字段中
    3. 事件触发顺序问题:赋值操作可能在表单提交之后执行

    解决方案

    方法一:使用正确的赋值方式

    // 正确的赋值方式示例
    var detailTable = document.getElementById("明细表ID");
    var newRow = detailTable.addRow(); // 添加新行
    
    // 设置值(确保使用表单API而不是直接DOM操作)
    WfForm.setFieldValue("明细表.字段名", "值", newRow.index);
    

    方法二:确保字段可提交

    1. 检查移动建模中该明细表的字段属性
    2. 确保赋值的字段不是"只读"或"隐藏"状态
    3. 在表单提交前验证数据是否已正确绑定

    方法三:使用表单提交前事件

    // 在表单提交前确保数据已赋值
    WfForm.bind("beforeSubmit", function(){
        // 获取明细表数据
        var detailData = WfForm.getDetailTableData("明细表名");
        
        // 遍历并确保所有行数据完整
        for(var i=0; i<detailData.length; i++){
            if(!detailData[i].字段名){
                // 如果字段为空,设置默认值
                WfForm.setFieldValue("明细表.字段名", "默认值", i);
            }
        }
        return true;
    });
    

    调试建议

    1. 在赋值后使用以下代码检查数据是否已正确绑定:

      console.log(WfForm.getDetailTableData("明细表名"));
      
    2. 检查浏览器控制台是否有错误信息

    3. 确保所有操作都在表单加载完成后执行:

      WfForm.bind("load", function(){
       // 您的赋值代码放在这里
      });
      

    如果以上方法仍不能解决问题,可能需要检查泛微E8的特定API文档或联系泛微技术支持,因为不同版本的E8可能在明细表处理上有细微差异。

    评论

报告相同问题?

问题事件

  • 创建了问题 4月9日