1

OnLoad を起動するサービス アクティビティ フォームにいくつかの Javascript が添付されています。Service Case (Service Activity に関連する) に関連付けられた TechId を取得し、Service Activity のリソースをデフォルトでこのユーザーに設定しようとします。

未解決のリソースのスクリーンショット

上のスクリーンショットでわかるように、リソース フィールドに正しい「名前」が挿入されますが、アイコンが「破損」しているため、適切に解決されていないようです。これを削除して同じユーザーを手動で追加すると、すべて問題ありません。このアクティビティを画像のまま保存しようとすると、スケジューリング エンジンに問題があることを示すエラーが生成されます。

この値を設定するために使用するコードは次のとおりです。

function SetTechId()
{
if (Xrm.Page.getAttribute("resources").getValue() == null)
{
    if (Xrm.Page.getAttribute("regardingobjectid").getValue() != null)
    {
        var caseId = Xrm.Page.getAttribute("regardingobjectid").getValue()[0].id;

        var endPoint = getODataEndPoint();
        var odataSelect = endPoint + "/IncidentSet?$select=new_new_fieldtechs_incident/OwnerId,new_new_fieldtechs_incident/OwningUser&$expand=new_new_fieldtechs_incident&$filter=IncidentId eq guid'" +  caseId + "'";

        $.ajax({
               type: "GET",
               contentType: "application/json; charset=utf-8",
               datatype: "json",
               url: odataSelect,
               beforeSend: function (XMLHttpRequest) { XMLHttpRequest.setRequestHeader("Accept", "application/json"); },
               success: function (data, textStatus, XmlHttpRequest) 
                   {
                        if (data.d != null)
                        {
                            var fieldTech = data.d.results[0];
                            var ownerId = fieldTech.new_new_fieldtechs_incident.OwnerId;

                            //because the resources field in the service activity is a partylist, we need to treat this differently
                            var partylist = new Array();
                            partylist[0] = new Object();
                            partylist[0].id = ownerId.Id; //Guid (i.e., Guid of User or Contact etc)
                            partylist[0].name = ownerId.Name; //Name (i.e., Name of User or Contact etc)
                            partylist[0].entityType = "account"; //entity schema name of account or contact

                            Xrm.Page.getAttribute("resources").setValue(partylist);
                        }
                   },
               error: function (XmlHttpRequest, textStatus, errorThrown) { }
        });
    }
}
}

function getODataEndPoint() {
return Xrm.Page.context.prependOrgName("/xrmservices/2011/OrganizationData.svc"); 
};
4

1 に答える 1

4

account「トニー・ハーレー」は本当にsystemuser?

partylist[0].entityType = "account"; //entity schema name of account or contact
于 2012-06-29T10:39:15.953 に答える