ページビューの合計

2018年5月28日月曜日

#ActivityLogging を有効にしてみた

This time I will report on the contents of the survey about "ActivityLogging" taught by Tek-tek Lotus evening workshop the other day.

みなさま、こんにちは!!

そろそろ本業で忙しくなるかと予想はしていたのですが、予定以上に大きな動きがあり、けっこう振り回されております。
ただどうしても調べたい内容があり、1週間様子を見て、なんとか記事にすることができました。

ということで今回は先日のテクてく大阪にて岩下様より発表のありましたDominoサーバーのActiveity Loggingを有効にし、得られた情報について報告致します。

まず設定手順ですが、サーバーの設定文書を開きます。


すると Activity Logging なるタブがありますので、こちらを選択し「サーバー設定の編集」をクリックします。
すると以下のような画面が表示されますので、Activity Loggingの有効化の 「はい」にチェックし、「有効なログタイプ」にチェックします。
今回はすべてを有効にしてみました。


以上で設定は完了です。

Dominoサーバーの再起動がいるのかと思いましたが、特に必要なかったようです。

次に一番気になりましたパフォーマンスについてです。
今回は5/21に設定を行ってみました。

以下はvSphereのパフォーマンス画面(1ヶ月)になります。


vSphereのパフォーマンス画面とNotesのパフォーマンスにどれだけ相関があるのかは不明ですが、若干5/21ころからリソースを多く利用しているように見受けられます。
また設定を外しました5/23以降もその傾向が続いているため、このあたりについては長期的にフォローしていく必要がありそうです。

実際に利用者側からは特にパフォーマンスが遅くなったとのクレームもありません。
私個人的に利用している感覚としては、タイミングによるのか、少しレスポンスが気になることが2-3回あったという程度になります。

それでは得られるデータになります。
データはDominoサーバーのDataフォルダ内に【Activity Analysis(loga4.nsf)】というデータベースが作られ、こちらに蓄積されます。
開いてみますと、既に6万以上の文書が出来上がっておりました。


内容としては、以下のようなビューを含むアプリケーションであることがわかります。


もちろんLog.nsfでも情報は得られるのですが、こちらを利用することで機能ごとのログが得ることができます。
また列としてもそれぞれの機能に応じた内容に設定されているため、本当に見たいログに集中して管理することが実現できそうです。
加えてうれしいのは日本語対応されていること(もっとも項目程度ですので、あまりメリットと言えないかもしれませんが・・・)。

こうやって見てみますと、弊社ではまだまだNotes/Dominoの機能を使い切っていないことが明白となりました(ログのない項目が多い・・・)。

今後は来年にはライセンスをDualEntytlementに切り替える予定ですので、そうなればさらにサーバー台数を増やし、もっと有効に利用できるのではと期待しております。

以上、短期間ではありますが、得られた知見としてご認識頂けましたら幸いです。

2018年5月21日月曜日

#テクてく ( #tektek )大阪へ参加させて頂きました。

This time was held last week for the "Tech Teku Lotus engineers evening", let me a little touched.

みなさま、こんにちは!!
本日の神戸は本当にいいお天気です。
かなり暑くなるそうですが、梅雨前の貴重なお天気を快適にすごしましょう・・・といいつつ、終日オフィスから出ることがないので、往復のすがすがしい気温を楽しむくらいしかできませんが。

さて今回もまずは告知からです。
6月11日(月曜日)に品川のグランドプリンスホテル新高輪にて【Think Japan - Developer Day】が開催されます。

いくつか参加したいセッションがあるのですが、さすがに毎月のように東京出張は許可が得られません。
それでなくても6月には【新任担当者向けワークショップ】へ参加させて頂くことになっておりますので・・・。
ぜひこちらの技術を関西へ持ち帰り、大阪開催を実現したいと思います。

さて本題です。
とは言いましても、今回は先週金曜に開催されました年1回のイベント テクてく Lotus 技術者夜会 ザ・大阪編 に参加させて頂きました感想等を報告させて頂きます。

今回は私の先頭の1コマを頂き、短時間ですがお話させて頂きました。
内容としては、ICS(IBM Collaboration Solutions)関連ブログの弊社での情報収集方法について、現状までの流れと今後の構想についてお話しさせて頂きました。

