2012-03-31 8 views
1

Lotus Notesで@ClientTypeの式で問題が発生しました。この式には、クライアントタイプが表示されます。ロータスヘルプから:Lotusの@ClientType式の動作を制御します

返しクライアントタイプは、Lotus Notesクライアントは、クライアントタイプは、Webブラウザがあれば

@ClientTypeは、データベースの式内で有用である 「ウェブ」を返している場合、フォーム「注意」数式、ボタン のフォーム、および「非表示式」の式。列 の式に@ClientTypeを使用しないでください。 @ClientTypeは、サーバ のバックグラウンドエージェントで実行されると常に "なし"を返します。

私はクライアントのエージェントまたはアクションホットスポットでこのコードを実行する場合は:

x = Evaluate("@ClientType") 
MsgBox x(0) 

結果が「ウェブ」です。

そして、私はnotesDocument.RenderToRTItem(notesRichTextItem)またはnotesDocument.ConvertToMIME(conversionType、オプション)関数を使用する場合は、@ClientType式も評価され、「ウェブ」

これが関連していると、ドキュメントの一部のフィールドので、フォームは、非表示オプションでこの式を使用します。ドキュメントがリッチテキストまたはMIMEにレンダリングされるとき、このフィールドは含まれません。

この式の動作を制御する方法はありますか?私の唯一の他の選択肢は、数式があるときに非表示を変更することですが、私はむしろデータベースの設計をそのままにしておきます。

+1

とLotusScriptのEvaluateコードをクライアントで実行すると、結果は "None"になります。数式コードを直接実行すると、「Notes」が表示されます。だから私はあなたの結果を得ることができません –

+1

私は8.5.3 8.5.3リビジョン20110916.0921を実行しています。フォーム上の計算フィールドの数式を計算すると、「Notes」になります。私は自分のPCを再起動しましたが、評価では「なし」と表示されます。しかし、私は "Notes"を期待しており、この質問で言及された変換はまだ失敗します。 –

+1

すべてのテストをもう一度実行しました。評価 - > "なし"、ConvertToMIME - > "Web"、RenderToRTItem - > "None"。再起動後の動作の変化は怖いですが、少なくとも今は予測できるようです。しかし、すべてがクライアントで実行され、RenderToRTItemは変換に「Notes」を使用すると考えています。 –

答えて

0

計算フィールドで作業していても、エージェントがそのドキュメントハンドルを取得すると、計算フィールドから取得できます。これは、既にヘルプ文書に記載されている列式では機能しません。

0

解決策は、以下のスケジュールされたエージェントから実行され、あなたのdoc.converttomimeコール

コードの後に​​trueにセッションのconvertmimeフラグを変換することであると思われます。 テスト1に戻り '何もない' テスト2を返す 'ウェブ' テスト3に戻り '何もない'

Sub Initialize 
Dim s As New NotesSession 
Dim db As NotesDatabase 
Dim doc As NotesDocument 
Dim vntClientType As Variant 

Set db=s.Currentdatabase 

On Error GoTo ErrorHandling 

vntClientType = Evaluate("@ClientType") 
MessageBox " Test 1 before converttomime " & vntClientType(0) 

Set doc=New NotesDocument(db) 
Call doc.converttomime 

vntClientType = Evaluate("@ClientType") 
MessageBox " Test 2 after converttomime" & vntClientType(0) 

s.convertmime=True 

vntClientType = Evaluate("@ClientType") 
MessageBox " Test 3 after s.convertmime= true" & vntClientType(0) 

Exit Sub 

ErrorHandling:

Error Err, Error & " - " & ", at line " & Erl & { in "} & GetThreadInfo(1) & {"} 

End Subの私は8.5.3 FP1を実行しています

関連する問題