10.04.2009, 14:50 | #1 |
Участник
|
4-ка.
TempCommDir - временная таблица по ней хочу форму, но чтобы данные в таблице не менялись Вариант 1 //подменяем на форме таблицу временной FORM.RUNMODAL(50016, TempCommDir); все ок. изменения на форме не отражаются в таблице. Вариант 2 (так как надо еще параметры по функции передавать...) CLEAR(frm); frm.SetParam(......); //подменяем на форме таблицу временной frm.SETTABLEVIEW(TempCommDir); frm.SETRECORD(TempCommDir); frm.RUNMODAL; Этот вариант не работает данные в таблице меняются..... Где косяк? |
|
10.04.2009, 15:26 | #2 |
Участник
|
Косяк именно в том, что вторым способом темповую таблицу в форму передать нельзя.
Если хочется и временную таблицу отобразить, и параметры передать, можно воспользоваться хитрым методом: прописать в триггерах формы OnFindRecord, OnNextRecord небольшие кусочки кода, отображающие временную таблицу. Например, можно посмотреть, как это сделано в форме 6510. |
|
10.04.2009, 16:15 | #3 |
Участник
|
Цитата:
Сообщение от Milk
Косяк именно в том, что вторым способом темповую таблицу в форму передать нельзя.
Если хочется и временную таблицу отобразить, и параметры передать, можно воспользоваться хитрым методом: прописать в триггерах формы OnFindRecord, OnNextRecord небольшие кусочки кода, отображающие временную таблицу. Например, можно посмотреть, как это сделано в форме 6510. только эти триггеры? или еще что? т.к. при вставке этих кусочков. данные ваще не отображаются. причем даже если комментировать они не появляются все равно. только удаление кусков кода из указанных триггеров. |
|
10.04.2009, 16:24 | #4 |
Участник
|
Только эти триггеры. Ну конечно еще надо передать темповую таблицу в форму - не через SETTABLEVIEW, а написать небольшую функцию, аналогичную передаче параметров, построчно переносящую таблицу.
А комментировать код в этих триггерах действительно бесполезно - даже неисполняемый код подменяет собой их стандартную работу. |
|
10.04.2009, 18:10 | #5 |
Участник
|
Будьте бдительны!
Триггерам в таблице все равно на темповой таблице вы что-то менятете или нет. Они будет отрабатывать. |
|
15.04.2009, 10:37 | #6 |
Участник
|
Вы можете передать параметры, добавив спец. строку во временную таблицу.
А на OnOpen считывать данные из этой записи и удалять, чтобы пользователь ее не видел. Можно сделать КЮ с SingleInstance = Да, создать в нем 2 функции - SetParam и GetParam. Соответсвенно, перед вызовом формы Вызываетсе SetParam, на OnOpenForm GetParam |
|