資料をスライドシェアにと思ったのですが、どうもうまくアップロードできず・・・。

2018/05/29 無事アップロードできましたので、こちらよりご参照ください。
2022/04/28 ドクセルに引っ越しました。



ほかにもたくさんの方の貴重な発表がありました。
ここで個別の発表内容を述べるのは適切ではございませんので、発表内容については後日公開されます資料をご覧ください。


中でも個人的に書き留めたキーワードだけを列挙してみます。

  • Restful Web API
  • Smart NSF
  • XRest API Routes
  • Grooby
  • Swagger
  • Zoomフリープラン
  • Activity Logging
  • Watson Workspaceへのアプリ追加
  • Dominoの歴史=平成の歴史
  • XPagesを記述する前にHTMLで準備してみる
いろいろ手を動かしたくなるようなキーワードが並びました。

言い訳にはなりますが、来年にかけて本業がピークを迎えるため、どこまで手がけられるかは不明ですが、また弊社のような中小企業のNotesユーザーでこれらを試してみた状況、特にメリット・デメリットなどを報告する機会が持てればと考えております。

ぜひ気長にお待ち頂けましたら幸いです。

ランドプリンスホテル新高輪

2018年5月7日月曜日

#XPages の #URL について

This time I will describe the setting of the URL for importing XPage into another application.

みなさま、こんにちは!
ついにGWも終ってしまいましたね。
今年はいつになく脱力感が・・・と感じていたのですが、どうやら子どもの野球三昧に加え、昨年のGWは全日出勤であったことが原因のようです。

