Выполнять условное выражение после каждой загрузки записи

Немного новичка в Acumatica здесь.

Я хотел бы выполнять небольшой условный код после каждой загрузки записи. У меня есть код, работающий на Initialize(), чтобы добавить несколько настраиваемых кнопок в раскрывающийся список, но я хотел бы протестировать каждую запись, чтобы увидеть, содержит ли она действительный телефон 1 и телефон 2, чтобы определить, должны ли быть включены кнопки.

Есть ли метод, который я могу переопределить, который сработает после перехода к следующей / предыдущей записи?


person Deetz    schedule 25.08.2017    source источник


Ответы (1)


RowSelected сделает это:

protected virtual void DACName_RowSelected(PXCache sender, 
                                           PXRowSelectedEventArgs e)
{

}

Ссылка: RowSelected

person Hugues Beauséjour    schedule 25.08.2017
comment
Для BusinessAccount как будет называться метод? Я получаю ошибки. - person Deetz; 25.08.2017
comment
BAccount_RowSelected - person Hugues Beauséjour; 25.08.2017
comment
Если кнопка, которую вы пытаетесь изменить включенное состояние, привязана к записи в сетке, вам нужно вместо этого использовать StateColumn, ссылка: blog.zaletskyy.com/ - person Hugues Beauséjour; 25.08.2017
comment
Я считаю, что RowSelected срабатывает до того, как запись действительно загрузится. Это верно? Когда я запускаю условное выражение, возникают ошибки. - person Deetz; 25.08.2017
comment
Вы можете найти эту информацию в справочной ссылке, которая есть в моем ответе. Я использую эмпирическое правило: он срабатывает всякий раз, когда это необходимо. Механизм событий строго типизирован и не будет генерировать исключение, если объявленный DAC (в данном случае BAccount) используется в вашем графике. Похоже, что ошибки в пользовательском коде. Я предполагаю, что это вызвано использованием переменных, которые не были проверены на null. - person Hugues Beauséjour; 25.08.2017
comment
Распространенный шаблон - проверка нуля и использование свойства Row в параметрах события, например: BAccount bAccount = e.Row as BAccount; если (bAccount == null) возврат; - person Hugues Beauséjour; 25.08.2017
comment
Как я уже сказал, я новичок в этом. Я изо всех сил пытаюсь понять, как поля данных связаны друг с другом. Например, как получить контактную информацию BAccount из раздела «Основной контакт» на вкладке «Подробности». Есть ли где-нибудь документированная структура данных? - person Deetz; 25.08.2017
comment
Давайте продолжим это обсуждение в чате. - person Hugues Beauséjour; 25.08.2017