Страница 1 из 1

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

Добавлено: 08 июн 2006, 14:28
Vek
Здравствуйте!

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

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

Добавлено: 08 июн 2006, 15:24
Ged
дык там и вызывается

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

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

Create View
Var
_pNRec : Comp; // NRec
As select *
from
plpor
..........
Where
((
_pNRec == Plpor.Nrec
))
;
Parameters
_pNRec;
...............

Добавлено: 08 июн 2006, 15:51
Vek
вот так сделать ведь не получится: RunInterface('IntrfcTreePlat', PlPor.NRec); так как я просто откомпилировал свой интерфейс с названием, таким же, как и стандартный, то есть теперь просто нажимаю на стандартную кнопку "Карточка документа" и запускается уже мой интерфейс

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

cmInit:
{ if(getFirst Plpor Where ((_pNRec == Plpor.Nre))=tsOk)
{
Message('Платеж от'+StrToDate(PLPOR.DATVIP,'DD.MM.YYYY')+' № '+PLPOR.NODOK);
}
}

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