たちまち。

即席で役に立つこと。

Dynamicsのデータ暗号化で「この種類の要求には HTTPS プロトコルが必要です。」

Dynamicsの機能にアクセスする際、「データ暗号化のエラー」が表示されることがある。

組織のデータベースには暗号化されたフィールドがありますが、データ暗号化機能がアクティブ化されていません。データ暗号化のアクティブ化については、Microsoft Dynamics 365 システム管理者にお問い合わせください。アクティブ化するには、[システムの設定]、[データ管理]、[データ暗号化] の順に移動します。詳細については、http://go.microsoft.com/fwlink/?LinkId=316366 を参照してください。 サポートに問い合わせる場合は、技術的な詳細をご用意ください。

案内の通りにシステムの設定からデータ暗号化を設定しようとすると、今度は次のエラーが発生する。

f:id:aposke:20210408183001j:plain

この種類の要求には HTTPS プロトコルが必要です。HTTPS プロトコルを有効にしてからやり直してください。詳細については、インストール後の手順と構成の手順を参照してください。

HTTPSアクセスするつもりがなく、これを回避する場合にはデータベース「MSCRM_CONFIG」に対して以下のクエリを投げることで回避できる。

UPDATE DeploymentProperties
SET BitColumn = 1
WHERE ColumnName = ‘DisableSSLCheckForEncryption’

AccelCollaborationでスケジュール登録時にメールが送信されない

f:id:aposke:20210316171620p:plain

Collaborationでのスケジュール登録時に「参加者に通知する」「自分を通知先に含める」などを選択しても、メールが送信されない。

個人設定を確認したところ、スケジュール登録時のメール送信にはチェックが付いている。 共通マスタのメールアドレス1も設定済み。

標準出力ログを見ると、以下のようなログが出ている。

[WARN] j.c.i.s.m.m.d.MailMessageDeliverer4LegacyMailTemplate - [W.IWP.MESSAGEHUBMAIL.DELIVERY.00003] 該当ユーザを宛先から除外しました。ユーザコード = aoyagi(理由:該当ユーザが存在しない、または、メールアドレスが設定されていないため)

この場合、Collaboration個人設定の一般通知設定が漏れていることが原因。

個人ユーザでログインし、メニューから以下を開く。

  • Collaboration>個人設定>全般

画面内にある「一般通知設定」のメールアドレス1にチェックし、保存する。

これで設定したメールアドレスにメールが送信されるようになる。

intra-martサポートサイトのパスワードをリセットする方法

f:id:aposke:20210303170253p:plain

