提交后允许编辑
提交后允许编辑 是一个 DocField 属性,它允许字段在文档提交后仍可编辑。已提交的文档通常会被锁定以保护审计跟踪。仅当字段可以安全更改,且不会改变已提交文档的含义、价值、状态或分类账影响时,才应使用此选项。
何时使用“提交后允许编辑”
为那些在提交后记录附加信息,但不影响验证、总计、库存、会计、工作流决策或外部承诺的字段启用此属性。
- 提交后收到的参考编号
- 备注、说明或内部评论
- 跟踪详情或发货信息
- 仅用于打印的标签或操作元数据
何时不应使用
不要为影响业务逻辑或已提交文档的财务、库存或合规含义的字段启用“提交后允许编辑”。如果更改某个字段应改变交易,则应取消并修改文档,而不是直接编辑。
- 金额、数量、费率、税费、折扣或总计
- 往来单位、公司、过账日期、仓库、项目、科目或货币字段
- 用于工作流、集成、报告或验证的状态字段
- 任何用于创建分类账分录或库存分类账分录的字段
使用“自定义表单”启用“提交后允许编辑”
- 转到 自定义表单。
- 选择需要在提交后保持可编辑状态的 DocType。
表单构建器将打开并显示所选 DocType 的字段。在此示例中,选择了 待办事项 DocType。
- 在字段表中,选择提交后应保持可编辑状态的字段。
- 在字段属性中,启用 提交后允许编辑。
- 点击 更新 以保存自定义设置。
使用属性搜索可以快速找到 提交后允许编辑,尤其是在字段具有许多属性时。
验证行为
- 打开您自定义的 DocType 的一个已提交文档。
- 确认只有预期的字段可编辑。
- 更改字段值并保存文档。
- 检查总计、分类账分录、工作流状态以及其他已提交的值是否未发生变化。
推荐做法
在启用“提交后允许编辑”之前,请检查该字段是否在控制器方法、自定义脚本、报告、打印格式、工作流、集成或权限逻辑中使用。如果该字段在任何地方用于计算或决定重要事项,请在提交后保持其锁定状态。
对于自定义应用程序,还应审查服务器端验证。允许在已提交的文档上编辑字段并不会自动使所有相关的业务规则变得安全。请在需要的地方添加验证,以便只允许预期的提交后更新。
故障排除
启用“提交后允许编辑”后,字段仍为只读
重新加载表单,并检查该字段是否也受只读依赖项、角色权限、工作流状态、自定义脚本或服务器端逻辑的控制。
表单上的值已更改,但无法保存
检查该 DocType 的自定义验证和控制器钩子。服务器端验证可能仍会阻止对已提交文档的更新。
该字段应影响交易
不要使用“提交后允许编辑”。请取消并修改已提交的文档,以便更正后的交易具有清晰的审计跟踪。