AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.01.2013, 13:25   #1  
Pat4kord is offline
Pat4kord
Участник
 
23 / 10 (1) +
Регистрация: 13.01.2013
Адрес: Россия
Как создать окно на манер SalesCreateOrder
Dinamics AX 2009 SP1

Подскажите пожалуйста, кто- нибудь делал функционал подобный созданию заказа, то есть при создании новой записи в форме SalesTable вызывается форма SalesCreateOrder в которой указываем все необходимы параметры и при нажатии "Ок" заполняется грид на вызвавшей форме SalesTable.

Если до то наведите на мысли как можно это реализовать.

Последний раз редактировалось Pat4kord; 28.01.2013 в 13:27.
Старый 28.01.2013, 13:40   #2  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,429 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
У вас в чём вопрос? Откуда вызывается этот диалог?

Из метода сreate датасурса.
\Forms\SalesTable\Data Sources\SalesTable\Methods\create
Старый 28.01.2013, 13:43   #3  
Pat4kord is offline
Pat4kord
Участник
 
23 / 10 (1) +
Регистрация: 13.01.2013
Адрес: Россия
Нет не совсем, я не очень долго занимаюсь динамиксом, и не понимаю как мне передать в форму текущую запись наверное...
Старый 28.01.2013, 14:14   #4  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,429 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Если рассмотреть обозначенный вами пример с формой 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  
Narayana is offline
Narayana
Участник
 
241 / 100 (4) +++++
Регистрация: 05.01.2009
Адрес: Москва
Цитата:
Сообщение от Pat4kord Посмотреть сообщение
Dinamics AX 2009 SP1

Подскажите пожалуйста, кто- нибудь делал функционал подобный созданию заказа, то есть при создании новой записи в форме SalesTable вызывается форма SalesCreateOrder в которой указываем все необходимы параметры и при нажатии "Ок" заполняется грид на вызвавшей форме SalesTable.

Если до то наведите на мысли как можно это реализовать.
Если вы хотите создать форму, аналогичную SalesTable, но с меньшим количеством полей и кнопок, и с уже предустановленными значениями полей формы для упрощения работы пользователей, то вы пошли не самым простым путем.
Дело в том, что с этой формой связано большое количество классов, поэтому для дублирования функциональности этой формы вам придется дублировать и классы тоже. То есть, создать параллельный огромный процесс работы с формой. Но SalesTable одна из самых навороченных форм в Аксапте, поэтому упрощание работы пользователя проще добиться просто настройками видимости полей и добавлением своего функционала к уже существующей форме.
Старый 28.01.2013, 22:53   #6  
Pat4kord is offline
Pat4kord
Участник
 
23 / 10 (1) +
Регистрация: 13.01.2013
Адрес: Россия
Мне не обязательно на самом деле, что- то делать с SalesTable, я просто привожу ее для примера.

Мне же в принципе просто интересен сам метод как сделать так чтоб при нажатии на кнопку появлялось диалоговое окно, в которое мы заносим данные, после чего при нажатии к примеру кнопки ОК, все эти данные добавлялись в грид.

А SalesTable я привел к примеру, чтоб можно было посмотреть о чем я спрашиваю, там так создается новый заказ.
Старый 29.01.2013, 05:58   #7  
kaw is offline
kaw
Участник
 
122 / 35 (2) +++
Регистрация: 23.03.2004
Адрес: Новосибирск
Цитата:
Сообщение от Pat4kord Посмотреть сообщение
Мне же в принципе просто интересен сам метод как сделать так чтоб при нажатии на кнопку появлялось диалоговое окно, в которое мы заносим данные, после чего при нажатии к примеру кнопки ОК, все эти данные добавлялись в грид.
Открываем форму SalesCreateOrder, в методе init ставим breakpoint (F9)
запускаем создание нового Заказа на продажу, система покажет всю цепочку:
Цитата:
[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  
Pat4kord is offline
Pat4kord
Участник
 
23 / 10 (1) +
Регистрация: 13.01.2013
Адрес: Россия
Спасибо огромное за ответы, я отпишу по результатам
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Диалоговое окно с запросом Poleax DAX: Программирование 3 21.05.2008 10:40
Невозможно создать таблицу chel DAX: Программирование 0 21.04.2004 21:02
Диалоговое окно с Lookup полями Julietta DAX: Программирование 1 15.12.2003 13:00
HELP!!! Как создать неуникальнцю метку в Axapta 3.0??? Maxim Gorbunov DAX: Программирование 3 14.04.2003 12:29
диалоговое окно в init (e) Report (a) Natasha DAX: Программирование 8 05.03.2003 16:42

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 14:38.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.