console
function editfield(){
debugger
var localUrl = "/api/data/v9.2/opportunities";
var roles = getUserRoles();
var teams = getUserTeams();
var teamsid=teams[0].id;
$.ajax({
type: "GET",
contentType: "application/json; charset=utf-8",
datatype: "json",
url: localUrl+"?$select=new_lock&$filter=statecode eq 0 &$count=true",
beforeSend: function(XMLHttpRequest) {
XMLHttpRequest.setRequestHeader("OData-MaxVersion", "4.0");
XMLHttpRequest.setRequestHeader("OData-Version", "4.0");
XMLHttpRequest.setRequestHeader("Accept", "application/json");
XMLHttpRequest.setRequestHeader("Prefer",
"odata.include-annotations=\"OData.Community.Display.V1.FormattedValue\"");
},
async: true,
success: function(data) {
debugger
var results=data.value;
var re=[];
for(var i=0;i<results.length;i++){
if(results[i].new_lock)
re.push(results[i].new_lock);
}
debugger
console.log(re);
var jsondata={};
for(var i=0;i<results.length;i++){
debugger
jsondata.new_lock=true;
var id=results[i].opportunityid;
$.ajax({
url: localUrl+"("+id+")",
type: "PATCH",
data: JSON.stringify(jsondata),
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (data) {
console.log(true);
},
error: function (data) {
console.log('Error!');
}
})
}
},
error: function(data) {
console.log('Error!');
}
});
Xrm.Utility.showProgressIndicator("フォームをロックしています少々お待ちください...");
setTimeout(function(){
Xrm.Utility.closeProgressIndicator();
},6666)
}
function locking(){
debugger
var re= Xrm.Page.getAttribute("new_lock").getValue();
if(re)
{
Xrm.Page.ui.controls.forEach(function (control, index) {
if(control.getDisabled()==false)
{
control.setDisabled(true);
}
});
}
else{
return false;
}
}
function Unlock(){
}
function getUserRoles() {
var userId = Xrm.Page.context.getUserId();
var serverUrl = Xrm.Page.context.getClientUrl();
var query = serverUrl + "/XRMServices/2011/OrganizationData.svc/SystemUserSet?$select=systemuserroles_association/Name,systemuserroles_association/RoleId&$expand=systemuserroles_association&$filter=SystemUserId eq guid'" + userId + "'";
var service = new XMLHttpRequest();
service.open("GET", query, false);
service.setRequestHeader("X-Requested-Width", "XMLHttpRequest");
service.setRequestHeader("Accept", "application/json, text/javascript, */*");
service.send(null);
var requestResults = eval('(' + service.responseText + ')').d;
var results = requestResults.results[0].systemuserroles_association.results;
return results.map(function (r) {
return {
name: r.Name,
id: r.RoleId,
entityType: "role"
}
})
}
function getUserTeams() {
var userId = Xrm.Page.context.getUserId();
var serverUrl = Xrm.Page.context.getClientUrl();
var query = serverUrl + "/XRMServices/2011/OrganizationData.svc/SystemUserSet?$select=teammembership_association/Name,teammembership_association/TeamId&$expand=teammembership_association&$filter=SystemUserId eq guid'" + userId + "'";
var service = new XMLHttpRequest();
service.open("GET", query, false);
service.setRequestHeader("X-Requested-Width", "XMLHttpRequest");
service.setRequestHeader("Accept", "application/json, text/javascript, */*");
service.send(null);
var requestResults = eval('(' + service.responseText + ')').d;
var results = requestResults.results[0].teammembership_association.results;
return results.map(function (t) {
return {
name: t.Name,
id: t.TeamId,
entityType: "team"
}
})
}
function unsave(context){
var id =Xrm.Page.data.entity.getId().replace('{','').replace('}','');
$.ajax({
url: localUrl + "(" + id + ")",
type: "get",
dataType: "json",
success: function (data) {
console.log(data)
debugger
{
context.getEventArgs().preventDefault();
}
}, error: function (data) {
alert('Error!');
}
})
}
function ShowTeamForLock()
{
debugger
var role=false;
var temas=getUserTeams();
for (var i=0;i<temas.length;i++) {
var name = temas[i]["name"];
if (name == "営業案件Lock/Unlock") {
role = true;
}
}
return role;
}
<script>
function editfield(){
var localUrl = "/api/data/v9.2/opportunities";
var roles = getUserRoles();
var teams = getUserTeams();
var teamsid=teams[0].id;
$.ajax({
type: "GET",
contentType: "application/json; charset=utf-8",
datatype: "json",
url: localUrl+"?$select=new_lock&$filter=statecode eq 0 &$count=true",
beforeSend: function(XMLHttpRequest) {
XMLHttpRequest.setRequestHeader("OData-MaxVersion", "4.0");
XMLHttpRequest.setRequestHeader("OData-Version", "4.0");
XMLHttpRequest.setRequestHeader("Accept", "application/json");
XMLHttpRequest.setRequestHeader("Prefer",
"odata.include-annotations=\"OData.Community.Display.V1.FormattedValue\"");
},
async: true,
success: function(data) {
var count=data["@odata.count"];
var results=data.value;
var time=results.length*10;
var re=[];
for(var i=0;i<results.length;i++){
if(results[i].new_lock)
re.push(results[i].new_lock);
}
if(re.length==count)
{
alert("フォームがロックされています,繰り返さないでください");
}
else{
var jsondata={};
for(var i=0;i<results.length;i++){
jsondata.new_lock=true;
var id=results[i].opportunityid;
$.ajax({
url: localUrl+"("+id+")",
type: "PATCH",
data: JSON.stringify(jsondata),
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (data) {
console.log(true);
},
error: function (data) {
console.log('Error!');
}
})
}
Xrm.Utility.showProgressIndicator("フォームをロックしています少々お待ちください......");
setTimeout(function(){
Xrm.Utility.closeProgressIndicator();
},time)
}
},
error: function(data) {
console.log('Error!');
}
});
}
function locking(){
var re= Xrm.Page.getAttribute("new_lock").getValue();
if(re)
{
Xrm.Page.ui.controls.forEach(function (control, index) {
control.setDisabled(true);
});
}
else{
return false;
}
}
function Unlock(){
var localUrl = "/api/data/v9.2/opportunities";
var roles = getUserRoles();
var teams = getUserTeams();
var teamsid=teams[0].id;
$.ajax({
type: "GET",
contentType: "application/json; charset=utf-8",
datatype: "json",
url: localUrl+"?$select=new_lock&$filter=statecode eq 0 &$count=true",
beforeSend: function(XMLHttpRequest) {
XMLHttpRequest.setRequestHeader("OData-MaxVersion", "4.0");
XMLHttpRequest.setRequestHeader("OData-Version", "4.0");
XMLHttpRequest.setRequestHeader("Accept", "application/json");
XMLHttpRequest.setRequestHeader("Prefer",
"odata.include-annotations=\"OData.Community.Display.V1.FormattedValue\"");
},
async: true,
success: function(data) {
var count=data["@odata.count"];
var results=data.value;
var time=results.length*10;
var re=[];
for(var i=0;i<results.length;i++){
if(!results[i].new_lock)
re.push(results[i].new_lock);
}
if(re.length==count)
{
alert("フォームのロックが解除されました,繰り返さないでください");
}
else{
var jsondata={};
for(var i=0;i<results.length;i++){
jsondata.new_lock=false;
var id=results[i].opportunityid;
$.ajax({
url: localUrl+"("+id+")",
type: "PATCH",
data: JSON.stringify(jsondata),
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (data) {
console.log(true);
},
error: function (data) {
console.log('Error!');
}
})
}
Xrm.Utility.showProgressIndicator("フォームをロックしています少々お待ちください......");
setTimeout(function(){
Xrm.Utility.closeProgressIndicator();
},time)
}
},
error: function(data) {
console.log('Error!');
}
});
}
function getUserRoles() {
var userId = Xrm.Page.context.getUserId();
var serverUrl = Xrm.Page.context.getClientUrl();
var query = serverUrl + "/XRMServices/2011/OrganizationData.svc/SystemUserSet?$select=systemuserroles_association/Name,systemuserroles_association/RoleId&$expand=systemuserroles_association&$filter=SystemUserId eq guid'" + userId + "'";
var service = new XMLHttpRequest();
service.open("GET", query, false);
service.setRequestHeader("X-Requested-Width", "XMLHttpRequest");
service.setRequestHeader("Accept", "application/json, text/javascript, */*");
service.send(null);
var requestResults = eval('(' + service.responseText + ')').d;
var results = requestResults.results[0].systemuserroles_association.results;
return results.map(function (r) {
return {
name: r.Name,
id: r.RoleId,
entityType: "role"
}
})
}
function getUserTeams() {
var userId = Xrm.Page.context.getUserId();
var serverUrl = Xrm.Page.context.getClientUrl();
var query = serverUrl + "/XRMServices/2011/OrganizationData.svc/SystemUserSet?$select=teammembership_association/Name,teammembership_association/TeamId&$expand=teammembership_association&$filter=SystemUserId eq guid'" + userId + "'";
var service = new XMLHttpRequest();
service.open("GET", query, false);
service.setRequestHeader("X-Requested-Width", "XMLHttpRequest");
service.setRequestHeader("Accept", "application/json, text/javascript, */*");
service.send(null);
var requestResults = eval('(' + service.responseText + ')').d;
var results = requestResults.results[0].teammembership_association.results;
return results.map(function (t) {
return {
name: t.Name,
id: t.TeamId,
entityType: "team"
}
})
}
function unsave(context){
Xrm.Page.data.entity.addOnSave(function(){
var new_lock=Xrm.Page.getAttribute("new_lock").getValue();
if(new_lock)
context.getEventArgs().preventDefault();
})
}
</script>