LotusNotesな日々IBM社のLotusNotesに関係する何かを日々語ってるようなきがしないでもないブログです。 

このページの記事目次 ( ← 2013年02月 → )

スポンサーサイト

   ↑  --/--/-- (--)  カテゴリー: スポンサー広告
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

(記事編集) http://mesosune.blog123.fc2.com/?overture" target="_new

--/--/-- | Comment (-) | HOME | ↑ ページ先頭へ |

【XPages】エージェントを実行する

   ↑  2013/02/26 (火)  カテゴリー: Notes(xPages)
■エージェントの実行

XPagesではエージェントは素直に画面上の処理ができないため、
一度文書を保存した後、

var NotesAgent=database.getAgent("AgentName");
NotesAgent.run(NotesID);
NotesAgent.runWithDocumentContext(NotesDocument,NotesID);

など、サーバーサイドJavaScriptを使って
NotesID、NotesDocumentをエージェントに渡し、

受け取るエージェント側は、
・NotesID
(java)Agent.getParameterDocID()
(LS)NotesAgent.ParameterDocID

・NotesDocument
(Java)AgentContext.getDocumentContext()
(LS)NotesSession.DocumentContext

で受け取り
処理を実行します。

ちなみにNotesIDではなく適当な値を渡し、
その値に伴う処理を行わせることができるという裏道な使い方もありますが、
セキュリティ的にあまり使用はお勧めできません。
スポンサーサイト

(記事編集) http://mesosune.blog123.fc2.com/blog-entry-431.html

2013/02/26 | Comment (0) | Trackback (0) | HOME | ↑ ページ先頭へ |

【XPages】サーバサイドJavaScriptで値を確認する

   ↑  2013/02/25 (月)  カテゴリー: Notes(xPages)
■サーバサイドJavaScriptで値を確認する

サーバサイドはalert()は使用できないため、
デバック時にどのように確認したら良いか、となります。

printを使用してサーバコンソールにメッセージを表示するという方法もありますが、
手ごろなラベルに値(String)が入るようにする方が
場合によっては手軽かもしれません。

getComponent("fieldname")setValue(String);

(記事編集) http://mesosune.blog123.fc2.com/blog-entry-430.html

2013/02/25 | Comment (0) | Trackback (0) | HOME | ↑ ページ先頭へ |

【Xpages】フィールドの値を複数値にする

   ↑  2013/02/24 (日)  カテゴリー: Notes(xPages)
■フィールドの値を複数値にする

[すべてのプロパティ]-[multipleSeparator]にカンマなど区切り文字を入力する

(記事編集) http://mesosune.blog123.fc2.com/blog-entry-429.html

2013/02/24 | Comment (0) | Trackback (0) | HOME | ↑ ページ先頭へ |

【XPages】値の型変換

   ↑  2013/02/23 (土)  カテゴリー: Notes(xPages)
他の言語と比べるといい加減だった型変換も
しっかりやらないといけなくなりました。

Javaの型変換を使用するのもいいのですが、
@式でやったほうが文が短くてすむ場合も。
暗黙的な変換も存在しますが明示的な変換を何種類か。

(記事編集) http://mesosune.blog123.fc2.com/blog-entry-428.html

2013/02/23 | Comment (0) | Trackback (0) | HOME | ↑ ページ先頭へ |

【XPages】プロフィール文書

   ↑  2013/02/22 (金)  カテゴリー: Notes(xPages)
■プロフィール文書の取得

var profDoc:NotesDocument = database.getProfileDocument("profiledoc","");
profDoc.getItemValue("inputbox1")[0];
profDoc.getFirstItem("inputbox1").toText();

(記事編集) http://mesosune.blog123.fc2.com/blog-entry-427.html

2013/02/22 | Comment (0) | Trackback (0) | HOME | ↑ ページ先頭へ |

【xPages】入力チェックについて - 2

   ↑  2013/02/21 (木)  カテゴリー: Notes(xPages)
昨日に続き、入力チェックの話。
今回はクライアントサイド側の書き方でいきたいと思います。
※もっと簡単にかけるのですが、入門編というべき書き方を意図的にします。

document.getElementById("#{id:fieldname}").value
では取得できない入力チェックの処理についてきちんとかいてみます。

◎チェックボックスまたはラジオボタン
var obj = document.getElementById("#{id:fieldname}")
var flag = 0;
if(obj.length){
for(var i=0 ; i < obj.length ; i++ ){ if(obj[i].checked){ flag = 1 ;} }
}else{
if(obj.checked){ flag = 1 ;}
}
if( flag != 0){
return "入力済み";
}else{
return "未入力"
}

◎プルダウン(セレクトボックス)
var obj=document.getElementById("#{id:fieldname}")
if(obj.options[obj.select.selectedIndex].value==""){
return "未選択"
}else{
return "選択済み"
}

(記事編集) http://mesosune.blog123.fc2.com/blog-entry-424.html

2013/02/21 | Comment (0) | Trackback (0) | HOME | ↑ ページ先頭へ |

