И снова сортировка, не отрабатывает запрос в форме
Добавлено: 16 май 2006, 15:03
				
				ARD-отчет, Необходимо вывести перечень сотрудников, сгруппированных по структурным единицам штатного расписания. Причем внутри подразделения они должны идти в порядке их должностей. 
В общих чертах отчет выглядит так (лишнее порезано):
То есть сначала идет цикл по подразделениям, внутри - цикл по сотрудникам подразделений. Если в t01 закомментировать строчку "order by STAFFSTRUCT.SEQNMB" все работает на ура, но без сортировки, естественно. С этой строчкой выводятся только подразделения, как будто запрос t01 нифига не выбирает. Цикл по t01 пробовал делать как по логической таблице, так и через getfirst/getnext - однофигственно. Можно перевернуть запрос, чтобы корневой была STAFFSTRUCT, тогда отрабатывает, но отпадают те, кто вне штата сидит. Это фишка Атлантиса или я чего-то не знаю?
Остается конечно еще вариант объединить эти два запроса в один, видимо так и попробую сделать, но придется почти весь отчет перелопачивать (чужой причем), а всего то попросили сортировку добавить, надеялся, что достаточно будет один запрос поправить...
			В общих чертах отчет выглядит так (лишнее порезано):
Код: Выделить всё
.create view t01 as
select persons.*, STAFFSTRUCT.SEQNMB from persons, STAFFSTRUCT
       where (( 'С' == persons.isemployee
                and ssilpodr == persons.department
                and persons.appointcur == appointments.nrec
                and appointments.staffstr == staffstruct.nrec
             ))
             and year(persons.disdate)=0
       order by STAFFSTRUCT.SEQNMB
;
.create view t09 as select nrec,cparent,name,code from catalogs
        where (( 0 == lpr and 465 == mainlink ))
;
.{table 't09'
.begin
   ssilpodr:=t09.catalogs.nrec;
   naimpodr:=t09.catalogs.name;
   p1:=p1+1;
   xlSetCellStringValue(naimpodr,p1,1,p1,1);
end.
.{table 't01'
.begin
   p1:=p1+1;
   xlSetCellStringValue(t01.persons.fio,p1,3,p1,3);
end.
.}
.}
Остается конечно еще вариант объединить эти два запроса в один, видимо так и попробую сделать, но придется почти весь отчет перелопачивать (чужой причем), а всего то попросили сортировку добавить, надеялся, что достаточно будет один запрос поправить...