CRM自带的框架可以自行开发一套小项目,比如:XX服务网络支持项目;
CRM自带的实体产品,用户,客户可以满足这个项目的需求;再报表展示也是可以很好的结合;
再总结按钮触发事件
DisplayAllControl(false); //是隐藏常用的控件和按钮
//控制审批部分
//Case内容
var table0_1=crmForm.all.new_name.parentNode.parentNode.parentNode.parentNode; //控制节点的隐藏
//Case结果
var table1=crmForm.all.new_handle_status.parentNode.parentNode.parentNode.parentNode;
switch(crmForm.all.statuscode.DataValue)
{
case "1"://创建分发case
NotDisplayButton(["处理Case","提交Case"]); //隐藏按钮
DisabledModelFields(table1,true); //控制节点的隐藏
document.distributeWorkFlow= function()
{
if(crmForm.IsDirty)
{
SubmitSave();
return;
}
if(!crmForm.IsValid())
{
return;
}
var returnvalue=AddSingleUserInfo('Case-工程师'); //这个方法是可以弹出框,并进行选泽
var EntityName =crmForm.ObjectTypeName;
var Guid =crmForm.ObjectId;
Guid =Guid.replace("{","").replace("}","");
var statuename;
var xmlinfo='<root><Returnvalue>'+returnvalue+'</Returnvalue><StatueName>1</StatueName></root>'; //这里取XML并交给BLL文件
var returnvalue=SWWFCRM(EntityName,Guid,xmlinfo);
window.location.href = window.location.href.replace(/#/g,'');
}
/下列代码是弹框保存并清空改行数据
document.DealWorkFlow=function()//处理case
{
if(confirm('是否确定处理case进行记录?'))
{
if(crmForm.all.new_handle_status.DataValue==null||crmForm.all.new_processing_records.DataValue==null)
alert('未填写处理数据!');
crmForm.ForceSubmit =true;
crmForm.Save();
}
}
//下列是得到某实体的值并赋予给别的行的值
if(crmForm.all.new_cooperate_item.DataValue!=null)
{
var customerResult = RetrieveSingleEntity(crmForm.all.new_cooperate_item.DataValue[0].typename,crmForm.all.new_cooperate_item.DataValue[0].id, null);
//合同号
var new_contract=GetFieldValue(customerResult, "new_contract");
crmForm.all.new_item_contract.DataValue=new_contract;
}
else
{
crmForm.all.new_item_contract.DataValue=null;
}
if(crmForm.all.new_item_contract.IsDirty)
crmForm.all.new_item_contract.ForceSubmit =true;
、、、、、、、、、、、、、、、、、、下列SQL求的值
select a.New_report_object,c.Value from New_machine_controller as a
inner join MetadataSchema.Entity as b on b.Name='New_machine_controller'
inner join dbo.StringMap as c on a.New_report_object=c.AttributeValue
and c.AttributeName='New_report_object' and c.ObjectTypeCode=b.ObjectTypeCode
、、、、、、、、、、、、、
New_report_object Value
1 中心经理
、、、、、、、
select a.FullName from SystemUser as a inner join SystemUserRoles as b
on a.SystemUserId=b.SystemUserId
inner join Role as c on b.RoleId=c.RoleId and c.Name='系统管理员' where c.DeletionStateCode=0
、、、、、、、、、、、、、、、、、、、、、、、、、
FullName
工作流管理员
、、、、、、、、、、、、、、、、、、、、
if ((ds != null) && (ds.Tables[0].Rows.Count > 0))
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
DataRow dr = ds.Tables[0].Rows[i];
string FileID = dr["new_jbtitle"].ToString(); //警报标题
string timed = dr["new_bjieme"].ToString(); //小时
int times = Convert.ToInt32(timed);
string Subject = string.Format("超时{0}个小时警报!请及时通知{1},{2}", dr["new_bjieme"].ToString(), dr["Value"].ToString(), dr["new_alert_contents"].ToString());
string MailBody = CreateMailBody(_crmcontrol, dr, "");
string mailto = "";
foreach (DataRow drs in ds.Tables[0].Rows)
{
string CaseIDED = dr["New_caseId"].ToString().Trim();
if (CaseIDED == drs["New_caseId"].ToString())
{
mailto = mailto + drs["InternalEMailAddress"].ToString().Trim() + ";";
string ss = drs["InternalEMailAddress"].ToString();
string sa = drs["InternalEMailAddress"].ToString();
SendMail(_mailservice, mailto, Subject, MailBody);
}
}
}
}