AX7: Создание метода в представлении с использованием метода расширения (ошибка?)
Изменить: вопрос, почему не отображается метод отображения на view
Работа?
Я пытаюсь использовать метод расширения для создания метода отображения на DirPartyPostalAddressView
и, насколько я могу судить, это может быть AX7
ошибка или я делаю это неправильно. Я на последней AX7 с недавним обновлением.
Я использую метод, подробно изложенный здесь https://blogs.msdn.microsoft.com/mfp/2015/12/15/x-in-ax7-extension-methods/
Я создал доказательство концепции display method
для использования на представлении DirPartyPostalAddressView
против таблицы CustTable
показать возможное bug
,
Код класса расширения:
static class MyClass_extension { public static display NoYesId displayYesDirPartyPostalAddressView (DirPartyPostalAddressView _this) { return NoYes::Yes; } public static display NoYesId displayYesCustTable (CustTable _this) { return NoYes::Yes; } }
Я создаю расширение формы CustTable
, добавьте к нему флажок, установите DataSource = CustTable
а также DataMethod = MyClass_extension::displayYesCustTable
и это работает правильно. (Смотрите скриншоты)
Проблема: я создал расширение формы LogisticsPostalAddressGrid
добавить флажок управления в сетку, установите DataSource = DirPartyPostalAddressView
и это не компилируется. (Смотрите скриншот)
Ошибка:
The data method 'MyClass_extension::displayYesDirPartyPostalAddressView' was not found on the data source 'DirPartyPostalAddressView' or its base table/view.
2 ответа
Это было подтверждено как ошибка и будет исправлено в следующем выпуске платформы.
Я думаю, что вы должны использовать вычисляемый столбец в представлении и забыть о методах отображения там.
Взгляните на это в справке AX Wiki. Я предполагаю, что для целей тестирования достаточно, если в методе для вычисляемого столбца вы просто "вернете 1" или "вернете истину".