本題に入る前に、まずは告知です。
来週・・・もう来週なんですね(汗・・・5月18日(金曜)にテクてくLotus技術者夜会が開催されます。
今回は昨年に引き続き、テクてく大阪としてIBM様大阪事業所にて開催となります。
内容については現在精査中ですので、正式発表をお待ちください。ちなみに私も少しだけ時間を頂く予定です。
ぜひ関西近隣の方は、ご参加をご検討ください。
また東京ではパブリックビューが行われますので、関東近隣の方はPVへご参加よろしくお願いします。
もちろんリモートも準備頂ける予定ですので、どうしても両拠点への参加が難しい方については、リモート参加も大歓迎です!

詳しくは近日こちらのページにて案内があるかと思いますので、少しお待ちください。


さて前置きが長くなりましたが、今回の本題です。

実は最近、Notesの作業よりも優先する作業が発生しており、当ブログのネタが続かないという状態に陥っております。

そんな中、今回の案件は、社内の販売管理システムのマスタにNotes内の情報を掲載できないかというものになります。

具体的には販売管理システムの得意先マスタ画面に、Notesの情報(今回は日報)を表示したいというものになります。

先にも触れましたが優先する作業というものがこの販売管理システムのWEB化というものになります。

販売管理システムの得意先マスタ画面をWEB化し、その画面内にタブを組み込み、そのタブ内にiFrameのようにNotesの日報データを表示させることを検討しました。
画面としては、以下のようなものとしました。


そこで必要となるのが、XPagesをブラウザで表示する場合のURLになります。

既に日報についてはXPagesで閲覧できるようにしてありますので、そのページにアクセスしてみます。

まずはブラウザでアクセスしてみます。
今回はreport_2018.nsfというアプリケーションに、Webブラウザの起動設定で「m_byDate_wForm」というXPageを開く設定を行っておりますので、設定されたXPageが「http://hogehoge/report_2018.nsf/」というアドレスで表示されます。


こちらを先のタブ内に埋め込んだところ、タブ内には以下のようなNotesの認証画面が表示されました。もちろんanonymousに権限を与えていないため、正しい挙動になります。


それではこの画面でログインしてみましょう。


レイアウトはともかく、XPageを読み込むことができました。

XPagesのURLで利用できるパラメータについては、以下に詳しく掲載されていますので、参考になさってください。

XPages データソース解説 - URL パラメータ

こちらによりますと、XPageを呼び出すパラメーターは

http://サーバー名/NSFファイル名.nsf/XPage名.xsp

となります。

少し今回の内容からそれますが、文書は・・・
こちらも先のページに紹介されておりますが、

http://サーバー名/NSFファイル名.nsf/XPage名.xsp?documentId=文書ID&action=openDocument

となります。
ブラウザで開いてみますと、


先ほどはビューを含んでおりましたので、フォームをバインドしたXPageを呼び出し、パラメーターとして文書IDを指定してあります。

今回の目的はタブ内にビューを埋め込むことですので、先のタブを指定したビューに変更してみます。

少しわかりにくいのですが、先のタブ内にありました右側のフォーム部分がないビューのみをバインドしたXPageが埋め込まれました。


これで目的達成・・・ではありません。
せっかくWEB側でコードが表示されていますので、できればそのコードに紐付いた日報のみが表示されることで、さらに利便性が上がるのです。

先のパラメーターの紹介サイトを読み進めていくと、【search】というパラメーターがあるではないですか!!
こちらを利用することで、特定顧客のみの日報を抽出できるはず。

ということで早速URLをたたいてみます。
今回の得意先コードが0113-001というコードになりますので、.xspの後ろに「?search=0113-001」を追加してみます。

結果は・・・


想定通りです。
うまく指定されたコードの日報だけを取得することができました。

あとはこの設定を先のタブに施すだけになります。
結果は・・・


みごとにタブ内にXPageのビューを表示することができました。
ちなみにリンクをクリックすると、同じくタブ内にフォームをバインドしたXPageを表示することができました。



今回のやり方が正しいのかは現時点では不明ですので、さらに踏み込んだ検討は行ってみたいと考えております。

今回の目的は、XPageのURLとバラメーター(search)を紹介するまでとさせて頂きます。

また今回のWEB化ツールと合わせて、うまく纏めることができれば、ノーツコンソーシアム大阪研究会で紹介させて頂ければと考えております。

ちなみにXPage側で設定している並び順や、階層のレベルなどもバラメーター側で設定することができるようです。

時間ができれば、どちらが優先されるかなどをレポートできればと考えております。


2018年4月23日月曜日

#ノーツコンソーシアム ( #notescons )2018年第一回大阪研究会 x #テクてく ( #tektek )Lotus技術者夜会 レポ

Today I attended the collaboration of "Notes Consortium Osaka Study Group" and "Tech Lotus Technician Yacht Club" which was held last Friday, so I will report on it.

みなさま、こんにちは!!
急な暑さで、服装が難しくなってきましたね。梅雨までの良い季節を楽しみましょう。

さて今回は先週20日(金曜)に開催されました「2018年第一回大阪研究会」と「テクてくLotus技術者夜会」のコラボレーション開催について、レポート致します。


13:00 予定通り研究会が開始されました。

今回の目的は今年の年間計画を立てること。

細かなことは書けませんが、具体的には以下のような活動が予定されました。


  • Notesの部品化/ライブラリ化
  • Domino環境について(クラウド関連)
  • クラウド移行・成功失敗体験談
  • ユーザー企業による情報システムへの期待について
  • Application Insights紹介
  • ハンズオン:Notes/Domino○○○○○?を触ってみよう
  • Notes/Domino最新情報
  • AS400とNotesの連係事例
  • ライトニングトーク大会

ハンズオンについては、環境をどのように準備するか等もありますが、なんとか実施できるよう研究会員一同、努力する予定です。ちなみに○○○○○の部分については、ご想像にお任せ致します。
その他の内容につきましても、Notes/Dominoに関わるみなさまには有効なものになること必至です!

会員でない皆さまも、ぜひ聞いてみたい、見てみたいとお考えでしたら、見学にいらしてください。
お申し込みはノーツコンソーシアム事務局経由にてお願いいたします。
(リンクサイト上部の「お申し込み・ご質問」より「研究会見学希望」とご連絡ください。)


17:00 IBM様大阪事業所見学

大阪事業所はつい最近オープンしました中之島フェスティバルタワーウエストの主に12,13Fの2フロアとなります。

※以下、iFrame非対応のブラウザの方で、中之島フェスティバルタワーの詳細をご覧になりたい場合は、以下をクリックしてください。

https://www.festival-city.jp/


受付やお客様向け施設は13Fにありますが、今回は12Fのオフィスフロアを見学させて頂きました。

エレベーターホールを囲むぐるっと一周の広大なスペースは、一般的なオフィスデスクだけでなく、ある種奇抜なイスやテーブルがゆったりしたスペースに配置されております。

写真は一部可だったのですが、ここに掲載は行いません。
ぜひご自身の目で見て頂きたいと考えますので、IBM様、パートナー様へご相談ください。


18:00 テクてくLotus技術者夜会

今回は研究会と同じ会場にて、大阪パブリックビュー開催され、先日のThink2018の振り返りが行われました。

やはり気になるのは、Domino on iPadでしょうか。
個人的にはDockerへの展開や、Connections Pinkにも興味があり、いずれも期待が持てる内容となっておりました。

なお今回よりリモート環境が変更となりました。
従来はConnections Meetingを使用しておりましたが、今回よりWatson WorkspaceのZoom連携機能が利用されました。
接続が簡単で、使いやすいものでした。東京や大阪PVに参加できない場合でも、会社やご自宅から参加することが可能ですので、ぜひこちらもご検討ください。


20:00すぎ 懇親会

近くのお店でお肉とアルコールを堪能させて頂きました。


さて、今後の予定ですが、


  • 5月18日(金) テクてく大阪
  • 6月22日(金) 第二回大阪研究会
  • 9月21日(金) 第三回大阪研究会
  • 11月16日(金) 第四回大阪研究会
となります。
なお第三回、第四回については、いずれもテクてく大阪PVとの連結開催となります。

またテクてく 大阪パブリックビューについては、昨年に続き毎月開催が決まりました。
詳細については、決定次第テクてくのサイトにてご案内させて頂きます。
テクてくについてはどなたでも参加可能なオープンコミュニティですので、ぜひご参加の調整をお願い致します。



2018年4月16日月曜日

#@Eval 関数を試してみた。

This time, I am going to describe what I tested the @Eval function in doing the renovation of Notes application inside of us.

みなさま、こんにちは!

まずはご案内です。
いよいよ今年も始まります! ノーツコンソーシアム 大阪研究会!!
もちろん会員外の方の見学も大歓迎ですので、遠慮なくお申し込みください。
さらに!!
今回はそのまま休憩を挟み、テクてくLotus技術者夜会 大阪PVに突入します!

ぜひ真新しい IBM様 大阪事業所で皆様とお会いできることを楽しみにしております。

なお入館に際して、予め登録が必要となります。
まだ参加が確定していない方も、まずは登録だけでも先に行っておいてください。


さて今回は弊社内でとあるアプリケーションの改築を行うのに際し、吉田様のブログ「@Eval の小ネタ」を思い出し、テストしてみた内容を記載させて頂きます。

今回改築しているアプリは、いわゆる出納帳のようなものになります。
売上金額と入金金額を入力し、残高を計算するというものです。
従来は残高に[前回残高+売上金額-入金金額]という計算式をちまちまと入れていたのですが、こちらを@Eval関数で代用しようというものになります。

それでは以下のような表を含むフォームを元に進めて参ります。


項目としては、日付(日付のみ)と売上金額(数値)、入金金額(数値)、残高(数値)、メモ(テキスト)があり、すべて[編集可能]フィールドという簡単なものです。
最初の残高を登録できるように[Balance_0]という差引残高フィールドを作成しており、デフォルト値に"0"をセットしてあります。
先にも書きましたが、従来のアプリケーションでは、各[Balance_#]フィールドに計算式が入っておりました。

それではフォームの上部に[Formula]というテキスト/編集可能フィールドを作成し、デフォルト値として、まずは以下を設定します。

※¥は全角文字にて記載しております。正しくは半角文字に変更してください。

"
SA:=@GetField( ¥"SalesAmount_¥" + no );
DA:=@GetField(¥"DepositAmount_¥"+no);

SAD:=@if(SA=¥"¥";0;SA);
DAD:=@If(DA=¥"¥";0;DA);

@SetField( ¥"Balance_¥" + no ; SAD-DAD);
@Command([ViewRefreshFields]);
"


こちらは前残を考慮せず、その行の売上金額と入金金額の差を計算させるだけの式となります。
変数"SA"に[SalesAmount_#]を、変数"DA"に[DepositAmount_#]をそれぞれセットします。但しそれぞれ値がブランクである場合に"0"をセットするため、@if関数を用いてそれぞれ変数"SAD"、"DAD"を定義してあります。

なお吉田様のブログにも記載されていますが、式全体が引用符"で囲まれているため、式中の引用符"は半角¥を用いて、エスケープしています。

次に分かりやすいように右端に列を追加し、1行目にボタンを設置します。
式は以下を設定します。


no:="1";
@Eval(Formula)



それではNotesでプリビューし、正しく計算されるか確認してみましょう。
正しく設定されていれば、以下のように計算が行われます。


ここまででまずは@Eval関数が正しく動くかの確認ができたかと思います。
それでは引き続き、前回差引残高を考慮した結果が得られるように変更します。

各フィールドの行の値はボタンに設定された変数"no"が使用されます。
つまり前回差引残高フィールドは、[Balance_変数no-1]を得る必要があります。

それでは[Formula]フィールドの式を変更します。
※青字部分が追加・変更部分になります。

"
BA:=@GetField(¥"Balance_¥"+(no-1));
SA:=@GetField( ¥"SalesAmount_¥" + no );
DA:=@GetField(¥"DepositAmount_¥"+no);

SAD:=@if(SA=¥"¥";0;SA);
DAD:=@If(DA=¥"¥";0;DA);

@SetField( ¥"Balance_¥" + no ; BA+SAD-DAD);
@Command([ViewRefreshFields]);
"


変数"BA"に[Balance_no-1]の値をセットし、計算式に加えたものになります。
こちらをNotesでプリビューすると、ボタンを押しても計算が行われません!!

やはり簡単には変数からマイナス1することはできませんでした。

ということで、変数"BA"の代入式を以下のように変更してみました。


BA:=@GetField(¥"Balance_¥"+@Text(@TextToNumber(no)-1));


見ての通り、変数"no"を@TextToNumberで数値化してからマイナス1し、その値を@Textでテキスト化してBalance_に結合させています。

Notesでプリビューすると、前回残高も正しく計算されることが確認できます。


後から気付いたのですが、ボタンの変数"no"で制御するのではなく、[Balance_#]フィールドの値側で操作したほうが簡単でした(汗

以上で1行目のボタンは正しく動くことが確認できましたので、残りの行にもボタンを追加します。

追加したボタンは、それぞれ変数"no"を行の値(2行目は"2"・・・)に変更します。
念のためNotesでプリビューし、正しく計算されるか確認してください。

最後に[Formula]フィールドを非表示にして今回は完成とします。
なお入力途中の行に修正を加えるような使い方をすると、当たり前ですが値がずれてしまいますので、ご了承ください。


2018年4月9日月曜日

#box を使ってみました(弊社内向けマニュアル含む)

I am a little out of Notes this time, but I will write about Box. Since we decided to begin using Box's personal user version experimentally within our company, I will post the manual to be distributed inside our company.

みなさま、こんにちは!
今年は桜の季節が短かったですね。金曜日に京都でとある会合があったのですが、雨ということもあり、今年は花見ができずとなってしまいました。

さて今回は少しNotesを離れるのですが、boxについて書かせて頂こうと思います。
まずはboxの内容についてですが、既にご存知の方も多いかと思いますが、不明な方は恐れ入りますが以下URLよりご確認ください。

https://www.box.com/ja-jp/home

要はクラウドストレージのひとつになります。
個人では○vernoteや○ropbox、○oogledriveなど利用されている方も多いのではないでしょうか。
かという私も○oogledriveを便利に利用させて頂いております。

なお会社としては、現在は携帯の契約におまけとして提供されているPrimedriveというサービスをオフィシャルで使用しております。
主な用途としては、会議資料を共有フォルダ内に保存し、ペーパーレス化してあったり、ファイルの送信などで利用しておりました。

こちらの問題を記載することは致しませんが、今回個人ユーザー版(無償)のboxをテストすることになりましたので、報告させて頂くことにします。

今回の目的は、
①ディスク容量の増加
②取引先からのアップロード場所を提供する
③メール送信でのアップロードを行える
という点になります。

まずは①の容量についてです。
Primedriveは企業契約の形態となっており、会社全体で11GBの容量が使えます。
これに比べ、boxはひとりあたり10GBとなりますので、この差は歴然ですね。
但し、個人ユーザー版の場合、250 MB のファイルアップロード制限がありますので、この点は注意が必要です。

②③については、boxの標準機能で対応可能になります。

ということで、近日切り替えができるよう、来月より社内で並行稼動の期間をスタートすることになりました。

さて弊社社員に使わせることになりますので、それなりのマニュアルが必要となります。
boxはかなり多機能なので、すべてのマニュアルを作ることは困難なのですが、先の課題を含め弊社で配布するように準備したマニュアルをご紹介したいと思います。


1)ブラウザを利用する場合


1)-1 新規作成メニュー
 フォルダやブックマークに加え、直接ExcelやWordといったファイルの新規作成が可能です。(作成される場所は現在開いている場所になりますが、後からの移動も容易です。)


1)-2 アップロードメニュー
 PC上のファイルだけでなく、フォルダごとアップロードも可能です。


1)-3 共有機能
 項目にマウスカーソルを近づけると表示される「共有」メニューから「共有リンクを取得」をクリックします。
