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

Runtime error в VIP

Добавлено: 09 янв 2006, 17:12
Rishat
подсобите с VIP'ом . здешний select на ура проходит в sql, а в компиляторе интерфейсов козу строит..постоянно runtime 216 (rtl: попытка обращения к неккоректному дескриптору) in atlantis дает.(support 5.1.33)

идея какова. цепляем штатное расписание с картотекой сотрудников и выводим по каждой должности разряды по факту и по плану, но все они группируются по должностям и соответственно сортировка должна быть по имени должности, в данном случае это catalogs.name.

попробовал через catalogs(CATBYNAME) но не хотит, сортирует относительно persons. а когда делаешь order by указынный ниже runtime вылетает. хотя sql всё чин чинарём выводит как полагается.

зы. всё это делается для fastreport отчета.

interface int4 'Интерфейс для отчета'
show at (0,0,51,40);
create view int1
as
select
persons.tabnmb,
persons.fio,
lschet.razr,
katpodr.name,
staffstruct.category,
catalogs.name
from
persons,
lschet,
katpodr,
staffstruct,
catalogs

where
((
persons.appointcur/==appointments.nrec
and
persons.nrec/==lschet.tperson
and
lschet.cex/==katpodr.nrec
and
appointments.post/==catalogs.nrec
and
appointments.staffstr==staffstruct.nrec
))
order external by catalogs.name
;

datastream stream1
(
table persons
(
[persons_tabnmb] persons.tabnmb;
[persons_fio] persons.fio;
[lschet_razr] lschet.razr;
[katpodr_name1] katpodr.name;
[staffstruct_category] staffstruct.category;
[catalogs_name1] catalogs.name;
)
;
)
end;

browse b1
show at (1,1,50,20);
table persons
fields
persons.tabnmb 'persons.tabnmb':protect;
persons.fio 'persons.fio':protect;
lschet.razr 'lschet.razr':protect;
katpodr.name 'katpodr.name':protect;
staffstruct.category 'staffstruct.category':protect;
catalogs.name 'catalogs.name':protect;
end;
screen sc1
show at (1,21,50,39);
buttons
cmb1;
<<
<. Отчет .>
>>
end;
handleevent
cmb1:
{
RunFReport(stream1, '', true);
}
end;
end.

Добавлено: 10 янв 2006, 11:50
Rishat
есть какие соображения "галактисты"? горю.. :o

Добавлено: 10 янв 2006, 12:40
Алексей
хм. поставь мессажей, посмотри где конкретно валиться.

Добавлено: 10 янв 2006, 13:08
Rishat
дело в том что отчет сам по себе компилиться нормально, runtime вылетает при открытии самого интерфейса.

Добавлено: 10 янв 2006, 13:16
san
а если order external by catalogs.name убрать, упадет?

Добавлено: 10 янв 2006, 13:34
Rishat
нет. но он мне как раз и нужен. почему написано в самом начале(сортировка по должностям).

Добавлено: 10 янв 2006, 13:44
san
а если так попробовать:
appointments.post/==catalogs.nrec (noindex)

order by catalogs.name
?

Добавлено: 10 янв 2006, 13:51
Rishat
неа не катит, runtime валит support. и без external в order by никак, потому как у нас корневая таблица persons.

Добавлено: 10 янв 2006, 13:56
san
external тебе тут нужен потому что ты в catalogs используешь индекс по полю nrec, причем тут persons не понятно. фактически тебе нужен индекс name+nrec.... а нельзя catalogs сделать корневой таблицей?

Добавлено: 10 янв 2006, 14:08
WiRuc
san писал(а):а если order external by catalogs.name убрать, упадет?
Присоединяюсь. Абсолютно глючная конструкция, которая нормально работает только на простейшей выборке из одной таблицы. Наполняйте временную таблицу, а затем уже из нее делайте ORDER EXTERNAL by name.

Добавлено: 14 фев 2006, 14:03
Rishat
данную траблу добавили в ПИР.