UIページのクライアントスクリプトで要求アイテムに入力された値を保存する方法

kamo1
Tera Contributor

現在、UIページで作成したモーダルに入力されたコメントを保存する処理していますが、

要求アイテムだと、g_form.save()がうまく動きません。

カスタムテーブルだと動きます。

これについて原因が分かる方がいればよろしくお願いいたします。

お先にありがとうございます。

2 REPLIES 2

iwai
Giga Sage

こちらで単純な動作確認をしてみたところ、正しく動作してコメントの登録はできました。
(一般のsc_req_item.doのForm画面のUI Action 内でGlideModal()を使ってUIページのModalDialogを表示。UIページ内のClientScriptでCommentをg_form.setValue("comments", testComment)で登録、g_form.save()で保存処理に進む。結果RecordのActivityCommentに新しいCommentが追加される)

要求アイテムでは動作せず、カスタムテーブルで動作するならば、要求アイテムにしかない処理が不具合の原因であると思います。

g_form.save()の後に動作する処理として考えられるのは、

* Client Script Submitの onSubmitでキャンセルしている、値を上書きしている。

* Business Ruleでキャンセルしている、値を上書きしている。

* ACLで書き込み禁止している。

原因を探るには、Business Rule(When before,Order 0)を追加して、Commentの値をログ出力する。
そこまでは正しい値が格納してあるか確認する。

* この時点で正しい値が格納してあるなら、その後に動作するBusinessRuleが原因。

* Business Ruleに到達していないならACLかonSubmitで阻止している。

* Commentの値が書き換わっているなら、UI ActionかonSubmitで値を書き換えている。

このように切り分けできそうです。

kamo1
Tera Contributor

返信遅くなり申し訳ありません。

Server側で動いていたものがあったので、恐らくはそちらに邪魔をされていたのではないかと思います。

影響を確認してgsftsubmitで処理を一本化すれば特に問題なく実行することができました。

アドバイスありがとうございました。