※フォルダ単位だけでなく、ファイル単位でも可


 リンクアドレスをコピーし、共有する方へ案内します。


メールアドレス欄をクリックすることで、直接メール送信も可能です。


1)-4 メール送信によるアップロード
 アップロードさせるフォルダのその他のオプション内「設定」をクリックし、「このフォルダへのメールによるアップロードを許可する」にチェックします。得られるアドレスを対象者に送信します。
 このアドレスに添付ファイルを送信することで、boxの対象フォルダ内にファイルがアップロードされます。

2)Windowsアプリ Box Sync の利用
 ログインすると以下画面が表示されますので、Sycedが[On]にした上で最小化あるいは[×]で閉じてください。


※閉じてしまっても、タスクバーに常駐しています。


2)-1 エクスプローラで確認
 お気に入り配下に[Box Sync]が表示されます。こちらがboxのルートフォルダと同期します。


2)-2 適当なフォルダを作成します。
 直下にファイル等を保存すると管理しにくくなりますので、適当なフォルダを作成し、その中へファイル等を保存することをお勧めします。
 アイコン左下の青いマークは同期済みのマークになります。


2)-3 テストでファイルを置いてみる。
 先のフォルダ内にファイルをひとつ置いてみましょう。左下のマークが最初は黄色く表示されますが、すぐに青に変化し、同期が完了したことがわかります。


