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

как сделать выход по кнопке?

Добавлено: 17 янв 2011, 17:27
sildae
из отчета вызываю интерфейс runinterface('VisIra',dat1,dat2,otvet)
текст интерфейса , пример из документации. Но по кнопке OK у меня нет никакого выхода из интерфейса, а все время выскакивает message. Как при нажатии на кнопку выйти из интерфейса и сохранить данные для передачи в форму?
interface VisIra 'Выбор НГП' DoAccept,EscClose,cyan;
var
dat1:date
dat2:date
otvet:integer;
create view
var
i1, i2 : integer;
s1,s2 : date;
as select GroupMC.* From GroupMC;
;
parameters dat1,dat2,otvet;
screen scrTest;
bounds (,,40.5,20.1);
controls
button bounds (2,15,15,16), name=btn1, cmYes, 'OK'
('Все сделали', hcButton1, scButton1): Default;

text bounds (10, 1, 30, 2), name=txt1, 'Накладные на приход готовой продукции !!!';

edit bounds (14, 3, 34, 4), name=field1, s1 ('Нажми сюда', hcEdit1, scEdit1) : noProtect;
label bounds (2, 3, 12, 4), name=tla1, '~Начало~ периода:';
edit bounds (14, 4, 34, 5), name=field1, s2 ('Нажми сюда', hcEdit1, scEdit1) : noProtect;
label bounds (2, 4, 12, 5), name=tla2, '~Конец~ периода:';


checkboxes bounds (2, 6, 12, 7), name=cb1, i1 ('Выбор', , ) :
[list 'Отгруженные', 'Неотгруженные'], noProtect;

bevel bounds (1, 17, 36, 18), name=bev1 : bsLowered, bsHorizontal;

end;

handleEvent
cmInit: {
s1 := date(00,00,00);
s2 := date(00,00,00);
}

cmYes: {
dat1:=s1;
dat2:=s2;
otvet:=i1;
message('Нажали ОК'
+ chr(13) + ' начало периода=' + s1
+ chr(13) + ' конец периода=' + s2
+ chr(13) + ' выбор=' + i1
);
}
end;

Re: как сделать выход по кнопке?

Добавлено: 17 янв 2011, 21:13
edward_K
либо событие cmDone cmclose либо в событие putcommand эти же, либо closeinterface(cmDone), либо closewindow (если только окно закрыть).

Re: как сделать выход по кнопке?

Добавлено: 18 янв 2011, 10:56
Vik
Можно еще использовать атрибут кнопки closeowner .

Re: как сделать выход по кнопке?

Добавлено: 18 янв 2011, 11:42
Masygreen
все что здесь перечисленно изменяется и в форме

Код: Выделить всё

parameters dat1,dat2,otvet;
закрыть интерфейс можно по

Код: Выделить всё

 CloseInterface(cmDefault);
 stop;

Re: как сделать выход по кнопке?

Добавлено: 18 янв 2011, 13:01
sildae
Спасибо.