ページビューの合計

2023年6月22日木曜日

#期日管理 アプリについて

 I would like to introduce another finished application for a project that occurred within our company.

It will be a kind of centralized management of task due dates.


みなさま、こんにちは。
今回も弊社内で発生した案件からリリースしたアプリを紹介致します。

【要件】
・社内で管理する必要のある取引先の許可証を一元管理する
・期日が近づいたら、担当者(グループ)にメールで通知する

弊社の例では、医薬品や毒劇物などを販売するには、それぞれ期日の決まった許可を更新する必要があります。
販売先がさらに販売(再販)する場合、その許可を弊社が管理することが法的に定められています。

従来は取引先から提出頂いた許可証のPDFをファイルサーバーに保存。
必要に応じて、「個人のタスク」や「スケジュール」で通知設定を実施していました。
ファイル名に期日を指定し、随時こちらが近づいてくると更新された最新版の提供を依頼するという形でした。

また対象の法律により管理者が複数おり、それぞれ別で管理していたり、営業担当変更や退職で内容が引き継がれなかったりした場合など、万が一の確認もれを防ぐ意味でも、一元化を実施することとなりました。



上記を踏まえ、アプリを作るのですが、基本は簡単なフォームとビュー、メニューやフレームセットだけで終わります。

【フォーム設計画面】

【起動時のフレームセット】


ここでキーになるのが、自動で通知を送信する機能になります。
ちなみに「期日順」ビューは以下のようになっています。

期日昇順で表示されており、切れたものは"タイガースカラー(笑)"になっていることがわかるかと思います。
・・・余談ですが、弊社は重要で目立たせる必要のあるビューの行はこの"タイガースカラー"で統一しています。

通知はエージェントを使用して、スケジュール実行をさせています。
本エージェントは、ノーツコンソーシアム 大阪研究会 の浜さん

にお願いして作って頂いたものになります。


Option Public
Option Declare

Sub Initialize
Dim ns As New NotesSession
Dim ndb As NotesDatabase
Dim nv As NotesView
Dim nd As NotesDocument
Set ndb = ns.Currentdatabase
Set nv = ndb.GetView("LTerm")
nv.Autoupdate = False
Set nd = nv.GetFirstDocument()
While Not (nd Is Nothing)
If CStr(nd.EndDate(0)) <> "" Then
If nd.EndDate(0) - Today <= 7 Then
'期日まで7日以下のものがメール送信対象
Call SendMail(ndb, nd)
End If
End If
Set nd = nv.getnextdocument(nd)
Wend
End Sub


Function SendMail(vndb As NotesDatabase, vnd As NotesDocument)

Dim ndMail As NotesDocument
Dim nrti As NotesRichTextItem
Set ndMail = vndb.CreateDocument
ndMail.Form = "Memo"
ndMail.SendTo = vnd.GetItemValue("Contact")(0)
ndMail.CopyTo = vnd.GetItemValue("Manager")(0)
ndMail.Subject = "許可証等更新日接近のお知らせ"
Set nrti = ndMail.CreateRichTextItem("Body")
Call nrti.AppendText("許可証等の更新時期が近づきました、")
Call nrti.AddNewline(1)
Call nrti.AppendText("期日までに更新してください。")
Call nrti.AddNewline(2)
Call nrti.AppendDocLink(vnd, vndb.Title) '文書リンクつけるなら 
Call ndMail.Send(False)
End Function


スケジュールは以下のように毎週月曜の9:00としてあります。

以上で完成です。
これにより各自のタスクやスケジュールに依存するのではなく、会社としてのルールに従った管理作業が行えることとなりました。

弊社の場合は許可証がトリガーでしたが、期日管理を個人まかせにできないことっていくつかあるのではないでしょうか。

ぜひそのような内容が必要でしたら、本アプリをダウンロードしてご使用ください。
以下よりダウンロード可能です。




2023年6月21日水曜日

#NomadMobile で #名刺管理

I am pleased to announce the release of my first application for NomadMobile.
The design aspect is still in its infancy, but I will continue to study it, so please judge it as a start.


みなさま、こんにちは。

さて今回もまずは告知からです。

ノーツコンソーシアム 2023年度 第二回 大阪研究会

今週末の23日、大阪 北浜でオンサイト+リモート開催です。
少しテーマが多すぎるのですが、やれるだけやってみたいと思います。

ノーツ新任担当者向けワークショップ(2023年 春開催)

7/13(木)開催
ひさしぶりのオンサイトメインの開催です。
※リモートは定員となりましたが、まだ東京会場および大阪リモート会場は空きがございます。
東京から本編を。大阪からはデザイン編を配信致しますので、ぜひ受講をご検討ください。

2023年 ユーザー情報交換会@京都

8/25(金)開催
JR京都駅近くの会場で、さまざまなテーマでディスカッションを行う予定です。
終了後は川床で懇親会も準備しております。
川床は定員が限られておりますので、お申込みはお早目に!!




今回はNomadMobileを利用した名刺管理のアプリについて、紹介致します。
・・・個人的にスマホ向けアプリとしては、初めてのリリースになります・・・
正直なところ、まだまだUI面では改良の余地があるものの、自分なりに考えた機能が実装できましたので、一旦はデザイン要素はかるく流して頂ければと思います。

まず名刺の電子化ですが、最近ではたくさん製品やサービスが出て参りましたので、そちらを利用してデータ化することとしています。

本アプリの目的としては、以下3項目となります。

  • Notes/Dominoで名刺管理を行うこと
  • OCR処理は ****の機能を利用し、そちらからエクスポートしたデータをエクセルのマクロ機能でアプリへインポートする
  • アプリからメール作成、電話(携帯電話)発信、GoogleMapsを呼び出すことを可能とする
私が利用しているサービスは、無料で利用でき、エクセル形式でエクスポートが可能です。

但し、製品サービスとも競合してしまいますので、ここでは触れずに進めさせて頂きます。
※どうしても知りたい方は、個別にご連絡ください。


それではいきなりですが、アプリを開いた画面です。


下部にビューの切り替えメニューと終了が配置されています。

つづいてフォームを開いた画面です。


機能としては、

  1. メールアドレスから新規メール作成画面をリンク
  2. 電話番号、携帯電話番号から電話発信
  3. 住所からGoogleMapをリンク
となっています。

リンク部分の設計ですが、


それぞれテキストとして取得したデータを非表示フィールドとし、それぞれ「表示用の計算結果フィールド」を設置して各値を「テキスト」として表示させます。
その「表示用の計算結果フィールド」を選択することでホットスポットを追加します。

以下画像は[F_Zip]を選択して、ホットスポットを追加しようとする場合の画面になります。


ホットスポットのリンクは、以下のように[種類:URL] [値:計算結果]とし、


メールの計算結果には "mailto:"+F_Mail 


とします。

同じように電話は "tel:"+F_Mobile(F_Phone)

住所には "https://www.google.co.jp/maps/place/"+F_Address

とすることで実装しています。

動画をとも考えたのですが、いろいろと大人な事情がございまして、提供することができません。申し訳ありません。


サンプルアプリ(nsf)およびアップロード用のエクセルファイル(xlsm)と簡単な手順書を以下に置きましたので、ご興味ございましたら、ダウンロードください。

https://app.box.com/s/bxw4uxapzatibelrenn56u3jvo92en0j