2)-4 ブラウザで確認
 先のフォルダができていることが確認できます。


2)-5 もちろんファイルも同期されます。
 なおエクスプローラ側で削除した場合、「削除」行為も同期されますので、boxからもなくなります。


3) iPadでの利用方法


3)-1 新規及びアップロードメニュー
 右上の[+]をタップすることで新規及びアップロードの両機能が使えます。Windowsと同様の対応が可能です。(一部iPad特有の機能も含まれます)


3)-2 ファイル及びフォルダ機能
 ファイルやフォルダの右下にあるオプションボタンでさまざまな機能が選択可能です。共有機能についても、ほぼWindows同様になります。
 但し、メール添付送信機能は設定できません。


以上、現時点で弊社内に配布したマニュアルとなります。

個人的な感想ですが、取引先からデータを頂くような場合などはかなり使いやすいと感じました。ファイルのやり取りについては、PrimeDriveから直接URLとパスワードメールの送信が可能であったことは便利ではありましたが、実際にメールを誤送信してしまった場合、その誤送信先にパスワードも送られてしまう危険性もあったため、この機会にファイルそのものにパスワードを設定し、メールはURLとパスワードを別に送信するような対応に変更することとしました。

もっと活用するためには、やはり企業としての有償契約を行い、ファイルサーバーとして利用することでさらなるメリット(具体的には、ファイルのタグ付け等による検索機能やソーシャル的な使い方)を得ることができればとも考えます。

