Добрый день.
Dynamics 365.
Имеется задача: настроить триггерное создание и удаление ограничений сервиса.
Нашел такую ссылку, которую беру за пример, как создавать эти записи. Единственное, что отличается - все работа идет через Entity, отдельные классы не генерируем для сущностей.
И столкнулся с такой проблемой:
Создание происходит успешно, в базе появляются записи идентичные тем, которые были созданы руками через Рабочие Часы пользователя (имеются в виду и записи в таблицах Calendar и в CalendarRule).
Но эти записи:
1)не появляются в рабочих часах пользователя
2)эти записи не учитываются в штатном планировщике "Действий Сервиса"
Собственно, само создание:
X++:
Entity newInnerCalendar1 = new Entity();
newInnerCalendar1.LogicalName = "calendar";
newInnerCalendar1["businessunitid"] = new EntityReference("businessunit", ((EntityReference)user["businessunitid"]).Id);
newInnerCalendar1["primaryuserid"] = user.Id;
newInnerCalendar1["type"] = new OptionSetValue(-1);
Guid innerCalendarId1 = service.Create(newInnerCalendar1);
Entity innerCalendar1 = service.Retrieve("calendar", innerCalendarId1, new ColumnSet(true));
Entity restrictionRule1 = new Entity();
restrictionRule1.LogicalName = "calendarrule";
restrictionRule1["duration"] = 60;
restrictionRule1["issimple"] = true;
restrictionRule1["offset"] = (serviceappointment.ScheduledStart.Value.Hour - 1) * 60 + serviceappointment.ScheduledStart.Value.Minute;
restrictionRule1["rank"] = 0;
restrictionRule1["subcode"] = 9;//service restrictions
restrictionRule1["timecode"] = 3;//unavailable-filtered
restrictionRule1["timezonecode"] = -1;
restrictionRule1["serviceid"] = new EntityReference("service", crmService.Id);
((EntityCollection)innerCalendar1["calendarrules"]).Entities.Add(restrictionRule1);
service.Update(innerCalendar1);
Подскажите, в чем может быть причина?