10.12.2019, 18:11 | #1 |
Участник
|
AX365FO. Edit-метод, вопрос новичка...
Доброго времени суток всем!
В AX7 я совсем недавно, поэтому прошу подсказать решение вот в какой моей печали - есть задача на стандартной форме добавить новый dataSource, добавить вкладку и на ней вывести грид, одним из полей которого должен быть edit-метод. Казалось бы, тривиальная задача, в более ранних версиях аксапты делается на раз,два... Но тут у меня нашла коса на камень Итак, вводные: 1. Стандартная форма. Назовем StandardForm 2. Таблица, которую нужно добавить новым dataSource. Пусть будет NewTable Что я делаю: 1. Создал Extension для StandardForm - StandardForm.Extension 2. Добавил новый dataSource NewTable 3. Добавил новый TabPage у существующего Tab 4. На нем разместил грид, источником которого является новый dataSource. Накидал нужных полей, 5. Создал класс Extension для нового dataSource X++: [ExtensionOf(formDataSourceStr(StandardForm, NewTable))] public final class StandardForm_NewTable_Extension X++: public edit int editMethod(boolean _set, NewTable_record, int _value) { /* blah-blah-blah */ } Вот на этом моменте моя коса и налетает на камень так как при build-е выдается ошибка о том, что указанный метод отсутствует на dataSource или таблице... ЧЯДНТ? Где нужно прописать этот метод, чтобы он был виден в гриде? Реально уже голова закипает от того, что на такой мелочи споткнулся. Заранее всем благодарен, |
|
10.12.2019, 21:23 | #2 |
Участник
|
может быть поможет - первая ссылка в гугле, говорит о том, что метод должен быть статическим, так ли это пока не знаю https://community.dynamics.com/ax/f/...34=1#responses
__________________
Sergey Nefedov Последний раз редактировалось SRF; 10.12.2019 в 21:27. |
|
11.12.2019, 03:20 | #3 |
Administrator
|
Какое-то количество времени назад так не прокатывало. Т.е. дисплей метод должен быть расположен на таблице или на форме, но не на датасорсе.
Статическим метод должен быть необязательно - это так сказать пережитки ранних версий D365FO. В общем - нужно сделать расширение не датасорса, а формы или таблицы и уже там писать свой метод. А в контроле нужно будет указать в свойствах либо MyClass_Extension.mymethod, если метод у Вас будет нестатическим, либо MyClass_Extension::myMethod, если сделаете его статическим.
__________________
Возможно сделать все. Вопрос времени |
|