2012-05-23 3 views
2

나는 정말로 내가 여기에서 꼼짝 못하는 것처럼 somone이 나를 더 도울 수 있기를 바란다. 임 게시물 크리 에이 티브 플러그인에서 내 계약 엔티티에 계약 라인을 추가하려고. 내 코드 : 나는 오류가 몇 가지 이유를 들어계약 CRM 2011에 계약 라인 추가

Guid c_Id = (Guid)entity.Attributes["contractid"]; 
DateTime start = (DateTime)entity["activeon"]; 
DateTime end = (DateTime)entity["expireson"]; 
Money money = new Money(); 
money.Value = 0; 


//Set Instance for Contract Line 
Entity ContractLine = new Entity(); 
ContractLine.LogicalName = "contractdetail"; 

//Create Contract Line for the Contract 
ContractLine["title"] = "PLUGIN FIRED"; 
ContractLine["activeon"] = start; 
ContractLine["expireson"] = end; 
ContractLine["totalallotments"] = 1; 
//ContractLine["customerid"] = entity["customerid"]; 
//ContractLine["productid"] = entity["productid"]; 
ContractLine["price"] = money; 
ContractLine["contractid"] = c_Id; 

service.Create(ContractLine); 

그 "속성 : contractid은 NULL로 설정할 수 없습니다"나는 다른 필드를 checkd, 그것은 실제로 contractid의 GUID를 얻을 수 없기 때문에 정말 stragnge 다른 엔티티. 나는 somone가 나를 여기에서 도울 수 있는지 정말로 정말로 바르게 평가할 것이다. 감사.

답변

2

ContractLine["contractid"] = c_Id; ContractLine["contractid"] = new EntityReference("contract", c_Id);이 될까요?

또한 c_Id가 GUID 대신 EntityReference가되어야합니까?

+0

대단히 고마워요 분, 감사합니다. ContractLine [ "contractid"] = 새로운 EntityReference ("contract", c_Id)로 변경해야했습니다. –

1

예외가 발생하는 결과로 다른 플러그인이 실행될 가능성이 있습니다. 그것은 항상 나를 물린 것 같습니다. 작업중인 플러그인을 제외한 다른 모든 플러그인을 비활성화하십시오.

+0

안녕하세요, 저는 dev 환경에서 작업하고 있습니다. 하지만 그것은 실제로 이상합니다. 왜냐하면 actaully는 contractId를 얻습니다. 그러나 ContractLine [ "contractid"]에 대해 설정하면이 오류가 발생합니다. –

+1

그래서 디버깅하면이 줄에서 예외가 throw됩니다. ContractLine [ "contractid"] = c_Id; 또는 생성하는 동안 던져지고있다? – Daryl

+0

안녕하세요 Daryl, 답변을 아래에 보여 주셔서 감사합니다.이 ContractLine [ "contractid"] = new EntityReference ("contract", c_Id)와 같이 설정해야했습니다. 답장을 다시 작성하십시오. –