как передать nrec текущей записи из стандартн. интрф. в свой

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Vek
Постоянный гость
Сообщения: 74
Зарегистрирован: 16 фев 2006, 13:11

как передать nrec текущей записи из стандартн. интрф. в свой

Сообщение Vek »

Здравствуйте!

Ситуация такова:
вызываю стандартный интерфейс Платежные поручения -> Сторонние
затем в контекстном меню по правой кнопке есть пункт "Карточка документа", нажав на которую вызывается
мой интерфейс(заменил стандартный своим).

Вопрос в следующем: как передать в свой интерфейс nrec той записи, на которой стояли до нажатия правой кнопки
и вызова своего интерфейса.
Попробовал с буфером, так как при перемещении по browse записи помещаются в буфер таблицы (например plpor.buffer),
но, когда запускаю другой интерфейс этот буфер по-моему очищается.
Как же передать?
Поделитесь мнениями, пожалуйста
Ged
Местный житель
Сообщения: 645
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Сообщение Ged »

дык там и вызывается

RunInterface('IntrfcTreePlat', PlPor.NRec);
и у вас тогда д.б.

Interface intrfcTreePlat 'Мой интерфейс'

Create View
Var
_pNRec : Comp; // NRec
As select *
from
plpor
..........
Where
((
_pNRec == Plpor.Nrec
))
;
Parameters
_pNRec;
...............
Vek
Постоянный гость
Сообщения: 74
Зарегистрирован: 16 фев 2006, 13:11

Сообщение Vek »

вот так сделать ведь не получится: RunInterface('IntrfcTreePlat', PlPor.NRec); так как я просто откомпилировал свой интерфейс с названием, таким же, как и стандартный, то есть теперь просто нажимаю на стандартную кнопку "Карточка документа" и запускается уже мой интерфейс
Ged
Местный житель
Сообщения: 645
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Сообщение Ged »

не про то.
Там запускается интерфейс с параметром.
В качестве параметра передается нрек текущей платежки.
Вам просто надо в своем фейсе добавить
1. Parameters _pNRec;
2. спозиционироваться на PLpor на основании этого параметра..
или написать как выше
или

cmInit:
{ if(getFirst Plpor Where ((_pNRec == Plpor.Nre))=tsOk)
{
Message('Платеж от'+StrToDate(PLPOR.DATVIP,'DD.MM.YYYY')+' № '+PLPOR.NODOK);
}
}
Vek
Постоянный гость
Сообщения: 74
Зарегистрирован: 16 фев 2006, 13:11

Сообщение Vek »

О! дак этот интерфейс изначально запускается с параметром, не знал :) Спасибо, Ged!!!
Ответить