皆様、こんにちは!
今回は、Business Centralにリリースされたカメラ機能ついて少し触れてみたいと思います。
ご存知かと思いますが、品目カードや連絡先カードなどの画面で下記のように「Picture -> Take」をクリックすると、今使われているデバイスのカメラを使って、写真を直接撮ることができます。
PS:旧バージョンのDynamics NAVではDotNet変数を通じて、カメラ機能も何とか使えますが、今回はSaaS向けなので、この方法を紹介しません。
カメラを使用するために「許可」をクリックします。
写真を取れました。
Business Centralのアプリでこの機能も使えます。
それでは、カメラ機能の標準ソースコードをまず調べてみましょう。
昔のブログで紹介した方法を使って、簡単にページ名とIDを確認することができます。
Contact Picture (5104, CardPart)
IDを確認する方法について下記をご参考ください。
Dynamics 365 Business Central Object IDを確認する方法 (Page,Table,Reportなど)
標準ソースコードも見つけました。
Dynamics 365 Business Centralの標準機能のソースコードを見る方法について
カメラに関するコードがありました。
次は今回のカスタマイズ仕様を考えて、エクステンションを作ってみましょう。
概要設計書:仕入請求する時に領収書を写真で撮ってBusiness Centralにアップロードできるようにします。
明細:
Purchase Header table:項目追加
Purchase Invoice Picture: CardPartページ追加
Purchase Invoice Picture: Camera機能追加(Take&Delete)
Purchase Invoice Page: CardPartを表示
スタート:
新しいプロジェクトを作成します。
Purchase Header table:項目追加
Purchase Invoice PictureのCardPartページ追加
Purchase Invoice Picture: Camera機能追加(Take&Delete)
Purchase Invoice Page: CardPartを表示
よし、完成。Business Centralにパブリッシュしましょう。
仕入請求ページを開いて、”Purchase Invoice Picture”のFactboxがすでに追加済み。
アクションも追加されました。「Take」をクリックします。
写真を撮って、「使用」をクリックします。
問題なくFactboxで表示できました。
肝心な写真を撮る機能については、今回標準と同じく「Codeunit Camera」を使いました。実はもう一つ方法があります。
下記のように「Page “Camera Interaction”」を参照して、同じ機能を実現できます。お時間のある時にぜひお試しください。
今回のソースコード:
https://github.com/yzhums/Purchase-Invoice-Camera
以上
コメント