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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.02.2014, 13:17   #1  
ax_vsn is offline
ax_vsn
Участник
 
36 / 12 (1) ++
Регистрация: 05.02.2014
Передача данных с формы на форму
Подскажите пожалуйста, как передать данные с формы на форму?
Старый 11.02.2014, 13:20   #2  
Slava Chernenko is offline
Slava Chernenko
Участник
Самостоятельные клиенты AX
Соотечественники
 
34 / 15 (0) ++
Регистрация: 30.04.2008
Адрес: Copenhagen, Denmark
Через аргументы
Старый 11.02.2014, 13:23   #3  
ax_vsn is offline
ax_vsn
Участник
 
36 / 12 (1) ++
Регистрация: 05.02.2014
Через какие аргументы, можно подробней?
Старый 11.02.2014, 13:33   #4  
A_BAS is offline
A_BAS
Участник
Аватар для A_BAS
 
77 / 48 (2) +++
Регистрация: 19.04.2012
А какие данные вы хотите передать?
Старый 11.02.2014, 13:34   #5  
Slava Chernenko is offline
Slava Chernenko
Участник
Самостоятельные клиенты AX
Соотечественники
 
34 / 15 (0) ++
Регистрация: 30.04.2008
Адрес: Copenhagen, Denmark
Аргументы вызова формы.

Неплохо бы было для начала услышать подробности первоначального вопроса
Старый 11.02.2014, 13:36   #6  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
643 / 347 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
Совсем недавнее обсуждение здесь
__________________
// no comments
Старый 11.02.2014, 13:40   #7  
user_ax is offline
user_ax
Участник
Аватар для user_ax
 
599 / 39 (3) +++
Регистрация: 07.10.2012
Адрес: ZP
Вчера другой пользователь спрашивал похожий вопрос, посмотрите его тему, я там привёл некоторые ссылки, которые помогут Вам разобраться

Как передаются параметры активной строки?


upd: dech , обогнали
Старый 11.02.2014, 13:43   #8  
ax_vsn is offline
ax_vsn
Участник
 
36 / 12 (1) ++
Регистрация: 05.02.2014
Есть две форма с Grid. На первую форму выводятся данные из таблицы. Необходимо выделить нужные записи на первой форме, нажать кнопку скопировать и эти данные должны появиться на второй форме.
Старый 11.02.2014, 14:00   #9  
Slava Chernenko is offline
Slava Chernenko
Участник
Самостоятельные клиенты AX
Соотечественники
 
34 / 15 (0) ++
Регистрация: 30.04.2008
Адрес: Copenhagen, Denmark
Вторая форма должна показывать те же данные или копию первоначальных данных (в той же или в другой таблице)?
Если набор выбранных записей изменяется на первой форме, должна ли вторая форма это отражать или она показывает те данные, которые были выбраны на момент ее открытия?
Старый 11.02.2014, 14:05   #10  
A_BAS is offline
A_BAS
Участник
Аватар для A_BAS
 
77 / 48 (2) +++
Регистрация: 19.04.2012
Странная архитектура... А для чего это нужно? Вы хотите обработать выбранные записи таблицы какой-то периодической операцией?
Старый 11.02.2014, 14:12   #11  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,429 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от ax_vsn Посмотреть сообщение
Есть две форма с Grid. На первую форму выводятся данные из таблицы. Необходимо выделить нужные записи на первой форме, нажать кнопку скопировать и эти данные должны появиться на второй форме.
Нужно понимать что данные, за редким исключением, лежат не на формах, а в таблицах. Формы лишь отображают содержимое таблиц. Для того чтобы скопировать данные из одной таблицы в другую, передавать данные между формами не требуется. Поэтому совершенно справедливые вопросы задает Slava Chernenko. Что значит "скопировать"?
Старый 11.02.2014, 14:31   #12  
ax_vsn is offline
ax_vsn
Участник
 
