20.05.2005, 11:13 | #1 |
Участник
|
Как из формы Form2 обновить записи на форме Form1?
Как из формы Form2 обновить записи на форме Form1?
|
|
20.05.2005, 11:16 | #2 |
Программер
|
Не знаю правильно ли понял задачу. Но в Главной книге в Общем журнале когда открываешь Строки, то при смене текущей записи в форме Общий журнал, строки в форме Строк тоже обнавляются. Может там посмотреть.
|
|
20.05.2005, 11:24 | #3 |
Moderator
|
Куча способов. Зависит от того, что знает Form2 о Form1. Самое простое, если известно args.record() - запись из формы Form1:
PHP код:
__________________
Андрей. |
|
20.05.2005, 12:15 | #4 |
Участник
|
Dron AKA andy
а куда нужно этот код вставить? и как Аксапта догадается какую форму обновлять? |
|
20.05.2005, 12:36 | #5 |
Moderator
|
Куда поставить - это Вам решать. Да хоть на кнопку "Обновить форму Form1" Зависит от события, по которому должна обновляться форма.
А откуда узнает - я ж написал: "Если известно args.record()". Т.е. при открытии формы Form2 в args.record() была занесена текущая запись, вручную или автоматом (при открытии через menuitem).
__________________
Андрей. |
|
20.05.2005, 13:35 | #6 |
Участник
|
не могу понять.
Более подробно распишу проблему: 1. из формы Form1(datasource Table1) открываю форму Form2(datasource Table2). 2. Из формы Form2 вставляю записи в таблицу Table1(форма Form1) следующим кодом: PHP код:
|
|
20.05.2005, 13:36 | #7 |
Участник
|
Опечатка Form1 в коде на самом деле это Table1
|
|
20.05.2005, 13:47 | #8 |
Moderator
|
Ну тогда начнем с начала:
1. Как открываете Form2 из Form1? (текст метода или через menuitem)
__________________
Андрей. |
|
20.05.2005, 14:09 | #9 |
Участник
|
через MenuItemName
|
|
20.05.2005, 14:25 | #10 |
Moderator
|
Т.е. на форме Form1 лежит кнопка menuItemButton, и clicked() у нее не перекрыт? Тогда в args.record() автоматом записывается текущая запись из datasource формы Form1 (кстати, этот источник данных на форме один? если нет, проверяйте свойство datasource у этой кнопки, должен быть выбран нужный источник). Обновляем его из приведенного выше метода формы Form2 таким образом:
PHP код:
__________________
Андрей. |
|
20.05.2005, 15:13 | #11 |
Участник
|
Спасибо заработало!!!
Table2_ds.research() по другому поводу здесь(Table2 временная таблица, и после select по ней в форме отображаются данные последнего прохода в while select, поэтому я и воткнул Table2_ds.research() ) |
|
20.05.2005, 16:03 | #12 |
Moderator
|
Ну это тоже некрасиво - research() перемещает курсор в начало таблицы. Надо сделать так:
PHP код:
__________________
Андрей. |
|
23.05.2005, 11:47 | #13 |
Участник
|
Сейчас у меня возникла опять проблема с обновлением форм, только уже в другом случае:
Есть две формы Form1(datasource Table1) и Form2(datasource Table2), из одной формы из текущей записи Form1 открываю вторую форму Form2 через MenuItem. Делаю в init второй формы Form2 ссылку на текущую запись PHP код:
PHP код:
При таком коде получается эффект, что все формы Form1 Form2 обновляются позиционирование на текущих записях слетает, а в форме Form2 вообще записи текущего дня начинают отображаться. Как сделать чтобы обновлялась только текущая запись Form1, а Form2 оставалась как есть? PS: Метод fds.reread() почему то не работает. |
|
24.05.2005, 11:21 | #14 |
Moderator
|
Цитата:
PHP код:
__________________
Андрей. |
|
24.05.2005, 11:28 | #15 |
Moderator
|
Вернее, в данном случае (обновляются данные напрямую в буфере DS) нужно не обновлять DS, а вызвать fDS.write() для сохранения изменений.
__________________
Андрей. |
|
24.05.2005, 11:53 | #16 |
Участник
|
Помогло вот так
PHP код:
|
|
|
|