長いこと使っていないIDだと、intra-martサポートサイト(https://product.intra-mart.support/hc/ja)のパスワードを忘れてしまうことがよくあります。

パスワードを間違えた場合、その画面に表示されている「パスワードを忘れた場合」のリンクからパスワードの再設定を行うことができます。

パスワードリセット時に入力するメールアドレス

「パスワードを忘れた場合」をクリックするとメールアドレスを聞かれますが、

ここで入力するのはログインIDと同じ「xxxxxxxxxxx@intra-mart.support」です。

すると、サポート用のメールアドレスにパスワードリセット用のメールが送信されます。

パスワードリセットメールはどこに届くのか

このパスワードリセットメールはサポート用のメールアドレスに届くのですが、これは一体どこで設定されているのか。

その答えは、保守契約管理サイト(https://mc.intra-mart.support/imart/login)です。

ログインし、保守契約>登録情報変更にあるサポートメールアドレス1~5が対象のアドレスになります。(このサイトのログインについては、保守契約時の納品物に入っている「保守契約管理サイトのご案内」に記載されています。)

担当者変更等でメールが届かない場合は、こちらのメールアドレスを設定し直しましょう。

サポート問合せの状況更新メールもこちらに届きます。

以上、IMサポートに関するTIPSでした。

Dynamics365のフィード表示でエラーが発生する

確認バージョン:Dynamics 365 v9.0.19.8

ダッシュボード等でフィードの表示を行うと、以下のようにエラーが発生する。

f:id:aposke:20210301125048p:plain

エラーが発生しました。しばらく待ってから再試行してください。問題が解決しない場合は、システム管理者に問い合わせてください。

何かのカスタマイズが原因かと思ったが、新規の組織でも同様の状態。

解決策

最新のアップデートをあてたら直った。

support.microsoft.com

どのバージョンから直ったかはわからないが、今回入れたバージョンは、9.0.24.8である。

9.0.24.8の修正内容に「Unexpected error displaying cases on TimeLineWall.」の記述があるので、もしかしたらこれで直ったのかもしれない。

JavaScriptエラー等から色々調査しようとしていたが、素直にアップデートに頼ることも大切である。

DynamicsCRMで現在のURLを取得する方法

f:id:aposke:20210216115122j:plain

Webリソース内のJavaScriptにて、以下の処理を記述する。

// 1. GlobalContextを読み込む
<script src="ClientGlobalContext.js.aspx" type="text/javascript" ></script>

// 2. コンテキストを取得
var context = GetGlobalContext();

// 3. クライアントURLを取得
var url = context.getClientUrl(); //「http(https)://<IPアドレス>/<組織名>」が返る

CompileClassNotFound エラー: クラス~が重複しています

f:id:aposke:20210202164035p:plain

Javaファイルを配置し、Resin起動時以下のようなメッセージが表示された。

{main} com.caucho.java.CompileClassNotFound: /usr/local/resin/(パス省略):47: エラー: クラスsample.LogicClassが重複しています

原因

この事象は文字通り、クラスが重複している。つまり、同じクラスを定義しているファイルが複数存在している可能性が高い。

解決方法

今回の事例では、同じJavaファイルを別の階層にも配置してしまっており、このエラーが発生した。

余計に配置してしまったJavaファイルを削除することで、解決。

Resin用のエラーログなので中々一般的な情報がなくハマりかけたが、気を付けよう。

Dynamics365 TeamMemberでアクセスすると「このロールで使用できるアプリが見つかりません」

以前の記事でも同じようなことを書きましたが。

www.tachi-machi.net

今回はこれとは別で、2020 wave1の影響により、2021/02/01からアクセスできなくなるという事象。

以下、Microsoftのページから抜粋。

注意

2018 年 10 月以降に購入した既存の Team Members ライセンスを持つユーザーは、この指定されたアプリ セットに制限されるため、当該ユーザーは顧客サービス ハブ、営業ハブ、カスタム アプリをご利用いただけなくなります。

新しい Dynamics 365 Team Members ライセンスの早期アクセス フェーズでは、新しいライセンスを持つユーザーは、指定された Team Members アプリに加えて、既存のすべてのアプリをご利用いただけるようになります。 ただし、2020 年リリース ウェーブ 1 ビルドでライセンス適用が有効になると、当該ユーザーは顧客サービス ハブ、営業ハブ、カスタム アプリなど、使用を許可されていないアプリをご利用いただけなくなります。 Team Members シナリオをテストし、必要に応じてすべてのカスタマイズ内容を指定されたアプリに移行することをお勧めします。

スムーズな移行を支援するため、2020 年 4 月 1 日以前に作成したすべての顧客組織インスタンスは、2021 年 1 月 31 日までの猶予期間を追加で付与されます。

docs.microsoft.com

簡単に言えば、「今までのアプリ使えなくなるからTeamMemberアプリ使ってね」ということである。

管理者アカウントでアプリ一覧を見ると、なるほどTeamMemberアプリらしきものが存在している。

f:id:aposke:20210201163158p:plain

このアプリの「…」>「ロールの管理」を設定すると、TeamMemberユーザからアクセス可能となった。

あとは、アプリデザイナーを開いてサイトマップを整備してやれば…

って、ここはどうもインポートがなくて手動のようなのだけど。

エンティティ多くなければそんなにかからないと思うので、がんばろう。

以上で対応が完了した。