08.11.2012, 17:27 | #1 |
Участник
|
Workflow и Plugin
Plugin
Entity: Task Message: Create Pipeline stage: Post Ex. mode: Sync В момент создания задачи происходит +1 в неком поле связанной (regarding) записи, для отслеживание количества открытых задач if (context.InputParameters.Contains("Target") && context.InputParameters["Target"] is Entity) { Entity entity = (Entity)context.InputParameters["Target"]; try { if (entity.Attributes.Contains("regardingobjectid")) { EntityReference postid = (EntityReference)entity["regardingobjectid"]; if (postid.LogicalName == "xxx_partnershipopportunity") { Entity wr = new Entity("xxx_partnershipopportunity"); wr["xxx_partnershipopportunityid"] = postid.Id; wr = service.Retrieve("xxx_partnershipopportunity", postid.Id, new ColumnSet("xxx_optioncounter")); int number = Convert.ToInt32(wr["xxx_optioncounter"]) + 1; wr["xxx_optioncounter"] = number; service.Update(wr); } } } Работает хорошо при "ручном" создании Задач. Работает хорошо при создании Задач с помощь workflow, в котором нету обращения к дочерним процессам. А вот в случае следующего workflow, не правильно отрабатывает счетчик: Entity:xxx_partnershipopportunity Тип запуска: в ручную Scope: Организация Шаг 1 Запуск дочернего рабочего процесса, в рамках которого просто создаются 2 задачи Шаг 2 Проверяем условие (абсолютно без разницы какое) и если да, то запускаем дочерний процесс, в рамках которого создается 1 задача В результате в счетчик записывается 2, а не 3. Люди добрые, подскажите в какую сторону копать. Регистрировал уже плагин и в асинхроне и в sandbox, все равно 2е из 3х Задачи |
|
|
|