たちまち。

即席で役に立つこと。

SSRSでのアップロードやデータソース作成時にアクセス権限エラーが発生する

SSRS(SQL Server Reporting Services)での話。

http://{ipaddress}/reports でアクセスできる画面より、レポートファイルやデータソースなどを作成できるが、 それらの操作を行おうとすると以下のエラーが発生することがある。

f:id:aposke:20210414125707j:plain

エラーが発生しました。

この操作を実行するためのアクセス許可がありません。管理者に連絡して必要なアクセス許可を取得してください。

この場合、サイト上の設定からアクセス権限を設定する必要がある。

対応方法

  1. 画面上部の歯車アイコン>サイトの設定
  2. 「セキュリティ」を開き、「グループまたはユーザの追加」
  3. 入力欄に許可したいユーザのID(Webアクセスした際の認証を通したID)を入力し、全ロールを付与してOK

これで、アップロードやデータソース作成が可能になる。

Dynamics365 統一インタフェースでビュー表示時にエラー(400 Bad Request)

統一インタフェースで、エンティティのビューを表示しようとすると以下のエラーになる。

f:id:aposke:20210412172801j:plain

F12の機能で中身を確認すると以下のように表示されている。

/CRM/api/data/v9.0/$batch Failed to load resource: the server responded with a status of 400 (Bad Request)

さらに、FireFoxで応答の内容を細かく確認するとこんな感じだ。

{"error":{"code":"0x80041103","message":"'new_entity' entity doesn't contain attribute with Name = 'startdate' and NameMapping = 'Logical'. MetadataCacheDetails: ProviderType=Dynamic, StandardCache=True, IsLoadedInStagedContext = False, Timestamp=2710948, MinActiveRowVersion=2710948","innererror":{"message":"'new_entity' entity doesn't contain attribute with Name = 'startdate' and NameMapping = 'Logical'. MetadataCacheDetails: ProviderType=Dynamic, StandardCache=True, IsLoadedInStagedContext = False, Timestamp=2710948, MinActiveRowVersion=2710948","type":"System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]","stacktrace" 以下略

「startdate」フィールドがないと言われているが、そんなフィールドは存在しないし作れない。

海外フォーラムなどを巡ってみるも一般的なエラーではないようで、なかなか有力な情報はヒットしない。

ただ、上記エラー0x80041103はクエリに失敗した際のエラーなので、ビュー定義に何か問題があるようだ。

対応方法

正しいソリューションを入れ直すこと。

今回の環境は、Dynamics v8.2のデータベースをDynamics 365 v9.0にアップグレードしたものであった。

しかし、何が起こっているのかわからないがビュー定義がおかしくなっている。

そこで、v8.2のソリューションをエクスポートし、それをそのままv9.0の環境にソリューションインポートを行ったところ、解決した。

なかなかニッチな状況下でのエラーだが、誰かの役に立つことを願う。

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アドレス>/<組織名>」が返る