Добавлено: 13 ноя 2009, 17:00
А для вывода всех сотрудников в случае отсутствия фильтра расширяем Internal
Для сортировки по подразделениям меняем корневую таблицу на Catalogs. При этом на каталогс накладываем условие по mainlink.
но вообще производить какие-то вычисления и менять сортировки в ard это издевательство над собой. 
Код: Выделить всё
.{?Internal;(GetMarkerCount(DepartmentMarker)=0)or(SearchMarker(DepartmentMarker,vBD.Persons.Department,i))
Код: Выделить всё
.create view vBD
SELECT
persons.fio, persons.department
FROM
persons, catalogs
WHERE
((
0 == Catalogs.LPR and
cCat == Catalogs.MainLink and
Catalogs.nrec == Persons.Department and
'С'==Persons.IsEmployee
));
...
.var
iCatFunc : CatalogsFunctions;
.endvar
.begin
cCat := iCatFunc.GetCatalogsNrec(-11);
end.
