0

对于如下所示的自定义,在编辑行项目时,永远不会触发有效性,并且不会显示其错误消息。我什至可以通过按“确定”按钮(并因此保存更改)从行项目退出到申请标题的编辑应该阻止的内容。

<inClass name="ariba.purchasing.core.ReqLineItem">
    <inField name="SupplierPartNumber">
        <validity combine="and">
            <context enclosingDocument="ariba.purchasing.core.Requisition"/>
            <condition expression="false">
                <parameter name="Message" value="Temporarily, this validity is always NOT valid."/>
            </condition>
        </validity>
    </inField>
</inClass>

但是,当我按下提交按钮或显示批准流程按钮时,预期的错误消息会显示在标题级别。

如何使有效性在行项目上正常工作?

4

1 回答 1

0

而是在值源处设置有效性条件。

ReqLineItem.SupplierPartNumber实际上是LineItemDescription.SupplierPartNumber. 尽管可以单独控制其可见性和可编辑性条件,但其有效性条件是从原始字段转移而来的。这是合乎逻辑的,因为当内容通过别名共享时,它仍然必须保持相同的有效性规则。

答案:

  • 在原始字段实现有效性条件LineItemDescription.SupplierPartNumber,它也适用于它的别名
  • 不要在 aliased 处使用有效性条件ReqLineItem.SupplierPartNumber。该用法在技术上是可行的,不会出现错误,但实际上会导致上述一些意外行为。
于 2018-05-30T23:26:03.937 回答