Сделать значения выбора поля формы зависимыми от другого значения поля - PullRequest
0 голосов
/ 05 апреля 2019

Я редактирую экран AP301000, Счета и корректировки, в проекте настройки.

Я добавил два новых поля в форму, которые находятся в классе APRegisterExt. 1. PONbr 2. Квитанция Nbr

Когда пользователь выбирает номер заказа на поставку, я хочу, чтобы значения выбора ReceiptNbr были ограничены только записями квитанций с одинаковым номером заказа.

Я попытался использовать атрибут PXSelector в ReceiptNbr, но поскольку PONumber находится в классе расширений, я не могу использовать Current <> для доступа к этому полю.

Есть идеи?

1 Ответ

1 голос
/ 05 апреля 2019

В вашем втором определении атрибута SelectF CustomField используйте Текущий <> оператор для фильтрации, см. Ниже:

#region UsrCustomField1
[PXDBInt]
[PXUIField(DisplayName="CustomField1")]
[PXSelector(typeof(Search<DAC.Field>),
                     typeof(DAC.Field),
                     typeof(DAC.Field),
                     SubstituteKey= typeof(DAC.Field))]
public virtual int? UsrCustomField1 { get; set; }
public abstract class usrCustomField1 : IBqlField { }
#endregion



#region UsrCustomField2Dependent
[PXDBInt]
[PXUIField(DisplayName="CustomField2Dependent")]
[PXSelector(typeof(Search<DAC.Field, Where<DAC.Field, Equal<Current<UsrCustomField1>>>>),
                     typeof(DAC.Field),
                     typeof(DAC.Field),
                     SubstituteKey= typeof(DAC.Field))] 
public virtual int? UsrCustomField2Dependent { get; set; }
public abstract class usrCustomField2Dependent : IBqlField { }
#endregion

Затем в файле ASPX убедитесь, что вы добавили CommitChanges = True и AutoRefresh = true , см. Ниже:

<px:PXSelector runat="server" ID="CstPXSelector2" DataField="UsrCustomField1" CommitChanges="True" AutoRefresh="True" />
<px:PXSelector runat="server" ID="CstPXSelector1" DataField="UsrCustomField2Dependent" CommitChanges="True" AutoRefresh="True" />
...