2014-10-24 2 views
0

"", "cs_hv_smscope"등의 필드를 업데이트하려고하지만 기능이 srv.Update(de);이면 모든 양식 레코드가 업데이트되므로 원하지 않는 워크 플로가 트리거됩니다. 그것은 일어날 것입니다. 내가 필드를 업데이트하려면이 기능 srv.Update(de);을 사용하지 않으업데이트 메시지 (CrmService) Dynamics 4.0

// Retrieve the DynamicEntity that goes with target 
     RetrieveRequest retrieve = new RetrieveRequest(); 
     retrieve.Target = target; 
     retrieve.ColumnSet = new AllColumns(); 
     retrieve.ReturnDynamicEntities = true; 
     // Create a response reference and execute the retrieve request. 
     RetrieveResponse response1 = (RetrieveResponse)srv.Execute(retrieve); 
     DynamicEntity de = (DynamicEntity)response1.BusinessEntity; 


      if (opp.Properties.Contains("cs_hv_additionnalparticularities")) 
       de["cs_hv_additionnalparticularities"] = opp["cs_hv_additionnalparticularities"]; 
      if (opp.Properties.Contains("cs_hv_smscope")) 
       de["cs_hv_smscope"] = opp["cs_hv_smscope"]; 
      if (opp.Properties.Contains("cs_hv_ugscope")) 
       de["cs_hv_ugscope"] = opp["cs_hv_ugscope"]; 
      if (opp.Properties.Contains("cs_hv_acdc")) 
       de["cs_hv_acdc"] = opp["cs_hv_acdc"]; 
      if (opp.Properties.Contains("cs_hv_smmv")) 
       de["cs_hv_smmv"] = opp["cs_hv_smmv"]; 
      if (opp.Properties.Contains("cs_hv_smhv")) 
       de["cs_hv_smhv"] = opp["cs_hv_smhv"]; 
      if (opp.Properties.Contains("cs_hv_ughv")) 
       de["cs_hv_ughv"] = opp["cs_hv_ughv"]; 
      if (opp.Properties.Contains("cs_hvid")) 
       de["cs_hvid"] = opp["cs_hvid"]; 
      de["cs_generercable"] = new CrmBoolean(true); 

      srv.Update(de); 

: 여기 내 코드입니다. 누군가 나에게이 작업을 수행 할 수있는 업데이트 기능 코드를 제공 할 수 있습니까?

답변

0

추가 열을 업데이트하지 않으려면 new AllColumns() 대신 특정 열 (속성 ColumnSet) 만 검색하면됩니다.

Update 메서드를 사용하여 레코드를 업데이트 할 수만 있으면 워크 플로가 요청 된 필드에 대해서만 트리거되고 추가 필드에는 트리거되지 않도록해야합니다.

+0

정말 고맙습니다. 지금 .. – tollamie