Acumatica 为什么PXUIField属性会禁用处理页面上的文本编辑框?

Acumatica 为什么PXUIField属性会禁用处理页面上的文本编辑框?,acumatica,Acumatica,我正在尝试设置一个处理页面,该页面将使用PXFilteredProcessing页面上输入的新数据更新SOShipping文档行。声明PXString虚拟字段时,如果添加PXUIfield属性,则该字段将变为只读 下面是DAC声明,说明了实际问题。我使用的页面是一个简单的PXFilteredProcessing页面,其中包含一个在Visual Studio中创建的完全自定义页面 斯托克罗地区 公共抽象类stockRow:IBqlField{} [字符串] [PXUIFieldEnabled=tr

我正在尝试设置一个处理页面,该页面将使用PXFilteredProcessing页面上输入的新数据更新SOShipping文档行。声明PXString虚拟字段时,如果添加PXUIfield属性,则该字段将变为只读

下面是DAC声明,说明了实际问题。我使用的页面是一个简单的PXFilteredProcessing页面,其中包含一个在Visual Studio中创建的完全自定义页面

斯托克罗地区 公共抽象类stockRow:IBqlField{} [字符串] [PXUIFieldEnabled=true] 公共虚拟字符串StockRow{get;set;} 端区 区旗 公共抽象类stockFlag:IBqlField{} [字符串] 公共虚拟字符串StockFlag{get;set;} 端区 该页面的字段定义如下:

PXUIField真的应该使该字段成为只读的吗,还是有我没有得到的东西

PS:我知道我可以重新启用选定行上的字段,甚至,我主要是想解释为什么会发生这种情况

如果添加PXUIfield属性,该字段将变为只读

您确定这是使字段只读的操作吗

除所选列外,通常禁用所有处理屏幕详细信息字段。我相信这是使用PXProcessing类型数据视图引入的行为。违背这种行为很可能不会产生预期的结果


如果屏幕需要除所选列之外的可编辑详细信息字段,我建议不要创建处理屏幕。改为使用PXSelect数据视图将为可编辑字段提供正确的行为。

如答案所示,这是默认情况下处理图的工作方式。所有字段也应该有一个PXUIField。您可以在处理前启用“选定行”中提到的字段以更新某些值。这也没什么错。这是导致字段不可编辑的触发器。如果我只声明PXString,PXProcessing屏幕仍然允许我编辑StockFlag字段。添加PXUIField属性将禁用此行为。它易于测试和复制。最后可能是一个bug,但这就是我注意到的。如果没有PXUIField属性,它真的是StockFlag字段吗?网格列中是否有字段标签?它是否正确加载和保存值?正如Brendan提到的,对于UI使用,“所有字段也应该有一个PXUIField”。如果没有它,网格单元可以编辑,但也不能绑定到目标字段。是的,它可以加载,是的,您可以编辑它,到目前为止,字段的处理工作正常。。当然,它不会显示格式化标签,因为我们没有声明任何标签,但它会显示字段名。网格中字段的屏幕截图:运行时值的屏幕截图:我知道这是必需的,我只是质疑系统在后台到底在做什么处理视图可能只检查具有PXUIField属性的字段。UI上的字段不应缺少该元素,因此结果或多或少是未定义的行为。我仍然建议不要忽略这个属性。