まずは無償範囲で試用し、社内でboxの地位を確立することを狙ってみようと思います。

2018年4月2日月曜日

#支払管理 アプリを作ってみよう(4)

Since almost the main frame has been completed up to the last time, this time I will set items that are required as a little more Notes application.

みなさま、こんにちは。
先週は私用で月曜に休みを頂き、そのツケといいますが、年度末作業に振り回され、更新することができませんでした。申し訳ございません。

少しあきましたが、前回まででおおまかに仕上がりましたので、今回はもう少しアプリケーションとして必要な項目の設定を加えます。

まずメーカーマスタフォーム[makerForm]です。
現在は必須項目の設定を行っておりませんが、基本的に全項目が必須項目になります。
必須フィールドの「入力の確認」に以下の式を設定します。
※[FieldName][フィールド名]については、各対象フィールドの名称を割り当ててください。


@If([FieldName]="";@Failure("[[フィールド名]]の指定は必須です。");@Success)


以下は[m_MakerCode]の例です。


対象の[FieldName][フィールド名]は以下の通りとなります。

[m_MakerName][メーカー名]
[m_Kana][カナ]
[m_Bank][銀行]
[m_BankCode][銀行コード]
[m_Branch][支店]
[m_BranchCode][支店コード]
[m_Account][口座区分]
[m_AccountNo][口座番号]
[m_AccountName][口座名義]
[m_Payment][支払条件]
[m_PaymentAmount1][支払条件金額1]
[m_PaymentAmount2][支払条件金額2]
[m_PaymentTerm1][支払条件1]
[m_PaymentTerm2][支払条件2]
[m_PaymentTerm3][支払条件3]

