Почему условие достоверности игнорируется в 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, Использование технически возможно без получения ошибки, но фактически приводит к несколько неожиданному поведению, описанному выше.
Другие вопросы по тегам