Updating an Activity in MS CRM via web service?

Cra*_*igF 0 dynamics-crm

我整个上午都在努力做到这一点.任何人都有一个代码片段(C#),显示如何通过Web服务更新CRM中的"活动"?我可以使用实体创建CreateReadUpdateDelete,但我不确定如何使用Activities.

在Google上找不到任何东西......

Moo*_*ose 5

您有什么特别要更新的?基本上,更新活动就像更新任何其他实体一样,您只需使用该task实体.

public void CloseTask(CrmService crmsvc, Guid activityid, DateTime start, DateTime end)
{
    ColumnSet cols = new ColumnSet();
    cols.Attributes = new string[] { "activityid", "statecode" };

    task tsk = (task)crmsvc.Retrieve(EntityName.task.ToString(), activityid, cols);
    if(tsk.statecode.Value != TaskState.Open)
         return;

    tsk.actualstart = new CRMDateTime();
    tsk.actualstart.value = start.ToString();
    tsk.actualend =  new CRMDateTime();
    tsk.actualend.value = end.ToString();


    crmsvc.Update(tsk);

    SetStateTaskRequest state = new SetStateTaskRequest();
    state.EntityId = activityid;
    state.TaskState = TaskState.Completed;
    state.TaskStatus = -1; // Let MS CRM decide this property;
    SetStateTaskResponse stateSet = (SetStateTaskResponse)crmsvc.Execute(state);

}
Run Code Online (Sandbox Code Playgroud)

编辑:添加了一些示例代码.请注意,我必须修改我必须删除的一些专有代码,所以我不知道这是否会实际编译.它虽然很接近.