acumatica - 在发布状态的传输屏幕 (IN304000) 中启用 UDF
问题描述
我正在尝试在发布状态的传输屏幕中启用 UDF,但未启用 UDF。任何人都可以在这个问题上帮助我。我也调试了代码,在调试时,代码正在执行,但结果对屏幕没有任何影响。我也可以看到光标在该字段上闪烁。提前致谢。以下是我的代码:
namespace PX.Objects.IN
{
public class INTransferEntry_Extension : PXGraphExtension<INTransferEntry>
{
#region Event Handlers
protected void INRegister_RowSelected(PXCache cache, PXRowSelectedEventArgs e)
{
if (e.Row == null)
{
return;
}
bool shouldDisable = ((INRegister)e.Row).Hold == false && ((INRegister)e.Row).Released == true;
if (shouldDisable)
{
PXUIFieldAttribute.SetEnabled<INRegisterExt.usrExpReturnDate>(cache, e.Row, true);
}
}
#endregion
}
}
DAC FIELD
namespace PX.Objects.IN
{
public class INRegisterExt : PXCacheExtension<PX.Objects.IN.INRegister>
{
#region UsrExpReturnDate
[PXDBDate]
[PXUIField(DisplayName="Expected Return Date")]
public virtual DateTime? UsrExpReturnDate { get; set; }
public abstract class usrExpReturnDate : PX.Data.BQL.BqlDateTime.Field<usrExpReturnDate> { }
#endregion
}
}
解决方案
文档处于已发布状态。当文档处于关闭状态时,有一些机制可以防止字段编辑。在这种情况下不建议启用字段。
要启用字段,您需要恢复阻止编辑的机制。它通常AllowUpdate
是用于执行此操作的数据视图的属性,但它也可以是自动化步骤或工作流系统。
重新启用 AllowUpdate 时,您需要禁用并重新启用这些字段:
Base.transfer.AllowUpdate = true;
PXUIFieldAttribute.SetEnabled(sender, e.Row, false);
PXUIFieldAttribute.SetEnabled<INRegisterExt.usrExpReturnDate>(cache, e.Row, true);
推荐阅读
- multithreading - 达到超时时终止进程并在 Rust 中处理输出
- angular - Angular中的for-of循环
- google-sheets - 谷歌表格查询总和返回不需要的文本
- static-analysis - 合并静态分析器报告
- c# - 在 C# Winform 应用程序中我的 dGV 中存在货币格式列计算问题
- r - 你能把它翻译成ggplot吗?
- sql - 编写涉及复杂类型的 Spark-SQL 查询
- firebase - Firebase 测试实验室显示有关超出配额的消息
- flutter - 在表单小部件中放置扩展的位置
- javascript - 如何清除Javascript中某个位位置以上的所有位