0

HTML Web リソースを使用して、エンティティに存在する注釈をポップアップ ウィンドウに表示する方法。私の要件は、エンティティに存在する注釈をポップアップウィンドウに表示し、ポップアップウィンドウでユーザーが注釈を削除、アップロード、pdf に変換できるようにすることです (必要な場合)。crm 2011でこれを達成するための最良の方法を提案できますか.

function retann() {
//debugger;

var serverUrl = Xrm.Page.context.getServerUrl();

var GUIDvalue = Xrm.Page.data.entity.getId();

// Creating the Odata Endpoint
var oDataPath = "http://url/organization/XRMServices/2011/OrganizationData.svc/";
var retrieveReq = new XMLHttpRequest();
var Odata = oDataPath + "/AnnotationSet?$select=DocumentBody,FileName,MimeType,ObjectId&$filter=ObjectId/Id eq guid'" + GUIDvalue + "'";
retrieveReq.open("GET", Odata, false);
retrieveReq.setRequestHeader("Accept", "application/json");
retrieveReq.setRequestHeader("Content-Type", "application/json; charset=utf-8");
retrieveReq.onreadystatechange = function () { retrieveReqCallBack(this); };
retrieveReq.send(); 
}


function retrieveReqCallBack(retrieveReq) {
if (retrieveReq.readyState == 4 /* complete */) {

//debugger;

    var retrieved = this.parent.JSON.parse(retrieveReq.responseText).d;

    var message = "";
    var fun_var =
    "<script type=text/javascript>" +
    "function result_value()" +
    "{" +
    "var rad_val;" +
    "for (var i=0; i < document.orderform.test.length; ++i){if (document.orderform.test[i].checked){rad_val = document.orderform.test[i].value;}}" +
    "if(rad_val==null || rad_val=='')" +
    "{" +
    "window.top.opener.Xrm.Page.data.entity.attributes.get('new_radiovalue').setValue('0');" +
     "}" +
    "else" +
    "{" +
    "window.top.opener.Xrm.Page.data.entity.attributes.get('new_radiovalue').setValue(rad_val);" +
    "}" +
     " window.top.opener.Xrm.Page.data.entity.attributes.get('new_fireplugin').setValue(1);" +
     "window.top.opener.Xrm.Page.data.entity.save();" +
    "this.window.close();" +
    "}" +
    "function result_value1()" +
    "{" +
    "var rad_val1;" +
    "for (var i=0; i < document.orderform.test.length; ++i){if (document.orderform.test[i].checked){rad_val1 = document.orderform.test[i].value;}}" +
    "if(rad_val1==null || rad_val1=='')" +
    "{" +
    "window.top.opener.Xrm.Page.data.entity.attributes.get('new_radiovalue').setValue('0');" +
     "}" +
    "else" +
    "{" +
    "window.top.opener.Xrm.Page.data.entity.attributes.get('new_radiovalue').setValue(rad_val1);" +
    "}" +
     " window.top.opener.Xrm.Page.data.entity.attributes.get('new_delete').setValue(1);" +
     "window.top.opener.Xrm.Page.data.entity.save();" +
    "this.window.close();" +
    "}" +
    "</script>";

    var n = retrieved.results.length;
    for (var i = 0; i < retrieved.results.length; i++) {
        message += " <input type='radio' name='test' value=' " + i + "' />" + retrieved.results[i].FileName + "<br />";
    }
    myWindow = window.open('', '', 'width=500,height=150,left=250,top=250,scrollbars=yes,resizable=yes,directories=yes');
    myWindow.document.write(fun_var + "<body bgcolor=GhostWhite style='font-family:verdana;font-size:11px;'><form name='orderform' style='font-family:verdana;font-size:11px;'>" + message + "</br><center ><input type='button' onclick='result_value()' style='font-family:verdana;font-size:11px;' value='Convert To PDF'/></center>" + "</form>");
    myWindow.focus();

}
}


function SetField() {
var AddressType = Xrm.Page.data.entity.attributes.get("new_radiovalue");
AddressType.setValue("");
}


function save_form() {

// var MainPhone = Xrm.Page.data.entity.attributes.get("new_name").getValue(); 
//Xrm.Page.data.entity.attributes.get("new_name").setValue(MainPhone+"."); 
Xrm.Page.data.entity.save();

}

retrieveReqCallBack(this) 関数は、注釈付きのポップアップを表示します。上記のコードを使用して、doc を pdf に変換できます。アップロード、削除、pdfへの変換などの複数の機能を追加したいので。注釈が存在する場合、ポップアップにはアップロードするオプションが必要であり、注釈が存在する場合は、削除して PDF に変換するボタンを表示する必要があります。

4

1 に答える 1

0

これが私の質問に対する解決策であることがわかりました。サブグリッドからデータを引き出し、行を解析し、REST または SOAP を介して crm データをクエリして、注釈があり、ユーザーがそのレコードに対して添付ファイルをアップロードできるようにする「クリップ」のアイコンを配置します。

于 2012-10-02T11:14:55.290 に答える