Внешняя выгрузка

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

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

Ответить
varvara
Постоянный обитатель
Сообщения: 130
Зарегистрирован: 21 дек 2005, 19:12

Внешняя выгрузка

Сообщение varvara »

В ARD-отчете создаю таблицу

.Create VIEW rab_
AS SELECT catalogs.name
where (('С'==persons.ISEMPLOYEE and nrec_==persons.DEPARTMENT and nrec_==catalogs.nrec
and persons.appointcur==appointments.nrec and appointments.staffstr==staffstruct.nrec
)) order by catalogs.code, staffstruct.SEQNMB;

обращение к таблице происходит в цикле, меняютя значения nrec_


.{table 'rab_'
^
.}


Но отчет срабатывает так, как-будто nrec_ не меняется, значение первого Nrec_ - для всех итераций. Без внешней выгрузки (order by catalogs.code, staffstruct.SEQNMB) работает нормально. Проблема решается созданием таблицы в памяти.А можно обойтись без
cоздания т-цы?
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

внешняя выгрузка она на то и внешняя выгрузка что срабатывает раз при первом обращении. Можно если не будет внешней выгрузки. В даном случае сортировка по Catalogs.code бесмысленна. Главной таблой должна быть StaffStruct а не Persons. А в ней есть индек STAFBYDEP.
напишите
nrec_ ==StaffStruct.department and
... == appointments ...
and appoinmetns.person == persons.nrec
)) order by StaffStruct.department, StaffStruct.seqnmb
Если надо получить что то осмысленное, то должна быть еще одна вьюха с catalogs и бежать сначала по ней, а внутри по этой.
varvara
Постоянный обитатель
Сообщения: 130
Зарегистрирован: 21 дек 2005, 19:12

Сообщение varvara »

Спасибо, что касается внешней выборки понятно.Что касается осмыслености, задача так или иначе решена(хотелось узнать на будущее),но хочу уточнить, я получаю выборку, отсортированную по коду подразделения(а не Nrec-у)и порядковому номеру внутри него,а Nrec-и подразделений находятся в маркере по интерфейсу pickcatalog2.
Ответить