今週のテクニカルTips : ドキュメントに名前と番号を付けるOfficeコネクターの作成

Aras Office Connectorを使用すると、Word、PowerPoint、Excel、Outlookメールを含むマイクロソフトOfficeのファイルをArasのドキュメントとして管理できます。管理者は、Office Connectorが自動的にArasの新規ドキュメントに番号を振ったり、Aras Innovator内の関連Officeファイルに名前をつけたりするよう設定する事が可能です。

標準導入時に、製品、プロセス、プロジェクト関連ドキュメントに対するネーミングに関するいくつかのメソッド例が用意されています。このテクニカルTipsでは、自動的にドキュメントやファイルに番号と名前をつけるメソッドの作成方法を説明します。

カスタムサーバーメソッドを作成するには、Aras Innovatorサーバーへの管理者としてのアクセス権限と、C# (シャープ) 又はVB.Net言語の知識が必要です。

ここでは例を用いて、メソッドの作成に必要なステップを辿っていきます。その後、皆さんのビジネス要件に適したメソッドを各自で作成してみてください。

シナリオ

この例では、以下のビジネス要件を前提とします。

新規にGeneralタイプでArasドキュメントを作成し、それを既存のパーツアイテムにリンクさせる際のArasドキュメント番号:
[パーツ番号]-[パーツリビジョン]-[連番]
例: MX2819-A-000001

マイクロソフトWordファイルの名前:
[ドキュメント分類]-[Aras ドキュメント番号]-[ユーザー指定のタイトル].docx
例: General- MX2819-A-000001-Cable Harness Spec.docx

ドキュメントナンバリングメソッドの作成
C# 又はVB.Netを使って新規Arasサーバーメソッドを作成し、Arasドキュメントへの自動ナンバリングを定義します。

