0

からエラー テキストを返すにはどうすればよい@Dblookupですか? エラーを返していると思われる同様のルックアップがあるため、ルックアップ エラーが発生したときに表示されるパネルが必要です。

私は持っている:

var dbpath = @DbLookup("","Setup","Setup","EIDBServerFilename");
var tmp = @DbLookup(dbpath,"FullName",@Name("[ABBREVIATE]" ,getComponent("inputTextEmpName").getValue()),"HRLogonID");
@If(@IsError(tmp),"Error= "  + @Text(tmp),"");

しかし、エラー テキストのない "Error= " だけが表示されます。

を削除する@Textと、「Error = undefined」が表示されます。

エラーの場合、エラー メッセージを取得するにはどうすればよいですか?

私は両方@IsError@Dblookupヘルプを調べましたが、いつものようにヘルプは恐ろしく@Dblookup、エラーを返す可能性やそれについて何をすべきかについても言及していません.

4

1 に答える 1

0

SSJS の @DbLookup からのエラーは内部的にキャッチされ、返されません。

これは、session.evaluateを介して実現されるためであり、 session.evaluateで@DbLookup を不適切にすると、完全な評価が失敗し、@DbLookup のエラー メッセージが表示されないためです。

悪い @DbLookup の場合、nullが返されます。これが @IsError: tmp is nullでテストしているものです。これが、文字列にundefinedを取得する理由です。

未定義の値で@Text を作成すると、空の文字列が返されます。

お役に立てれば

スヴェン

編集:

評価ステートメントでコードを実行すると、エラー メッセージを取得できます。フェこれ

session.evaluate('lookup:=@DbLookup("";"";"X";"1";1);@if(@isError(lookup);@Text(lookup);lookup)')

エラーメッセージを返します。

于 2012-06-26T05:59:19.007 に答える