私はこれを絞り込みました...サービス予約フォームのバグのように見えますが、他の誰かにとって意味がある場合に備えてここで尋ねたいと思いました...バニラCRMで再作成し、1つのjavascriptファイルを追加し、javascript関数をに添付しましたサービスのオンチェンジ。
自分自身を再作成するには、この JavaScript を Web リソースに追加し、その Web リソースをサービス予定フォームとサービスの onchange に添付します。2 つのサービスがまだない場合は、組織に 2 つのサービスを追加します。新しいサービス予定を作成します。サービス A を選択します。次にサービス B を選択します。フォームを保存します。エラーが表示されます。
すべての JavaScript がサポートされており、そのフォームのカスタマイズがサポートされています... CRM のバグに違いありません。
重要なことに、このコードは更新プログラムのロールアップ 11 では機能しますが、ロールアップ 12 では機能しません。
function OnChange_Service() {
var serviceId;
serviceId = Xrm.Page.getAttribute("serviceid").getValue();
var targetFieldName = 'customers';
var targetFieldEntityType = 'Account';
var targetFieldEntityId = '610BEA47-7B74-E211-B3EB-78E3B511A6C0'; // use a known accountId
Xrm.Page.getAttribute(targetFieldName).setValue(null);
if (serviceId != null) {
var arrValue;
arrValue = new Array();
var targetField = Xrm.Page.getAttribute(targetFieldName);
if (targetField != null) {
arrValue[0] = new Object();
arrValue[0].entityType = targetFieldEntityType;
arrValue[0].id = targetFieldEntityId;
arrValue[0].name = "not its real name, but who cares";
targetField.setValue(arrValue);
}
}
}
編集: 例外/エラーの詳細:
例外は (トレースから):
System.FormatException: Microsoft Dynamics CRM でエラーが発生しました。管理者またはサポートの参照番号: #1471AD8A: System.FormatException: GUID には 4 つのダッシュ (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) を含む 32 桁が含まれている必要があります。System.Guid.GuidResult.SetFailure (ParseFailureKind エラー、文字列 failureMessageID、オブジェクトの failureMessageFormatArgument、文字列 failureArgumentName、例外 innerException) で System.Guid.TryParseGuidWithNoStyle (文字列 guidString、GuidResult& 結果) で System.Guid.TryParseGuid (文字列 g、GuidStyles フラグ、 GuidResult& 結果) Microsoft.Crm.Application.Platform.AttributeCollection.CreateEnityReferenceFromLookupPropertyValue (文字列名、オブジェクト値、IOrganizationContext コンテキスト) の System.Guid..ctor(String g) で、Microsoft.Crm.Application.Platform.AttributeCollection で。
ユーザーに表示されるエラーは、スクリーンショットのようにフォーム自体に埋め込まれています...前にそのように見たことはありません: