-
各種ツールやFrameworkの導入
Visual Studioの初回導入後にツールや.NETFrameworkを追加、変更、削除する場合、
Visual Studio Installerを使うのが楽でした。
【Dataverse】VSCodeによるDataverse Plugin
-
VScodeのPlugin
Power Platform Tools
Japanese Language Pack for Visual Studio Code
C# Dev Kit
C# ※自動?
.NET Install Tool ※自動?
-
VScodeの開発1(失敗例)
ターミナル mkdir MyDataversePlugin cd MyDataversePlugin pac plugin init --skip-signing ※これでプロジェクトが自動作成 ただし、この方法は署名なし dotnet add package Microsoft.CrmSdk.CoreAssemblies dotnet add package Microsoft.CrmSdk.XrmTooling.CoreAssembly
C#で開発します。
ターミナル dotnet build -c Release
ビルドが成功すると以下にdllファイルが作成される。
C:\Users\ユーザ名\MyDataversePlugin\bin\Release\net462\publish\MyDataversePlugin.dllPlug-in Registration Tool (PRT) を起動します。
ターミナル pac tool prt ※コマンド実行後にWindowsに自動インストール サインインは「Office365」、「Display list of avaiable organizations」を選択
この後にアセンブリを登録しようとすると署名エラーとなってしまう。
-
VScodeの開発2(失敗例)
ターミナル mkdir MyDataversePlugin cd MyDataversePlugin dotnet new classlib -lang C# -o . ※失敗例1との違いはココ dotnet add package Microsoft.CrmSdk.CoreAssemblies dotnet add package Microsoft.CrmSdk.XrmTooling.CoreAssembly
C#で開発します。
ターミナル dotnet build -c Release
ビルドが成功すると以下にdllファイルが作成される。
C:\Users\ユーザ名\MyDataversePlugin\bin\Release\net462\publish\MyDataversePlugin.dllPlug-in Registration Tool (PRT) を起動します。
ターミナル pac tool prt ※コマンド実行後にWindowsに自動インストール サインインは「Office365」、「Display list of avaiable organizations」を選択
この後にアセンブリを登録しようとすると参照ライブラリのバージョンでエラーとなってしまう。
-
失敗原因
1
ビルド時に作成されるフォルダが「net462」となっているように
.NETFrameworkが4.62になっている必要があるようです。
VScodeインストールした際に.NET9.0をインストールしていました。.NETFrameworkはWindows専用であるのに対し、
.NETはクロスプラットフォーム(Windows, Linux, macOS)の違いがあるようです。2
またアセンブリにもパスワードなしの署名が必要なようです。3
以下の参照は不要。
dotnet add package Microsoft.CrmSdk.XrmTooling.CoreAssembly
-
参考サイト
https://learn.microsoft.com/ja-jp/power-apps/developer/data-platform/build-and-package
「プラグインおよびカスタム ワークフロー活動アセンブリ プロジェクトは、.NET Framework 4.6.2 をターゲットにする必要があります」の記述あり。https://learn.microsoft.com/ja-jp/power-apps/developer/data-platform/tutorial-write-plug-in
上記のサイトを見るとVisual Studioを使っていたのでVisual Studio2022を使うことにしました。
プロジェクトを作成する際、.NETクラスライブラリではなく、
.NETFrameworkクラスライブラリプロジェクトを作成することに注意。
【PowerShell】オレオレ証明書の作成
- オレオレ証明書作成
Windows11のPower Shellを使ってオレオレ証明書を作成します。
以下の構文だと特定のドメインに対して有効期間10年。
「Cert:\CurrentUser\My」は本当にそのままです。New-SelfSignedCertificate -Subject "CN=example.com" -CertStoreLocation Cert:\CurrentUser\My -DnsName example.com -NotAfter (Get-Date).AddYears(10)
-
作成した証明書の確認方法
ファイル名を指定して実行(Windows+R)を開き、「certmgr.msc」を実行します。
「証明書」-「個人」に作成した証明書が保存されています。
-
pfxファイルの作成方法
証明書を選択し、右クリックし、「すべてのタクス」-「エクスポート」を選択します。
「はい、秘密キーをエクスポートします」を選択します。
「証明のパスにある証明書を可能であればすべてを含む」を選択します。
「証明書のプライバシーを有効にする」を選択します。ファイル名とパスワードを入力します。
例:zarea0614cert、ユーザー名数字記号
エクスポート後は「C:\Windows\System32」に「zarea0614cert.pfx」が出力されます。
【Power Apps】PL-900試験対策
-
PL-900試験対策
ttps://www.examtopics.com/exams/microsoft/mb-901/
【Power Apps】モデル駆動型アプリのビジネスプロセスフロー
-
モデル駆動型アプリのビジネスプロセスフロー
条件分岐によってフローを切り替えることも可能。
合流させることも可能。合流させるには、合流させたいステージを選択して[コネクタ]→[接続]を押下して
合流後のステージを選ぶと合流できる。参考サイト
ttps://ippu-biz.com/development/powerplatform/powerapps/mda/bpf-condition/
【Power Apps】ダッシュボードとグラフ
-
ダッシュボード
ダッシュボードは事前に準備した一覧画面(ビュー)やグラフを決まった枠内に配置できる機能。
・テーブルそのものを表示することも可能。
・テーブルを基に目的に合わせて行列を絞り込んだビューを表示することも可能。
・ビューを基に作成したグラフを表示することも可能。
-
グラフ
グラフはビューに連動しており、ダッシュボード内で絞り込み条件を変更することで
グラフも動的に変わる。予実比較ようなグラフも作成できる。
横軸:年、タイプ(見積/実績)
縦軸:比較項目(月ごとの金額とか)
参考サイト
ttps://www.arcuss-japan.com/crmblogs/2020/01/07/3161/
【Power Automate】Excelファイルの操作
-
Excelファイルの監視
SharePoint上のファイル監視は本ブログの「【Power Automate】SharePointの監視」を参照。
-
Excelファイルを開く
監視が成功するとJSONが戻ってくるので、その中から34桁のブックIDを取得し、
それをExcel操作用に利用する必要がある。
参考サイト
ttps://qiita.com/fukasuke/items/1502b9b9b045c78f67e9具体的な取得方法としては戻り値の中から「Thumbnail」を取得する。
Thumbnailを「&」で分解すると以下の形式となるので、
「docid」をsubstringやindexOfを駆使して取得する。https://japaneast1-mediap.svc.ms/transform/thumbnail ?provider=spo &inputFormat=xlsx &cs=fFNQTw &docid=https%3a%2f%2f・・・ &width=xxx &height=xxx
【Power Automate】動的コンテンツと式
-
動的コンテンツと式
Power Automateで選択した動的コンテンツはすべて式で表現できる。
例)以下は同じ意味substring(variables('変数名'), indexOf(variables('変数名'), 'https%3a%2f%2f')) substring(動的コンテンツから指定, indexOf(動的コンテンツから指定, 'https%3a%2f%2f'))
動的コンテンツから指定=variables(‘変数名’)は同じオブジェクトを指している。
【Power Automate】トリガーエラーの内容確認
-
トリガーエラーの内容確認
トリガーエラーは実行時エラーになるとエラー内容が確認できないが、
テスト実行で実行するとエラー内容が確認できる。
【Power Automate】選択肢のコード値
-
Power Automateで選択肢のコード値を使う
テーブルの選択肢を設定画面から見ると「530,100,000」のように
カンマ区切りで表記されるが、
PowerAutomateで条件式で利用する際は
数値で「530100000」のようにカンマを除去して利用する。