Подробный отчет о прибыльности для всех клиентов для диапазона дат с использованием Quickbooks SDK 13.0

#c# #quickbooks

#c# #quickbooks

Вопрос:

Я хотел бы запустить отчет JobProfitabilityDetail для заданного диапазона дат для всех клиентов. Согласно документации, для запуска этого отчета требуется фильтр сущностей, но я не вижу способа настроить его, чтобы все клиенты попадали в диапазон дат.

Моя первая попытка — получить все диапазоны дат от примерной компании, чтобы вернуть отчет. Вот код, который я использовал для создания объекта запроса:

 IJobReportQuery JobReportQueryRq = requestMsgSet.AppendJobReportQueryRq();
JobReportQueryRq.JobReportType.SetValue(ENJobReportType.jrtJobProfitabilityDetail);
JobReportQueryRq.ORReportPeriod.ReportDateMacro.SetValue(ENReportDateMacro.rdmAll);
JobReportQueryRq.ORReportModifiedDate.ReportModifiedDateRangeMacro.SetValue(ENReportModifiedDateRangeMacro.rmdrmAll);
  

Если я выполняю этот запрос, он возвращает сообщение о состоянии:

 "There is a missing element: "ReportEntityFilter"."
  

Что имеет смысл, потому что в документации говорится, что мне нужен фильтр сущностей. Итак, я могу добавить фильтр. Четыре варианта: Клиент, Сотрудник, другое имя, Поставщик. Единственный, который имеет смысл, — это клиент, который я добавляю как:

  JobReportQueryRq.ReportEntityFilter.ORReportEntityFilter.EntityTypeFilter.SetValue(ENEntityTypeFilter.etfCustomer);
  

Добавив это в запрос, я получаю сообщение о состоянии:

 "There is a missing element: "ListID, FullName, FullNameWithChildren, or ListIDWithChildren"."
  

Я не вижу возможности получить всех клиентов. Я попробовал одного клиента, чтобы узнать, смогу ли я вернуть результаты, добавив:

 JobReportQueryRq.ReportItemFilter.ORReportItemFilter.FullNameList.Add("Abercrombie, Kristy");
  

Я получил ту же ошибку о том, что отсутствует элемент ListID, полное имя и т. Д.

Есть идеи о том, как запустить этот отчет для всех клиентов в диапазоне дат?