36 / 12 (1) ++
Регистрация: 05.02.2014
Скопировать - это значит на второй форме получить копию первоначальных данных с первой формы, чтобы их можно было отредактировать и сохранить в таблице.
Старый 11.02.2014, 14:38   #13  
A_BAS is offline
A_BAS
Участник
Аватар для A_BAS
 
77 / 48 (2) +++
Регистрация: 19.04.2012
А почему нельзя отредактировать их на первой форме?
Старый 11.02.2014, 14:51   #14  
ax_vsn is offline
ax_vsn
Участник
 
36 / 12 (1) ++
Регистрация: 05.02.2014
Пытаюсь понять как копируются счета к оплате: Счета к оплате -> Функции -> Копировать -> Выбираем счет для копирования -> Получаем копию выбранных счетов.
Старый 11.02.2014, 15:56   #15  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
643 / 347 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
А что тут сложного?
1. На исходной форме создаем кнопку с MenuItem типа display. MenuItem будет ссылаться на другую форму, в которой при желании у вас записи могут как-то фильтроваться.
2. Создаем форму-диалог с кнопками OK и Cancel, в методе init() запоминаем ссылку на вызывающую форму: element.args().record().
3. Датасорс прописываем тот же самый, что и для исходной формы
4. Если надо фильтровать данные, не забываем это сделать в executeQuery()
5. В методе closeOK() прописываем код копирования данных, например такой:
X++:
public void closeOk()
{
    SalesNoteType_PPO   salesNoteType;
    SalesNotesTable_PPO salesNotes;
    SalesNotesTable_PPO salesNotesCopy;
    RecordInsertList    ril = new RecordInsertList(tableNum(SalesNotesTable_PPO), true, true);
    FormDataSource      fds = SalesNotesTable.dataSource();

    ttsBegin;

    for (salesNotes = fds.getFirst(true) ? fds.getFirst(true) : salesNotesTable;
         salesNotes;
         salesNotes = fds.getNext())
    {
        salesNotesCopy.data(salesNotes);
        ril.add(salesNotesCopy);
    }
    ril.insertDatabase();

    ttsCommit;

    caller.dataSource().research();

    super();
}
__________________
// no comments
Старый 11.02.2014, 16:15   #16  
Slava Chernenko is offline
Slava Chernenko
Участник
Самостоятельные клиенты AX
Соотечественники
 
34 / 15 (0) ++
Регистрация: 30.04.2008
Адрес: Copenhagen, Denmark
Цитата:
Сообщение от ax_vsn Посмотреть сообщение
Скопировать - это значит на второй форме получить копию первоначальных данных с первой формы, чтобы их можно было отредактировать и сохранить в таблице.
Нужна будет временная таблица. А сначала сделать копию/сохранить в таблице, а потом уже редактировать не подойдет? Имхо последнее проще.
Старый 11.02.2014, 16:16   #17  
ax_vsn is offline
ax_vsn
Участник
 
36 / 12 (1) ++
Регистрация: 05.02.2014
А что делает строчка caller.dataSource().research();?
Старый 11.02.2014, 21:02   #19  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
643 / 347 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
Цитата:
Сообщение от ax_vsn Посмотреть сообщение
А что делает строчка caller.dataSource().research();?
Это делается, чтобы в исходной форме обновились данные и появились новые скопированные записи.
__________________
// no comments
Старый 12.02.2014, 08:30   #20  
ax_vsn is offline
ax_vsn
Участник
 
36 / 12 (1) ++
Регистрация: 05.02.2014
Всем спасибо, разобрался.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Недоступность источника данных формы в display/edit-методах таблицы - баг или фича с глубоким смыслом? TasmanianDevil DAX: Программирование 10 03.08.2012 15:00
разная скорость отработки display методов на источнике данных формы wojzeh DAX: Программирование 10 05.05.2008 23:53
Передача данных из класса в форму Hidden DAX: Программирование 5 05.05.2008 18:12
Обновление данных формы из другой формы DiZ DAX: Программирование 4 14.10.2004 11:39
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38

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

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

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