Я пытаюсь автоматически заполнить поле на основе другого поля. У меня есть поле выбора для Контрактов, и я создал поле «Менеджер 1» для основного менеджера, которое отображается на экране «Контракты».
Я могу получить правильные результаты при открытии поля селектора для менеджера 1. Он заполняет код контракта и менеджера, связанного с ним; однако я хочу, чтобы он автоматически заполнял поле после выбора контракта. Я пытался использовать PXDefault, но мне не повезло. Код ниже - это то, что я работаю до сих пор:
[PXInt]
[PXUIField(DisplayName="Manager 1")]
[PXSelector(typeof(Search2<PX.Objects.CR.BAccount.bAccountID,
InnerJoin<JPMContract,
On<JPMContract.contractMgrBAccountID,
Equal<PX.Objects.CR.BAccount.bAccountID>>>>),
typeof(JPMContract.contractCode),
typeof(PX.Objects.CR.BAccount.acctCD),
typeof(PX.Objects.CR.BAccount.acctName),
SubstituteKey = typeof(PX.Objects.CR.BAccount.acctCD),
DescriptionField = typeof(PX.Objects.CR.BAccount.acctName))]
Опять же, когда я открываю поле селектора и выбираю соответствующий результат, я получаю результаты, которые хочу, но я хочу, чтобы это делалось для меня после выбора контракта. Любой совет?
UPDATE:
Я получил его, чтобы он возвращал только один нужный мне результат в селекторе, но он все еще не заполняется этим одним результатом в поле.
[PXInt]
[PXSelector(typeof(Search2<PX.Objects.CR.BAccount.bAccountID,
InnerJoin<JPMContract,
On<JPMContract.contractMgrBAccountID,
Equal<PX.Objects.CR.BAccount.bAccountID>>>,
Where<JPMContract.jPMContractID, Equal<Current<JPMSubContract.jPMContractID>>>>),
typeof(JPMContract.contractCode),
typeof(PX.Objects.CR.BAccount.acctCD),
typeof(PX.Objects.CR.BAccount.acctName),
SubstituteKey = typeof(PX.Objects.CR.BAccount.acctCD),
DescriptionField = typeof(PX.Objects.CR.BAccount.acctName))]
[PXDefault(typeof(Search2<PX.Objects.CR.BAccount.bAccountID,
InnerJoin<JPMContract,
On<JPMContract.contractMgrBAccountID,
Equal<PX.Objects.CR.BAccount.bAccountID>>>,
Where<JPMContract.jPMContractID, Equal<Current<JPMSubContract.jPMContractID>>>>))]
[PXUIField(DisplayName="Manager 1")]