引数
ドキュメントナンバリングサーバーメソッドが、コンテキストアイテムから以下のプロパティ値を取得します。(C# ではthis、 VB.NetではME)

プロパティ名 概要
mso_title 新規Arasドキュメントを作成したユーザーがつけるドキュメントタイトル string title =
this.getProperty(“mso_title”);
Dim title as String = _
Me.getProperty(“mso_title”)
mso_classification ユーザーが選択したArasドキュメントタイプ string type =
this.getProperty(“mso_classification”);
Dim type as String =
Me.getProperty(“mso_classification”)
mso_templateId Arasドキュメントを作成するためにユーザーが選択したドキュメントテンプレートのGUID string tid =
this.getProperty(“mso_templateId”);
Dim tid as String = _
Me.getProperty(“mso_templateId”)
mso_linkItemType Arasドキュメントにリンクされたアイテムのアイテムタイプ string linkid =
this.getProperty(“mso_linkItemType”);
Dim linkid as String = _
Me.getProperty(“mso_linkItemType”)
mso_linkItemId ArasドキュメントにリンクされたアイテムのGUID string linkid =
this.getProperty(“mso_linkItemId”);
Dim linkid as String = _
Me.getProperty(“mso_linkItemId”)

 

戻り値引数
Arasドキュメント番号を設定するために、”val”というコンテキストアイテムプロパティが予約されています。

例:
this.setProperty(“val”, computed_number);
Me.setProperty(“val”, computed_number)

メソッド例
前述のシナリオには、以下のArasドキュメント番号形式が適しています。

[パーツ番号]-[パーツリビジョン]-[連番]

以下のメソッド(説明は下記)でタスクを実行します:

C#:
01 string itm_id = this.getProperty(“mso_linkItemId”, “”);
02 string itm_type = this.getProperty(“mso_linkItemType”);
03 string seq_num =
04 this.getInnovator().getNextSequence(“Default Document”);
05
06 if (itm_id == “”) {
07 this.setProperty(“val”, seq_num);
08 return this;
09 }
10 Item part_itm = this.newItem(itm_type, “get”);
11 part_itm.setID(itm_id);
12 part_itm = part_itm.apply();
13
14 string part_name = part_itm.getProperty(“name”);
15 string part_state = part_itm.getProperty(“major_revision”);
17 string doc_number =
18 part_name + “-” + part_state + “-” + seq_num;
19
20 this.setProperty(“val”, doc_number);
21 return this;

VB.Net :
01 Dim itm_id As String = Me.getProperty(“mso_linkItemId”, “”)
02 Dim itm_type As String = Me.getProperty(“mso_linkItemType”)
03 Dim seq_num As String = _
04 Me.getInnovator().getNextSequence(“Default Document”)
05
06 If itm_id = “” Then
07 Me.setProperty(“val”, seq_num)
08 Return Me
09 End If
10 Dim part_itm As Item = Me.newItem(itm_type, “get”)
11 part_itm.setID(itm_id)
12 part_itm = part_itm.apply()
13
14 Dim part_name As String = part_itm.getProperty(“name”)
15 Dim part_state As String= part_itm.getProperty(“major_revision”)
17 Dim doc_number As String= _
18 part_name & “-” & part_state & “-” & seq_num
19
20 Me.setProperty(“val”, doc_number)
21 Return Me

ステップの説明:
1-4行目で、リンクされたパーツアイテムと、”Default Document”という名のシークエンスアイテム内の次の連続番号を取得します。

6行目ではパーツが選択されたことを確認します。選択されていない場合、7行目のプロパティ”val”によってArasドキュメント番号が連番に割り当てられ、コンテキストアイテムが返されます。

10-18行目では、1行目のitem_idを使ってパーツアイテムを取得し、パーツプロパティの”name” と”major revision” を連続番号と結びつける事で、新しいドキュメント番号を生成します。

20-21行目で新しいドキュメント番号を返します。

Officeコネクタープリファレンス内でのメソッドの設定
メソッドのコンパイルが成功したら、Officeコネクタープリファレンス内でそれを設定する必要があります。TOCからWorld Identityというプリファレンスアイテムを探して編集し、OfficeコネクタープリファレンスタブからOfficeコネクター設定を開きましょう。

tech1

ドキュメントタイプタブにアクセスしてドキュメントナンバリングメソッドを変更します。(この例ではGeneralDocumentNumberingとして保存されています。)

tech2

Officeファイルのネーミングメソッドの作成
新しくArasサーバーメソッドを作成し、Officeファイルの自動ファイルネーミングを定義します。以下の例では2つの言語を紹介します。

引数
ファイルネーミングメソッドの場合も、ドキュメントナンバリングと同じコンテキストアイテムプロパティ引数へアクセスできます。それに加えて、以下のプロパティも利用可能です:

 

プロパティ名 概要
mso_title Arasドキュメント番号の値 string title =
this.getProperty(“mso_documentNumber”);
Dim title as String = _
Me.getProperty(“mso_documentNumber”)

 

戻り値引数
Officeファイル名を設定するために、”val”というコンテキストアイテムプロパティが予約されています。

例:
this.setProperty(“val”, computed_number);
Me.setProperty(“val”, computed_number)

メソッド例
前述のシナリオには、以下のOfficeファイル名形式が適しています。

[ドキュメント分類]-[Aras ドキュメント番号]-[ユーザー指定のタイトル].docx

以下のメソッド(説明は下記)でタスクを実行します。

C#:
01 string fileName = this.getProperty(“mso_documentNumber”, “”);
02 string type = this.getProperty(“mso_classification”);
03 string title = this.getProperty(“mso_title”);
04 string doc_name = type + “-” + fileName + “-” + title;
05 this.setProperty(“val”, doc_name);
06 return this;

VB.Net
01 Dim fileName As String= Me.getProperty(“mso_documentNumber”, “”)
02 Dim type As String = Me.getProperty(“mso_classification”)
03 Dim title As String = Me.getProperty(“mso_title”)
04 Dim doc_name As String = type & “-” & fileName & “-” & title
05 Me.setProperty(“val”, doc_name)
06 Return Me

ステップの説明:
1-4行目でArasドキュメントの番号、タイプ及びタイトルを取得します。

5-6行目で新しいOfficeドキュメントのファイル名を返します。

Officeコネクタープリファレンス内でのメソッドの設定
先ほども述べたように、新規メソッドはOfficeコネクター設定で設定する必要があります。(この例ではGeneralDocumentNamingという名前のメソッド)

tech3

まとめ

ArasOfficeコネクターを使用すると、Arasドキュメントの番号や関連Officeファイルの名前を付ける方法をカスタマイズする事が出来ます。比較的シンプルなArasサーバーメソッドを利用し、各ビジネス要件に従ったドキュメントナンバリングとネーミングを設定できます。

Aras Officeコネクターの導入・設定・使用方法の詳細に関しては、サブスクライバーポータルのトレーニングセクションを参照ください。

Aras PLMの詳細・ダウンロードはこちらから
Aras_Logo_2013