![]() |
#1 |
Участник
|
Передача данных с формы на форму
Подскажите пожалуйста, как передать данные с формы на форму?
|
|
![]() |
#2 |
Участник
|
Через аргументы
|
|
![]() |
#3 |
Участник
|
Через какие аргументы, можно подробней?
|
|
![]() |
#4 |
Участник
|
А какие данные вы хотите передать?
|
|
![]() |
#5 |
Участник
|
Аргументы вызова формы.
Неплохо бы было для начала услышать подробности первоначального вопроса |
|
![]() |
#6 |
Участник
|
Совсем недавнее обсуждение здесь
__________________
// no comments |
|
![]() |
#7 |
Участник
|
Вчера другой пользователь спрашивал похожий вопрос, посмотрите его тему, я там привёл некоторые ссылки, которые помогут Вам разобраться
Как передаются параметры активной строки? upd: dech , обогнали ![]() |
|
![]() |
#8 |
Участник
|
Есть две форма с Grid. На первую форму выводятся данные из таблицы. Необходимо выделить нужные записи на первой форме, нажать кнопку скопировать и эти данные должны появиться на второй форме.
|
|
![]() |
#9 |
Участник
|
Вторая форма должна показывать те же данные или копию первоначальных данных (в той же или в другой таблице)?
Если набор выбранных записей изменяется на первой форме, должна ли вторая форма это отражать или она показывает те данные, которые были выбраны на момент ее открытия? |
|
![]() |
#10 |
Участник
|
Странная архитектура... А для чего это нужно? Вы хотите обработать выбранные записи таблицы какой-то периодической операцией?
|
|
![]() |
#11 |
Участник
|
Нужно понимать что данные, за редким исключением, лежат не на формах, а в таблицах. Формы лишь отображают содержимое таблиц. Для того чтобы скопировать данные из одной таблицы в другую, передавать данные между формами не требуется. Поэтому совершенно справедливые вопросы задает Slava Chernenko. Что значит "скопировать"?
|
|
![]() |
#12 |
Участник
|
Скопировать - это значит на второй форме получить копию первоначальных данных с первой формы, чтобы их можно было отредактировать и сохранить в таблице.
|
|
![]() |
#13 |
Участник
|
А почему нельзя отредактировать их на первой форме?
|
|
![]() |
#14 |
Участник
|
Пытаюсь понять как копируются счета к оплате: Счета к оплате -> Функции -> Копировать -> Выбираем счет для копирования -> Получаем копию выбранных счетов.
|
|
![]() |
#15 |
Участник
|
А что тут сложного?
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 |
|
![]() |
#16 |
Участник
|
Нужна будет временная таблица. А сначала сделать копию/сохранить в таблице, а потом уже редактировать не подойдет? Имхо последнее проще.
|
|
![]() |
#17 |
Участник
|
А что делает строчка caller.dataSource().research();?
|
|
![]() |
#19 |
Участник
|
Это делается, чтобы в исходной форме обновились данные и появились новые скопированные записи.
__________________
// no comments |
|
![]() |
#20 |
Участник
|
Всем спасибо, разобрался.
|
|
|
|