Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Acumatica 在发布状态下在传输屏幕(IN304000)中启用自定义项_Acumatica_Acumatica Kb - Fatal编程技术网

Acumatica 在发布状态下在传输屏幕(IN304000)中启用自定义项

Acumatica 在发布状态下在传输屏幕(IN304000)中启用自定义项,acumatica,acumatica-kb,Acumatica,Acumatica Kb,我试图在发布状态下在传输屏幕中启用自定义项,但未启用自定义项。 谁能在这个问题上帮助我。我也调试了代码,在调试过程中,代码被执行了,但结果在屏幕上没有任何效果。我还可以看到光标在该字段上闪烁。提前谢谢。以下是我的代码: namespace PX.Objects.IN { public class INTransferEntry_Extension : PXGraphExtension<INTransferEntry> { #region Event H

我试图在发布状态下在传输屏幕中启用自定义项,但未启用自定义项。 谁能在这个问题上帮助我。我也调试了代码,在调试过程中,代码被执行了,但结果在屏幕上没有任何效果。我还可以看到光标在该字段上闪烁。提前谢谢。以下是我的代码:

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
  }
}
名称空间PX.Objects.IN
{
公共类内部引用扩展:pxGrapherExtension
{
#区域事件处理程序
已选择注册表中受保护的无效项(PXCache缓存、PXRowSelectedEventArgs e)
{           
如果(e.Row==null)
{
返回;
}
bool应该禁用=((在注册表中)e.Row.Hold==false&((在注册表中)e.Row.Released==true;
如果(应禁用)
{
PXUIFieldAttribute.SetEnabled(缓存,如行,true);
}
}
#端区
}
}
DAC场
命名空间PX.Objects.IN
{
RegisterText中的公共类:PXCacheExtension
{
#区域USREX预燃日期
[PXDBDate]
[PXUIField(DisplayName=“预期返回日期”)]
公共虚拟日期时间?usrexperturndate{get;set;}
公共抽象类usrexperturndate:PX.Data.BQL.BqlDateTime.Field{}
#端区
}
}

文档处于已发布状态。当文档处于关闭状态时,存在防止字段编辑的机制。在这种情况下,不建议启用字段

要启用字段,需要还原阻止编辑的机制。通常使用数据视图的
AllowUpdate
属性来执行此操作,但也可以是自动化步骤或工作流系统

重新启用AllowUpdate时,需要禁用并重新启用以下字段:

Base.transfer.AllowUpdate = true;
PXUIFieldAttribute.SetEnabled(sender, e.Row, false);
PXUIFieldAttribute.SetEnabled<INRegisterExt.usrExpReturnDate>(cache, e.Row, true);
Base.transfer.AllowUpdate=true;
PXUIFieldAttribute.SetEnabled(发送方,例如行,false);
PXUIFieldAttribute.SetEnabled(缓存,如行,true);

Hi Hugues,再次感谢,现在工作正常。但是我对某些事情感到困惑,我提供的代码允许我在AR301000屏幕中启用或禁用UDF,为什么不在这个IN304000屏幕中呢?为什么我需要为IN30400屏幕将dataview的AllowUpdate属性设置为true。请您对此主题提出一些建议。这是因为IN304000屏幕的图形在文档处于已发布状态时设置AllowUpdate=false,以防止字段值修改。禁用所有字段时,通常使用AllowUpdate或自动化步骤/工作流系统完成。您需要将其还原以允许再次编辑,但请注意,不建议这样做。当文档关闭时,它们不应该被编辑。谢谢你的评论。谢谢。现在我明白了