2013-03-08 127 views
2

林:使用取取遇到一些麻煩的DateTime日期時間CRM 2011

<attribute name='new_startdate' groupby='true' dategrouping='day' alias='new_startdate' /> 
    <attribute name='new_enddate' groupby='true' dategrouping='day' alias='new_enddate' /> 
    <attribute name='new_duedate' groupby='true' dategrouping='day' alias='new_duedate' /> 

認爲這是位錯那....

DateTime scheduledstart = ((DateTime)((AliasedValue)a["new_startdate"]).Value); 
    tracer.Trace("DateTime 1 Done"); 
    DateTime enddate = ((DateTime)((AliasedValue)a["new_enddate"]).Value); 
    tracer.Trace("DateTime 2 Done"); 
    DateTime scheduledend = ((DateTime)((AliasedValue)a["new_duedate"]).Value); 

然後我添加到新的實體.. 。

if (scheduledstart != null) 
    { 
     Activity.Attributes.Add("scheduledstart", scheduledstart); 
    } 
    if (enddate != null) 
    { 
     Activity.Attributes.Add("scheduledend", enddate); 
    } 
    if (scheduledend != null) 
    { 
    Activity.Attributes.Add("scheduledend", scheduledend); 
    } 

任何想法如何使用AliasedValue從提取中寫入DateTime?或者更好的方式來做到這一點>

感謝

+0

我讀這...認爲它同樣的問題。 ..使用OData服務讀取任何CRM日期時間值時,值將以「/ Date(1314763200000)/」格式顯示,我們無法直接將其設置爲DateTime字段。 http://rajeevpentyala.wordpress.com/2011/08/21/read-odata-service-date-field-in-crm-2011/。我將如何從使用AliasedValue的提取進行concversion? – 2013-03-08 09:57:35

+2

什麼是錯誤或問題? – glosrob 2013-03-08 12:44:00

+0

如果它是別名,你會得到結果[「」];你可以更好地看到這一點,如果你調試到你的代碼,並查看result.attributes – 2013-03-11 19:08:29

回答

-1

感謝您的幫助,我決定只使用一個單獨提取的日期值

string Date_Gather = string.Format(@"   
     <fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'> 
     <entity name='new_import'>      
       <attribute name='new_enddate'/>   
     </entity> 
     </fetch>", entity.Id); 

foreach (var b in Date_Gather_result.Entities) 
{ 

    if (b.Attributes.Contains("new_enddate")) 
     { 
      enddate = ((DateTime)(b["new_enddate"])); 
      Entity.Attributes.Add("scheduledend", enddate); 
     } 
} 

還是要謝謝你希望它可以幫助別人

+0

另外,爲什麼使用fetchXml而不是查詢表達式? – 2013-03-12 19:25:50

1

我曾經恨處理別名值,但後來我寫了一些擴展方法,現在我不擔心他們了。看看我的博客Simplifying Retrieval of Aliased Values in CRM 2011。我在想它會幫助你解決目前的問題。

+0

是的,這很有用,我正在看日期,似乎是一個問題,「dategrouping」我已經瞭解到,CRM帶來的日期爲Int32,我希望有一個更好的方法,然後將「日」,「月」,「年」分組,並將它們全部重新組合。我試圖轉換爲日期時間,但後來crm dosent像插件的格式...&不能將int32傳遞到日期時間字段。 – 2013-03-08 15:20:17

+0

@RichardDewhirst我從來沒有使用過DateGrouping。所以(AliasedValue)a [「new_duedate」])。值是一個int?你看到了什麼樣的價值觀?你的問題是將int轉換爲DateTime嗎? – Daryl 2013-03-08 16:04:08

+0

+1促進EMs。另外,您是否收到關於我發給您的許可的消息?由於某種原因,我無法關注你的博客... :( – 2013-03-08 17:32:54