[gelöst] OData Date als String lässt sich nicht vergleichen

13. Juli 2015 16:30

Hallo zusammen,

ich habe eine OData Abfrage die leider so gar nicht funktioniert. Ich möchte ein Datum vergleichen Startdatum der Serviceaktivität soll größer sein als das übergebene Datum. Leider kommt bei der OData Abfrager der Serviceaktität das Datum als String im Format /Date(1255012200000)/ zurück. Da scheint ein gt dann wohl nicht zu funktionieren. Hab schon alles mögliche versucht aber nix klappt. Hat hier einer ne rettende Idee?

Code:
resultSetAlleServiceAktivitaetenInVonBis = GetResultSetWithOData("/ServiceAppointmentSet?$select=ScheduledStart,ScheduledEnd,serviceappointment_activity_parties/ParticipationTypeMask,serviceappointment_activity_parties/PartyId&$expand=serviceappointment_activity_parties&$filter=ScheduledStart gt '"+von"'");


hab es auch schon mit ScheduledStart gt DateTime'"+von+"' versucht aber auch das geht nicht. Bei "von" habe ich auch schon die verschiedenen Formate versucht einmal habe ich es so gelassen wie es vom CRM Kommt "Mon Jul 13 00:00:00 UTC +200 2015" dann habe ich es in /Date(1437125400000)/ und in "2015-07-13T00:00:00 +2:00" formatiert. Nix geht :cry: Und mir gehen die Ideen aus.

Hilfe wäre wirklich toll.

Viele Grüße
Nicole
Zuletzt geändert von Nicole Schmitz am 20. Juli 2015 15:49, insgesamt 1-mal geändert.

Re: OData Date als String und lässt sich nicht vergleichen

14. Juli 2015 14:21

Hi Nicole,

schau mal hier:
https://msdn.microsoft.com/en-us/librar ... gWithDates
https://rajeevpentyala.wordpress.com/20 ... -crm-2011/

Vielleicht hilft dir das.

Re: OData Date als String und lässt sich nicht vergleichen

15. Juli 2015 08:17

Hallo Roxxinger,

leider hilft das nicht die Seiten hatte ich schon gefunden. Die behandeln leider nur wie ich das Datum umformatieren kann nachdem ich schon ein ODATA Result habe. Ich möchte aber ja über ein Datum Filtern schon in der ODATA Abfrage. Sprich nur die Einträge mit einem bestimmten Datum zurück bekommen. Das scheint aber irgendwie nicht richtig zu funktionieren. Denn auch wenn ich das Datum vorher formatiere wie in den Links beschrieben kann ich es dennoch nicht in der ODATA Abfrage verwenden bzw. sie funktioniert dann nicht.

Viele Grüße
Nicole

Re: OData Date als String und lässt sich nicht vergleichen

15. Juli 2015 09:51

Guten Morgen,

also bei funktioniert diese Abfrage:
Code:
crmservices/2011/OrganizationData.svc/ActivityPointerSet?$select=RegardingObjectId,ScheduledEnd,ScheduledStart,StateCode,StatusCode,Subject&$filter=ScheduledStart ge datetime'2015-07-15T12:00:00'


Oder musst du auf die Serviceaktivitäten gehen? Kannst ja auch bei den Activities noch nach type Service filtern.

Code:
xrmservices/2011/OrganizationData.svc/ServiceAppointmentSet?$select=ActivityId,Category,RegardingObjectId,ScheduledEnd,ScheduledStart&$filter=ScheduledStart ge datetime'2015-07-15T08:00:00Z'


so funktioniert es bei mir auch direkt auf ServiceAppointment.