同じく支払フォーム[paymentForm]です。
[MakerCode][コード]
[Purchase][仕入金額]
[Tax][消費税]
[PaymentDay][支払日]


以上で必須フィールドの設定が完了しましたが、ここで現時点の私の能力でクリアできていない機能があります。

銀行コード、支店コード、口座番号は桁数指定を行いたいのですが、指定桁数未満の場合、前に"0"を埋めるという技量がございません。
・・・申し訳あまりせん・・・


続いて振込データをcsv出力する機能を[エクスポート]ビューに追加します。

なおエクスポートするデータは、支払日ごとに作成することを想定しておりますので、ビュー列に少し修正を行います。

[エクスポート]ビューの先頭に列を追加し、「支払日」を降順と設定します。
また列は非表示にしておきます。

続いてビューに"アクションの作成"を行い、「エクスポート」という名称で追加します。

式は以下を設定してあります。
※サーバー機で検証しておりますので、必要に応じてパスを変更してください。


@Command([FileExport];"Comma Separated Value";"C:¥¥Users¥¥Public¥¥Desktop¥¥pay.csv")

※以前に私のミスで書きましたが、"¥"の前の"¥"はエスケープ文字になります。
※ブログの仕様により、半角"¥"はバックスラッシュで表示されてしまいますので、上記意図的に全角"¥"で記述させて頂いております。


それではエクスポートの手順を見ていきますので、エクスポートビューをプリビューします。
現在は下記のようになっておりますが、便宜上ふたつの文書を複数コピーして追加してあります。


今回は2018/03/31の日付の分のみエクスポートします。
こちらも現時点の私の能力では選択をプログラム化できませんので、マウスドラッグで選択します。


エクスポートしたいデータが選択されましたら、アクションボタン[エクスポート]をクリックします。

[CSV書き出し]ダイアログが開きますので、

書き出しの対象・・・「選択文書」
書き出しの詳細・・・「ビュータイトルを含む」にチェック

のように選び、[OK]をクリックします。


以上でデスクトップに[pay.csv]というデータが出来上がりました。


それでは中身を見てみましょう。


きれいにエクスポートされましたね。
銀行によりますが、このデータがあれば、一括で支払データの登録も可能です。


あとはフレームやメニュー、起動時の設定やアイコンを変更すれば、アプリケーションはひとまず完成です。

なお弊社では振込だけでなく、手形やでんさいといった支払もありますので、こちらを元に機能追加を行い、テストに移る予定です。

ちなみに弊社では以下のようなイメージにしました。



ここまでの内容については、こちらよりダウンロード可能です。
設計要素も公開しておりますので、ご自由に使って頂いて構いませんが、できれば再配布はご遠慮ください。

以上4回に渡り、ありがとうございました。