Почему условие достоверности игнорируется в ReqLineItem.SupplierPartNumber? - PullRequest
0 голосов
/ 31 мая 2018

Для настройки, показанной ниже, при редактировании позиции срок действия никогда не срабатывает, а сообщение об ошибке не отображается.Я даже могу вернуться от позиции к редактированию заголовка заявки, нажав кнопку OK (и, таким образом, сохранив изменения), что должно быть заблокировано.

<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 Ответ

0 голосов
/ 31 мая 2018

Вместо этого установите условие достоверности в источнике значений.

ReqLineItem.SupplierPartNumber фактически является псевдонимом для LineItemDescription.SupplierPartNumber.Хотя его условия видимости и возможности редактирования можно контролировать отдельно, его условие действительности переносится из исходного поля.Это логично, потому что, когда содержимое совместно используется через псевдоним, оно все равно должно сохранять те же правила действительности.

Ответ:

  • реализуют условие действительности в исходном поле LineItemDescription.SupplierPartNumber, он также применяется к псевдонимам
  • , не использующим условие достоверности для псевдонима ReqLineItem.SupplierPartNumber.Использование технически возможно без получения ошибки, но фактически приводит к несколько неожиданному поведению, описанному выше.
...