Как запросить значение в отчетах Crystal, а затем переопределить данные поля БД, если введено значение?ошибка получения номера при попытке - PullRequest
0 голосов
/ 05 июля 2019

Я изменяю существующий отчет Crystal, который отображает поле netamount из базы данных.Я пытаюсь сделать так, чтобы в отчете пользователю предлагалось переопределить результат netamount.Если они не заполняют это поле приглашения, используйте netamount из БД.Я попробовал это, и я получаю не получаю ошибку в поле формулы.Также я не получаю поле подсказки для ввода переопределенного текста.Не уверен, что мне не хватает.Я получаю ошибку числа, когда пытаюсь запустить отчет, и он ссылается на мои кавычки в операторе IF.

Сначала я создал новый параметр редактирования с именем netammount_override.Во-вторых, я сделал формулу с именем select_netamount, см. Код ниже.В-третьих, я разместил формулу на странице отчета.

IF {?netamount_override} >""
THEN {DBTABLENAME.NETAMOUNT}
ELSE {?netamount_override}

Не уверен, почему я не вижу этот элемент для отображения на экране подсказки.Я получаю ошибку номера, хотя при запуске отчета.Поле является числом.Я позаботился о том, чтобы в мастерской формул также были указаны значения по умолчанию для нулей.

Любые советы приветствуются

1 Ответ

0 голосов
/ 05 июля 2019

Crystal Report использует функцию HasValue() для проверки значения параметра или поля.Таким образом, вы можете переписать формулу следующим образом:

IF HasValue({?netamount_override})
THEN {?netamount_override}
ELSE {DBTABLENAME.NETAMOUNT}

Это позволит вашей формуле проверить, имеет ли значение поле необязательного параметра, и определить, использовать ли поле базы данных или параметр на основе результата.

Любая попытка использовать необязательный параметр, которому не было присвоено значение вне функции HasValue(), обычно приводит к сообщению об ошибке «Параметр не имеет значения», и я подозреваю, что это была ваша ошибкаполучение.

...