В сетке, в которой я работаю, есть Селектор для контакта, на входе Я пытаюсь проверить связанную учетную запись «Контакты» для моего настраиваемого поля даты.Получить связанный BAccount от контакта?
protected void atcProjectDistributionTable_RowUpdated(PXCache cache, PXRowUpdatedEventArgs e, PXRowUpdated InvokeBaseHandler)
{
if (InvokeBaseHandler != null)
InvokeBaseHandler(cache, e);
var row = (atcProjectDistributionTable)e.Row;
if (row.ContactID != null)
{
Contact con = PXSelectorAttribute.Select<atcProjectDistributionTable.contactID>(cache, row) as Contact;
row.ContactCD = con.FullName;
row.BAcc = con.BAccountID;
if (row.BAcc != null)
{
BAccount bAcc = PXSelectorAttribute.Select<atcProjectDistributionTable.bAcc>(cache, row) as BAccount;
PX.Objects.CR.BAccountExt ba = bAcc.GetExtension<PX.Objects.CR.BAccountExt>();
if (ba.UsrExpiring != null)
{
PXUIFieldAttribute.SetError<atcProjectDistributionTable.bAcc>(cache, row, "Termination date:" + ba.UsrExpiring + " Reason:" + ba.UsrExReason);
}
}
}
}
Вы успешно получаете контактную бизнес-учетную запись. Проблема заключается в том, что BAccount не содержит расширение BAccountExt. Вы должны посмотреть, почему расширение DAC не применяется к ЦАП BAccount. –
Спасибо, я не могу понять, почему, тот же код работает на экране поставщика BAccount bAcc = Base.BAccount.Current; PX.Objects.CR.BAccountExt ba = bAcc.GetExtension(); –
nickivey
Пожалуйста, покажите нам свой код BAccountExt –