Настройка Acumatica: привязка дерева выбора на настроенном экране к категориям продажи товара - PullRequest
0 голосов
/ 24 января 2019

Я пытаюсь реализовать средство выбора дерева категорий продаж на экранах элементов инвентаря в настройке экрана возможностей CRM, с одним отличием: вместо того, чтобы иметь список / подстол, мне нужна только одна категория для каждой возможности, поэтому Я делаю это с помощью одного настраиваемого поля («UsrSalesCategoryID» - int) в расширении графа возможностей. Вот что я сделал:

К моему коду OpportunityMaint_Extension я добавил делегата:

protected IEnumerable categories ([PXInt] int? categoryID)
{
  PXTrace.WriteInformation("OpportunityMaint_Extension categories delegate was called");
  if (categoryID == null)
  {
    yield return new INCategory()
    {
      CategoryID = 0,
      Description = PXSiteMap.RootNode.Title
    };
  }
  foreach (INCategory item in PXSelect<INCategory,
    Where<INCategory.parentID,
    Equal<Required<INCategory.parentID>>>,
    OrderBy<Asc<INCategory.sortOrder>>>.Select(this.Base, categoryID))
  {
    if (!string.IsNullOrEmpty(item.Description))
    yield return item;
  }
}

На моем экране ASPX я добавил деревья данных в источник данных:

<px:PXDataSource ID="ds" runat="server" Visible="True" Width="100%" TypeName="PX.Objects.CR.OpportunityMaint" PrimaryView="Opportunity">
  <CallbackCommands>...</CallbackCommands>
  <DataTrees>
    ...
    <px:PXTreeDataMember TreeView="Categories" TreeKeys="CategoryID" />
  </DataTrees>
</px:PXDataSource>

, а также к экрану, элемент управления, с привязками:

<px:PXTreeSelector runat="server" ID="CstPXTreeSelector15" DataField="UsrSalesCategoryID" PopulateOnDemand="True" ShowRootNode="True" TreeDataMember="Categories" TreeDataSourceID="ds">
    <DataBindings>
      <px:PXTreeItemBinding ValueField="CategoryID" TextField="Description" />
    </DataBindings>
</px:PXTreeSelector>

Но что бы я ни делал, содержимое селектора дерева остается пустым, и тот факт, что я никогда не вижу сообщения PXTrace, говорит о том, что привязка данных не связана правильно, но я не могу понять, какой она должна быть - любая предложения о том, где я иду не так с благодарностью получены ...

...