Почему условие достоверности игнорируется в ReqLineItem.SupplierPartNumber?
Для настройки, показанной ниже, при редактировании позиции срок действия никогда не срабатывает, и его сообщение об ошибке не отображается. Я даже могу вернуться от позиции к редактированию заголовка заявки, нажав кнопку ОК (и, таким образом, сохранив изменения), что должно быть заблокировано.
<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>
Однако ожидаемое сообщение об ошибке отображается на уровне заголовка, когда я нажимаю кнопку " Отправить" или кнопку " Показать поток одобрения".
Как я могу сделать так, чтобы валидность нормально работала с позицией?
1 ответ
Вместо этого установите условие достоверности в источнике значений.
ReqLineItem.SupplierPartNumber
на самом деле псевдоним для LineItemDescription.SupplierPartNumber
, Хотя его условия видимости и возможности редактирования могут контролироваться отдельно, его условие достоверности переносится из исходного поля. Это логично, потому что, когда контент используется совместно с псевдонимом, он все равно должен соблюдать те же правила действительности.
Ответ:
- реализовать условие действительности в исходном поле
LineItemDescription.SupplierPartNumber
также относится к псевдонимам - не использовать условие действительности при псевдониме
ReqLineItem.SupplierPartNumber
, Использование технически возможно без получения ошибки, но фактически приводит к несколько неожиданному поведению, описанному выше.