我需要在创建新约会时更改约会记录的所有者.我正在使用插件创建消息,我发现此代码将新的所有者分配给约会:
entity = context.PostEntityImages["PostImage"];
......
AssignRequest request = new AssignRequest();
//request.RequestName
request.Assignee = new EntityReference("systemuser", owners.ToList()[0].Id);
request.Target = new EntityReference(Appointment.EntityLogicalName, entity.Id);
service.Execute(request);
Run Code Online (Sandbox Code Playgroud)
但是当我测试这个时,我得到以下错误:无效的参数:活动应该只有一个所有者聚会
我想我必须首先删除当前所有者,然后分配新的所有者.但我怎么能这样做?
谢谢你的帮助!
我在如何更新刚刚使用其他数据创建的记录方面遇到了严重问题.
案例:我有短信活动.在创建短信记录.插件会自动发送短信.第三方短信提供商负责发送并返回状态字符串.根据这些字符串,必须更新sms的状态.
这是我的一些代码:
public void Execute(IServiceProvider serviceProvider)
{
IPluginExecutionContext context = (IPluginExecutionContext)
serviceProvider.GetService(typeof(IPluginExecutionContext));
IOrganizationServiceFactory serviceFactory =
(IOrganizationServiceFactory)serviceProvider.GetService(
typeof(IOrganizationServiceFactory));
IOrganizationService service =
serviceFactory.CreateOrganizationService(context.UserId);
aContext orgContext = new aContext(service);
Entity sms = (Entity)context.InputParameters["Target"];
/// logic goes here
sms.StatusCode = new OptionSetValue(statuscode); //statuscode is integer
service.Update(sms);
}
Run Code Online (Sandbox Code Playgroud)
每次执行插件时,插件中都出现错误.有人可以帮助并解释我在这里做错了什么吗?
谢谢!
我正在尝试对Flickr API进行身份验证,以获取我想为自己制作的演示应用程序.然后我将使用我将学习Flick API的新功能扩展此应用程序.
所以这只是我想要玩的东西.但是现在我在获取请求令牌方面遇到了一些麻烦.
我在这里关注Flickr身份验证文档:Flickr身份验证
我还发现了这个Mathlabscript:Flickr API和基于OAuth的用户身份验证
所以基于这些来源我现在有以下控制台应用程序:
class Program
{
private static string Secret = "2b2b2b2b2b2b2b2b2b";
private static string ConsumerKey = "1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a";
static void Main(string[] args)
{
Random rand = new Random();
string nonce = rand.Next(9999999).ToString();
string timestamp = ((int)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds).ToString();
Console.WriteLine("Nonce: " + nonce);
Console.WriteLine("TimeStamp: " + timestamp);
Console.WriteLine("ConsumerKey: " + ConsumerKey);
Console.WriteLine("AppSecret: " + Secret);
//request url
StringBuilder b = new StringBuilder();
b.Append("http://www.flickr.com/services/oauth/request_token");
b.Append("?");
b.Append("oauth_nonce=");
b.Append(nonce);
b.Append("&oauth_timestamp=");
b.Append(timestamp);
b.Append("&oauth_consumer_key=");
b.Append(ConsumerKey);
b.Append("&oauth_callback=oob"); …Run Code Online (Sandbox Code Playgroud) 我一直在寻找很长一段时间,因为画布元素上的旋转矩形的绘制,擦除和重绘在Mac上的谷歌浏览器中不起作用.
我需要这个,因为我想在画布上渲染悬停叠加层.
我创建了一个代表我的代码的小提琴:链接
HTML:
<canvas id="canvas" width="400" height="165" style="left: 0px; top: 0px; background-color:red;"></canvas>
Run Code Online (Sandbox Code Playgroud)
使用Javascript:
var canvas =null;
var ctx;
var target;
$(function() {
canvas=document.getElementById('canvas');
ctx = canvas.getContext('2d');
target = { h:81, id:"i1_2", isempty:false, r:-11.64, w:60, x:143, y:19, zindex:2};
});
function drawRectangle() {
ctx.save();
ctx.translate(target.x, target.y);
ctx.fillStyle = "green";
ctx.strokeStyle = "blue";
ctx.globalAlpha = 0.40;
ctx.rotate(target.r / 180 * Math.PI); //NO Rotation => It works!
ctx.fillRect(0,0,target.w,target.h);
ctx.restore();
}
function clearRectangle() {
ctx.clearRect(0,0,400,165);
}
Run Code Online (Sandbox Code Playgroud)
这适用于Windows和Mac上的所有浏览器,除了Mac上的Chrome.
当我评论出这条线
// ctx.rotate(angle);
Run Code Online (Sandbox Code Playgroud)
矩形在画布上绘制.(当然没有轮换)
我做错什么了吗?或者这可能是Chrome中的一个错误?
编辑:可能不是Chrome中的错误,因为此测试页在Mac上使用chrome: …
希望这里有一个使用 Firestore 查询的相对简单的问题
我试图从本质上创建一个新闻提要,从最旧的内容中排序最新的内容。这部分很简单,我使用:
var first = db.collection("feeds/0/active").orderBy("timestamp", "desc").limit(3);
Run Code Online (Sandbox Code Playgroud)
它检索新闻提要中的 3 个最新条目。我当时的想法是在下一个查询中,下拉提要中的下 3 个项目。因此,如果我们按年龄分类,就项目的新旧程度而言,集合中的 4、5、6 名。
为此,我获取查询一中的最后一项,并使用该节点的时间戳作为查询 2 中的起始值:
var first = db.collection("feeds/0/active").orderBy("timestamp", "desc").limit(3);
first.get().then(function (documentSnapshots) {
// Get the last visible document
var lastVisible = documentSnapshots.docs[documentSnapshots.docs.length-1];
var next = db.collection("feeds/0/active").orderBy("timestamp", "desc").startAt(lastVisible.data().timestamp).limit(3);
next.get().then(function(docSn){
console.log("SECOND QUERY!")
docSn.forEach(function(doc) {
console.log(doc.data().message)
})
})
Run Code Online (Sandbox Code Playgroud)
此代码的结果返回与第一个查询返回的结果相同,节点 1、2、3 尽管试图告诉第二个查询从节点 3 开始
我也尝试传入一个 javascript 对象:
var datevalue = Date.parse(lastVisible.data().timestamp)
var next = db.collection("feeds/0/active").orderBy("timestamp", "desc").startAt(datevalue).limit(3);
Run Code Online (Sandbox Code Playgroud)
不幸的是,这也不起作用。我还尝试传入整个快照项,并收到错误消息“来自 JS 的错误调用:字段大小不同。[[9,38,38,38],[0,0,1,0] 等..”
不知道从哪里开始,因为我已经阅读了文档和任何示例,我可以找到但似乎无法弄清楚。我能想到的实现这一点的唯一另一种方法是使用云函数在创建时为每个节点编号..但这感觉很糟糕
任何帮助将是巨大的!谢谢
我真的找不到如何从货币字段中检索值并将其设置为另一个实体的另一个货币字段的值.
我的以下代码无效:
var entities = retrieveRecords("trainingSet?$filter=trainingId eq guid'" + GetLookUpData("trainingid").id + "'");
if (entities != null) {
if (entities.d.results.length > 0) {
if (entities.d.results[0]["Price"] != null) {
alert(entities.d.results[0]["Price"]);
Xrm.Page.getAttribute("price").setValue(entities.d.results[0]["Price"].getValue());
Xrm.Page.getAttribute("price").setSubmitMode("always");
}
}
}
Run Code Online (Sandbox Code Playgroud)
错误sais控件只有数字或null.
任何帮助将非常感激!谢谢!
javascript crm dynamics-crm dynamics-crm-2011 dynamics-crm-online
我有多个List对象.但是一个列表中的一些项目也存在于其他列表中.我的问题是如何将所有列表中的所有项目合并到一个最终列表中.因此,该列表中没有重复项,并且项目按每个项目在不同列表中的重复项数排序.
例
List1:[users1,user2,user3,user4]
List2:[user2,user4,user5]
List3:[user4,user6]
结果:[user4,user2,user1,user3,user5,user6]
(具有相同计数的用户的顺序无关紧要)
我试过这样的事情:
List<User> finalResults = list1.Concat(list2).ToList<User>();
var q = finalResults.GroupBy(x => x.id)
.Select(g => new User { name = g.First().name, count = g.Count() })
.OrderByDescending(usr => usr.count);
finalResults = q.ToList<User>();
Run Code Online (Sandbox Code Playgroud)
但结果是一个空列表.
提前致谢!
我在两个实体之间有多对多的关系.我知道Dynamics CRM在数据库中为它创建了一个交叉表.我知道如何使用来自该自动创建实体的fetch命令检索记录.
但现在我想使用JavaScript动态地向该表添加新记录.这可能吗?
我试图为这种类型创建一个新记录,但后来我得到了以下错误.
create方法不支持["relationship_entity_name"]类型的实体.
我正在创建一个插件,触发自定义活动SMS的创建消息.这些插件将使用第三方短信服务提供商发送实际的短信.
因此,我需要获取SMS活动"收件人"字段中每个联系人的手机号码.这是一个类型的字段:PartyList.
我目前正在使用以下代码:
EntityCollection Recipients;
Entity entity = (Entity) context.InputParameters["Target"];
IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
IOrganizationService service = serviceFactory.CreateOrganizationService(context.UserId);
Content = entity.GetAttributeValue<String>("subject");
Recipients = entity.GetAttributeValue<EntityCollection>("to");
for (int i = 0; i < Recipients.Entities.Count; i++)
{
Entity ent= Recipients[i];
string number = ent["MobilePhone"].ToString();
}
Run Code Online (Sandbox Code Playgroud)
但这不起作用,我认为ent变量不包含任何属性.
我也尝试使用ActivityParty进行编码,但也没有运气.
我希望你们中的某个人可以帮助我.
谢谢!
我正在尝试创建一个新记录,其中一个字段是DataTime字段.
我总是得到"2011年9月1日19:25:20的日期 - 时间格式无效,或者值超出支持的范围." 错误.
我尝试了多种格式选项.使用Date.parse,Date.parseExact,...这是我的最后一次尝试:
//date input format = 2011-02-15 11:05:22
var year = register_date.substring(0, 4);
var month = register_date.substring(5, 7);
var day = register_date.substring(8, 10);
var hours = register_date.substring(11, 13);
var minutes = register_date.substring(14, 16);
var seconds = register_date.substring(17, 19);
var datetime = Date(Date.UTC(year, month, day, hours, minutes,seconds));
//var datetime = Date.parseExact(register_date, "yyyy-mm-dd HH:mm:ss");
regFields[4] = new CRMField("ave_subscriptiondate", datetime);
Run Code Online (Sandbox Code Playgroud) javascript datetime dynamics-crm formatdatetime dynamics-crm-2011