作成者カテゴリ返答の対象
公開
びぃ〜
02/28/2000 04:48 PM
文書リンクアイコン 承認ワークフローでフィールドを入力必須にしたい。
Re:承認ワークフローでフィールドを必須入力に

申請ボタンの内容ですが、相変わらずスクリプトで作ってみました。(式って苦手なんです・・・)

Sub Click(Source As Button)
On Error Goto errorhandle

Dim ws As New notesuiworkspace
Dim uidoc As notesuidocument
Dim doc As notesdocument
Dim tmp

Set uidoc = ws.currentdocument
Set doc = uidoc.document

tmp = doc.getitemvalue("ApprName")
If Instr(tmp(0),"申請時に入力") <> 0 Then
Msgbox "「承認者リスト編集」ボタンを使用して承認者名を入力してください。",64,"title"
Exit Sub
End If

doc.Action = "Submit"
doc.SaveOptions = "1"

Call uidoc.save '@
Call uidoc.close 'A

Exit Sub
errorhandle:
Exit Sub
End Sub

QuerySaveは前と同じです。

どうしてこれで、@Aが回避できるかというと、
まず@で保存が走りますが、その時にQuerySaveに飛びます。
QuerySaveではまず始めにSource.Refreshとしてあるはずです。
その時にInputValidationが評価され、引っかかるとQuerySaveないでエラーが発生してerrorhandleに飛びます。
errorhandle内でcontinue=falseにしてQuerySave終了です。
uidoc.save@でQuerySaveを呼んでcontinue=falseで返ってくるとuidoc.saveの時点でエラーになります。(SaveCancelledというエラー)
そのためここでもerrorhandleに飛んでセーブもクローズもしないで処理が終わります。
と、いう事なんですが、何言ってるか分かり難いですか?

今回の方法はOtaさんのアイデアをパくって参考にして作っています。
本当にすごいのはOtaさんですね(私はこのアイデアは思い付きませんでした)

プログラムは技術力ではなく発想力だと思っています。
個人的な意見ですが・・・


[Previous Main Document]
承認ワークフローでフィールドを入力必須にしたい。 (さと)
. . Re: 承認ワークフローでフィールドを入力必須にしたい。 (Ota)
. . . . Re: 承認ワークフローでフィールドを入力必須にしたい。 (びぃ〜)
. . . . . . Re: 承認ワークフローでフィールドを入力必須にしたい。 (Ota)
. . . . . . . . 回答ありがとうございます。 (さと)
. . . . . . . . . . すみません。。 (さと)
. . . . . . . . . . . . Re:承認ワークフローでフィールドを必須入力に (びぃ〜)
. . . . . . . . . . . . . . Re:承認ワークフローでフィールドを必須入力に (さと)
. . . . . . . . . . . . . . . . Re:承認ワークフローでフィールドを必須入力に (びぃ〜) * 現在地 *
. . . . . . . . . . . . . . . . . . Re:承認ワークフローでフィールドを入力必須にしたい。 (Ota)
. . . . . . . . . . . . . . . . . . . . Re:承認ワークフローでフィールドを入力必須にしたい。 (さと)
. . . . . . . . . . . . . . . . . . . . . . Re:承認ワークフローでフィールドを入力必須にしたい。 (さと)
. . . . . . . . . . . . . . . . . . . . 承認WF入力チェックその後 (saho)
[Next Main Document]