【xPages】入力チェックについて - 1

   ↑  2013/02/20 (水)  カテゴリー: Notes(xPages)
■ Javascript でのチェックボックスの値

Notesでのチェックの入っていないときの値は""なので、やっちゃいがちですが、
Javascript で チェックボックスを確認した時にチェックが入ってないときの戻り値は false なので、

よって、xPages 上で チェックボックスを確認した時にチェックが入っていない場合は、
doc.getFirstItem("chkboxfield").getText()
は false を返します。

(記事編集) http://mesosune.blog123.fc2.com/blog-entry-423.html

2013/02/20 | Comment (0) | Trackback (0) | HOME | ↑ ページ先頭へ |

【xPages】配列を処理する

   ↑  2013/02/19 (火)  カテゴリー: Notes(xPages)
■ 配列を処理する

//普通の配列
for(i=0;i < valArray.length;i++){ 
//処理 : valArray[i]
}

//.java.util.Vector
for(i=0;i <valArray.size();i++){ 
//処理 : valArray.elementAt(i)
}

(記事編集) http://mesosune.blog123.fc2.com/blog-entry-422.html

2013/02/19 | Comment (0) | Trackback (0) | HOME | ↑ ページ先頭へ |

【xPages】文書を取得する

   ↑  2013/02/18 (月)  カテゴリー: Notes(xPages)
■ 現在の文書
var doc:NotesDocument = currentDocument.getDocument();
var doc:NotesDocument = dominoDoc.getDocument();

■ UniqueID
var doc:NotesDocument = database.getDocumentByUNID(docid);

■ NotesID
var doc:NotesDocument = database.getDocumentByID(docid);

(記事編集) http://mesosune.blog123.fc2.com/blog-entry-421.html

2013/02/18 | Comment (0) | Trackback (0) | HOME | ↑ ページ先頭へ |

【xPages】文書の削除

   ↑  2013/02/17 (日)  カテゴリー: Notes(xPages)
■ 削除する
document.remove(true);

■ 恒久的に削除する
document.removePermanently(true)

(記事編集) http://mesosune.blog123.fc2.com/blog-entry-420.html

2013/02/17 | Comment (0) | Trackback (0) | HOME | ↑ ページ先頭へ |

【xPages】文書の作成/保存

   ↑  2013/02/16 (土)  カテゴリー: Notes(xPages)
■ 文書の作成/保存

var newDoc = database.createDocument();
newDoc.appendItemValue("fieldname", value);
newDoc.save();

(記事編集) http://mesosune.blog123.fc2.com/blog-entry-419.html

2013/02/16 | Comment (0) | Trackback (0) | HOME | ↑ ページ先頭へ |

【xPages】フィールドの値取得/セット

   ↑  2013/02/15 (金)  カテゴリー: Notes(xPages)
◎サーバサイド
▼値の取得
value = getComponent("fieldname").getValue()
▼値のセット
getComponent("fieldname").setValue(value)
この書き方のfieldnameはxPagesのフォーム上のアイテム名を記載する。
バインドする側の名前を書くとエラーになるよう。
バインドする側の名前をフィールド名として記載するときは、
一度ドキュメントを取得したあと、
ドキュメントに対してgetItemValueなりを使用する。
(つまるところ、バックエンドで取得するということです)

◎クライアントサイド
▼アイテムを取得する
document.getElementById("#{id:fieldname}")
▼値の取得
・計算結果以外
document.getElementById("#{id:fieldname}").value
・計算結果
document.getElementById("#{id:fieldname}").innerHTML
チェックボックスなど、入力がtrue/falseになっていたり、
複数フィールドがある場合などは別途式を組んでやる必要があることに注意。

(記事編集) http://mesosune.blog123.fc2.com/blog-entry-418.html

2013/02/15 | Comment (0) | Trackback (0) | HOME | ↑ ページ先頭へ |

【xPages】文書の削除権限

   ↑  2013/02/14 (木)  カテゴリー: Notes(xPages)
■ 文書の削除権限

var user    = @UserName();
var accPriv = database.queryAccessPrivileges( user );
if ( (accPriv & NotesDatabase.DBACL_DELETE_DOCS) > 0 ) {
return "あり";
}

(記事編集) http://mesosune.blog123.fc2.com/blog-entry-417.html

2013/02/14 | Comment (0) | Trackback (0) | HOME | ↑ ページ先頭へ |

【xPages】文書の作成権限

   ↑  2013/02/13 (水)  カテゴリー: Notes(xPages)
■ 文書の作成権限

var user    = @UserName();
var accPriv = database.queryAccessPrivileges( user );
if ( (accPriv & NotesDatabase.DBACL_CREATE_DOCS) > 0 ) {
return "あり";
}

(記事編集) http://mesosune.blog123.fc2.com/blog-entry-416.html

2013/02/13 | Comment (0) | Trackback (0) | HOME | ↑ ページ先頭へ |

