28.01.2013, 13:25 | #1 |
Участник
|
Как создать окно на манер SalesCreateOrder
Dinamics AX 2009 SP1
Подскажите пожалуйста, кто- нибудь делал функционал подобный созданию заказа, то есть при создании новой записи в форме SalesTable вызывается форма SalesCreateOrder в которой указываем все необходимы параметры и при нажатии "Ок" заполняется грид на вызвавшей форме SalesTable. Если до то наведите на мысли как можно это реализовать. Последний раз редактировалось Pat4kord; 28.01.2013 в 13:27. |
|
28.01.2013, 13:40 | #2 |
Участник
|
У вас в чём вопрос? Откуда вызывается этот диалог?
Из метода сreate датасурса. \Forms\SalesTable\Data Sources\SalesTable\Methods\create |
|
28.01.2013, 13:43 | #3 |
Участник
|
Нет не совсем, я не очень долго занимаюсь динамиксом, и не понимаю как мне передать в форму текущую запись наверное...
|
|
28.01.2013, 14:14 | #4 |
Участник
|
Если рассмотреть обозначенный вами пример с формой SalesCreateOrder, то можно увидеть, что запись в неё не передаётся, она в ней создаётся а потом возвращается в форму SalesTable
X++: if (salesTableForm.create()) // <-- отработал диалог { newSalesTable = SalesTable::find(salesTableForm.newSalesId()); // <-- получаем идентификатор созданного заказа, и выбираем его из таблицы if (newSalesTable) { super(append); salesTable.data(newSalesTable); // подкладываем найденую запись под текущий курсор salesTable_ds.reread(); tabLineOverview.setFocus(); } } Последний раз редактировалось S.Kuskov; 28.01.2013 в 14:20. |
|
28.01.2013, 17:40 | #5 |
Участник
|
Цитата:
Сообщение от Pat4kord
Dinamics AX 2009 SP1
Подскажите пожалуйста, кто- нибудь делал функционал подобный созданию заказа, то есть при создании новой записи в форме SalesTable вызывается форма SalesCreateOrder в которой указываем все необходимы параметры и при нажатии "Ок" заполняется грид на вызвавшей форме SalesTable. Если до то наведите на мысли как можно это реализовать. Дело в том, что с этой формой связано большое количество классов, поэтому для дублирования функциональности этой формы вам придется дублировать и классы тоже. То есть, создать параллельный огромный процесс работы с формой. Но SalesTable одна из самых навороченных форм в Аксапте, поэтому упрощание работы пользователя проще добиться просто настройками видимости полей и добавлением своего функционала к уже существующей форме. |
|
28.01.2013, 22:53 | #6 |
Участник
|
Мне не обязательно на самом деле, что- то делать с SalesTable, я просто привожу ее для примера.
Мне же в принципе просто интересен сам метод как сделать так чтоб при нажатии на кнопку появлялось диалоговое окно, в которое мы заносим данные, после чего при нажатии к примеру кнопки ОК, все эти данные добавлялись в грид. А SalesTable я привел к примеру, чтоб можно было посмотреть о чем я спрашиваю, там так создается новый заказ. |
|
29.01.2013, 05:58 | #7 |
Участник
|
Цитата:
запускаем создание нового Заказа на продажу, система покажет всю цепочку: Цитата:
[c]Forms\SalesCreateOrder\Methods\init 3
[c]\Classes\SysSetupFormRun\init 4 [c]\Classes\SysSetupFormRun_Address_RU\init 9 [c]\Classes\SalesTableForm\create 23 [c]\Forms\SalesTable\Data Sources\SalesTable\Methods\create 9 \Forms\SalesTable\Data Sources\SalesTable\Methods\create \Classes\SalesTableForm\create P.S. в методе \Forms\SalesTable\Data Sources\SalesTable\Methods\create используется объект salesTableForm, делаем поиск по \Forms\SalesTable, где данный объект инициализируется... |
|
29.01.2013, 16:18 | #8 |
Участник
|
Спасибо огромное за ответы, я отпишу по результатам
|
|