Выражение запроса Dynamics CRM

У меня есть этот запрос, который заполняет заказ примечаниями (2 разных типа), которые поступают из учетной записи в заказе на работу. Проблема, с которой я сталкиваюсь, заключается в том, что он работает с большинством заказов на работу, но есть некоторые, которые, как я заметил, не заполняются примечаниями. Мне кажется, что объект учетной записи и внутренние заметки представляют собой отношения «один ко многим», однако я, должно быть, ошибаюсь. У меня также есть ниже FetchXML, из которого я смоделировал свой запрос.

  private  void PopulateInternalNotes()
  {
      EntityReference accountId = _Entity.GetAttributeValue<EntityReference>("hc_account");
      EntityReference buisnessId = _Entity.GetAttributeValue<EntityReference>("hc_businessunit");

      if(accountId == null || buisnessId ==null)
      {
          return;
      }
      _tracer.Trace("buisness unit: " + buisnessId);
     //to get internal description
      QueryExpression exp = new QueryExpression("hc_internalnote");

      exp.Criteria.AddCondition("hc_internalnotetype", ConditionOperator.Equal, 948050000); // internal description option
      exp.Criteria.AddCondition("hc_account", ConditionOperator.Equal, accountId.Id);// matches account on joborder
      exp.Criteria.AddCondition("hc_businessunit", ConditionOperator.Equal, buisnessId.Id);//matches buisnessunit on joborder

      exp.ColumnSet = new ColumnSet("hc_note");
      EntityCollection results = _service.RetrieveMultiple(exp);
      if (results.Entities.Count == 1)
      {
          foreach (Entity r in results.Entities)
          {
              _tracer.Trace("one  internal desc found");
              _Entity["hc_internaldescription"] = r.GetAttributeValue<string>("hc_note");

          }
      }
      else
      {
          _tracer.Trace("no internal desc found");
      }

      //to get submission process note
      QueryExpression sub = new QueryExpression("hc_internalnote");


      sub.Criteria.AddCondition("hc_internalnotetype", ConditionOperator.Equal, 948050002); // submission process  option
      sub.Criteria.AddCondition("hc_account", ConditionOperator.Equal, accountId.Id);// matches account on joborder
      sub.Criteria.AddCondition("hc_businessunit", ConditionOperator.Equal, buisnessId.Id);//matches buisnessunit on joborder

      sub.ColumnSet = new ColumnSet("hc_note");
      EntityCollection Subresults = _service.RetrieveMultiple(sub);
      if (Subresults.Entities.Count == 1)
      {
          foreach (Entity s in Subresults.Entities)
          {
              _tracer.Trace("one submission desc found");
              _Entity["hc_submissionprocessnotes"] = s.GetAttributeValue<string>("hc_note");

          }
      }
      else
      {
          _tracer.Trace("more than one submission note found");
      }

  }

FetchXML ниже

<fetch distinct="false" mapping="logical" output-format="xml-platform" version="1.0">
  <entity name="hc_internalnote">
    <attribute name="createdon"/>
    <attribute name="statecode"/>
    <attribute name="ownerid"/>
    <attribute name="hc_note"/>
    <attribute name="modifiedon"/>
    <attribute name="modifiedby"/>
    <attribute name="hc_internalnotetype"/>
    <attribute name="createdby"/>
    <attribute name="hc_contract"/>
    <attribute name="hc_businessunit"/>
    <attribute name="hc_account"/>
    <attribute name="hc_internalnoteid"/>
    <order descending="false" attribute="createdon"/>
    <filter type="and">
      <condition attribute="hc_account" value="{B1F13E37-2D34-E411-9518-005056010301}" uitype="account" uiname="Community Memorial Hospital (050394)" operator="eq"/>
    </filter>
  </entity>
</fetch>

person amberl    schedule 17.08.2017    source источник
comment
поэтому заметки не поступают в набор результатов для некоторых записей, хотя они доступны в системе? как fetchxml, так и QE?   -  person Arun Vinoth    schedule 17.08.2017
comment
кажется, работает. проблема заключалась в том, что старые записи были перенесены, а наши плагины были отключены, поэтому они не заполнялись.   -  person amberl    schedule 17.08.2017


Ответы (1)


Из комментариев:

Кажется, работает. Проблема была со старыми записями, которые были перенесены во время отключения наших плагинов, поэтому они не заполняются.

person Arun Vinoth    schedule 12.09.2017