【xPages】xPages権限を確認する(アクセス権)

   ↑  2013/02/11 (月)  カテゴリー: Notes(xPages)
■ xPages権限を確認する(アクセス権)

switch ( database.getCurrentAccessLevel() ) {
case NotesACL.LEVEL_MANAGER : return "管理者";
case NotesACL.LEVEL_DESIGNER : return "設計者";
case NotesACL.LEVEL_EDITOR : return "編集者";
case NotesACL.LEVEL_AUTHOR : return "作成者";
case NotesACL.LEVEL_READER : return "読者";
case NotesACL.LEVEL_DEPOSITOR : return "投稿者";
}

(記事編集) http://mesosune.blog123.fc2.com/blog-entry-415.html

2013/02/11 | Comment (0) | Trackback (0) | HOME | ↑ ページ先頭へ |

【xPages】文書が編集モードか否か

   ↑  2013/02/10 (日)  カテゴリー: Notes(xPages)
■ 文書が編集モードか否か

documents.isNewNote();

(記事編集) http://mesosune.blog123.fc2.com/blog-entry-414.html

2013/02/10 | Comment (0) | Trackback (0) | HOME | ↑ ページ先頭へ |

【xPages】索引があるかないか

   ↑  2013/02/09 (土)  カテゴリー: Notes(xPages)
■ 索引があるかないか

databese.isFTindexed();

(記事編集) http://mesosune.blog123.fc2.com/blog-entry-413.html

2013/02/09 | Comment (0) | Trackback (0) | HOME | ↑ ページ先頭へ |

【xPages】ビューの件数

   ↑  2013/02/08 (金)  カテゴリー: Notes(xPages)
■ ビューの件数

getComponent("viewName").getRowCount()

(記事編集) http://mesosune.blog123.fc2.com/blog-entry-412.html

2013/02/08 | Comment (0) | Trackback (0) | HOME | ↑ ページ先頭へ |

【xPages】xPages権限を確認する(ロール)

   ↑  2013/02/07 (木)  カテゴリー: Notes(xPages)
LotusScriptや@式も何故か小ネタへのアクセスのほうが多いので、
しばらくxPages小ネタをのせてみます。
※お手数ですが検索しやすいように1件づつにさせていただきます^^;

■ xPages権限を確認する(ロール)

var roleList = context.getUser().getRoles();
return roleList.contains("[Admin]");

(記事編集) http://mesosune.blog123.fc2.com/blog-entry-411.html

2013/02/07 | Comment (0) | Trackback (0) | HOME | ↑ ページ先頭へ |

【JavaScript】requireとincludeの違い

   ↑  2013/02/06 (水)  カテゴリー: JavaScript/CSS
Node.jsなどのCommonJSのモジュールに実装されている require と include の違いです。

呼び出すファイル内にinfuncという関数があるとして、
それぞれの方法で呼び出してみます。

// requireの書き方
var abc = require('abc');
abc.infunc();

// includeの書き方
include('abc');
infunc();

requir は abc のなかの infunc という形ですが、
include は infunc が名前衝突を起こしてしまいます。
よって、特に理由がないかぎりは require を使用してください。

(記事編集) http://mesosune.blog123.fc2.com/blog-entry-406.html

2013/02/06 | Comment (0) | Trackback (0) | HOME | ↑ ページ先頭へ |

【JavaScript】Dojo Toolkit の基礎

   ↑  2013/02/02 (土)  カテゴリー: JavaScript/CSS
JavaScriptの基礎は十分にご理解いただいていますでしょうか。
無名関数をご理解いただけていれば十分理解できると思います。

※Xpagesのdojoのバージョンをお確かめのうえコーディングをおすすめください。
今回は基礎の書き方であることと、
バージョンはある程度下位互換があるため問題はないかとは思いますが^^;
(ver1.7で書いています)

では、はじめましょうか。

(記事編集) http://mesosune.blog123.fc2.com/blog-entry-399.html

2013/02/02 | Comment (0) | Trackback (0) | HOME | ↑ ページ先頭へ |

【JavaScript】Dojo Toolkitとは?

   ↑  2013/02/01 (金)  カテゴリー: JavaScript/CSS
Dojo Toolkitは、企業における大規模なWebアプリケーション開発を想定して設計されているJavaScriptライブラリーです。

公式↓
Dojo
http://dojotoolkit.org/

器用貧乏といいますか、なんでもできる代わりに特化していないので何をやるでも少し中途半端な感じがします^^;
「それだけやりたい」という場合は他のライブラリを探したほうが手っ取り早いこともあります。

ですが。

何でも、XpagesがDojoToolkitに標準準拠しているというではないですか。
(IBMではソフトウェア製品のフロントエンド構築技術として全面的に採用されています)

これはWebに特化している ウチ も説明せざるを得ないです。
Dojo Toolkitについて何回かに分けて解説したいと思います。

(記事編集) http://mesosune.blog123.fc2.com/blog-entry-398.html

2013/02/01 | Comment (0) | Trackback (0) | HOME | ↑ ページ先頭へ |
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。