0

私はOracleApExv4.1をダイナミックアクションと一緒に使用しています。ダイナミックアクションは基本的にjavascript関数を呼び出し、次にオンデマンドプロセスを呼び出してデータをデータベースに保存します。

少し背景を説明しますが、ユーザーが[保存]ボタンまたは[次へ]ボタンを押すと、jQueryを使用して各要素とその値をスキャンします。これにより、これらの要素と値が上記に渡されます。需要プロセス。

私の質問/問題は、プロセスに渡されたデータが欠落していることがあるようですが、その理由はわかりません。おそらく、動的アクションでape.submit('SUBMIT')とape.submit('SUBMIT')の両方を実行していると思いました。オンデマンドプロセスへのJavaScript関数呼び出し。

これらの呼び出しの1つを遅らせる必要がありますか。現時点では、なぜそれが機能するのか、それ以外の場合は機能しないのかわかりません。

コードのレイアウト方法に関するアイデア、つまり

apex.submit('SUBMIT');
saveTheData();    <-- calls my ondemand process to save data to database
4

1 に答える 1

2

まず、先ほどの質問に少し戻りましょう。そして、あなたがここで正確に何をしているのか。それは非常に不必要に思えます!

とにかくページを送信するときに、アイテムの値をjQueryで収集してセッション状態に送信する理由は何ですか? 次/前/適用ボタンを使用してページが送信されると、アイテムの値はセッション状態になり、プロセスで使用できます。

apex.submit を使用してページを送信しています。これにより、ページが送信され、すべてのアイテムの値がセッション ステートに設定されます。オンデマンド プロセスを呼び出す JavaScript 関数を実行し、プロセスに値を提供します。これらの値はページ アイテムの値であるため、実際にはオンデマンド プロセスでセッション状態を設定しているだけです。正直なところ、あなたは本当に奇抜なデザインをしているようです!

なぜ機能する場合と機能しない場合があるのか​​についてはapex.submit、ページを送信します。のように、すぐに。ページが処理される前にコードを実行する必要がある場合は、送信前に実行してください。オンデマンド プロセスの呼び出し方法 (非同期または同期) と、成功関数に何かを実行させるかどうかによっては、行を切り替えても機能しない可能性があることに注意してください。呼び出しが非同期の場合、送信が完了する前に成功関数が処理されない可能性があります。

于 2013-03-18T13:53:54.310 に答える