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