1.前端界面获取当前CRM实体记录的Guid:
var currentEntityId = Xrm.Page.data.entity.getId();
2.前端界面获取当前CRM实体记录字段的值:
Xrm.Page.getAttribute("createdfromcode").getValue();//createdfromcode为字段的CRM名称
3.向市场营销活动中添加成员:
AddMemberListRequest addMemberListRequest = new AddMemberListRequest();
addMemberListRequest.EntityId = new Guid(leadDs.Tables[0].Rows[0]["LeadId"].ToString());(会员记录Guid)
addMemberListRequest.ListId = new Guid("C567D8F2-4865-E711-80CD-005056BB7917");(市场活动记录Guid)
AddMemberListResponse addMemberListResponse = service.Execute(addMemberListRequest) as AddMemberListResponse;
4.向实体中添加记录:
IOrganizationService service = CrmOrganization.GetService();//连接CRM实体记录
ExecuteTransactionRequest requestForTran = new ExecuteTransactionRequest()
{
Requests = new OrganizationRequestCollection()
};
Entity createLeadItems = new Entity("lead");//实体名
//姓----文本字段赋值
createLeadItems["LastName"] = lastname;
//销售组织----查找字段赋值:new_saleorgid-目标实体中该字段的CRM名字;new_saleorg-目标实体名;new_saleorgid-需要赋的值
createLeadItems["new_saleorgid"] = new EntityReference("new_saleorg", new Guid(new_saleorgid));
//类型----选项集赋值
createImportwork["new_object"] = new OptionSetValue(1030);
//源文件记录数----数字类型赋值
createImportwork["new_sourcenum"] = Convert.ToDecimal(ImportData.Rows.Count);
CreateRequest createLeadRequest = new CreateRequest { Target = createLeadItems };
requestForTran.Requests.Add(createLeadRequest);
ExecuteTransactionResponse responseForTran = (ExecuteTransactionResponse)service.Execute(requestForTran);
5.WEB工程调用控制台程序:
ProcessStartInfo start = new ProcessStartInfo();
//start.Arguments 后面为向控制台传递的参数,用空格隔开,控制台以 args[] 数组的形式接收
start.Arguments = loyaltyproId + " " + UploadFileUrl + " " + new_importworkId + " " + TargetList + " " + listId;
start.FileName = "C:\\ConsoleProgram\\BulkImportProcess\\BulkImportProcess.exe";
//以下注释部分为需要回传参数时候使用
//start.UseShellExecute = false;
//start.RedirectStandardInput = true;
//start.RedirectStandardOutput = true;
//start.RedirectStandardError = true;
//start.CreateNoWindow = true;
Process process = Process.Start(start);
6.在服务器新建文件
//filepath:新建文件路径; fileData: DataTable类型,新建文件内容
FileStream filestream = new FileStream(filepath, FileMode.Create);
IWorkbook workbook = ExcelHelper.BuildWorkbook(fileData);
workbook.Write(filestream);
workbook.Close();