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

Добавлено: 13 ноя 2009, 17:00
m0p3e
А для вывода всех сотрудников в случае отсутствия фильтра расширяем Internal

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

.{?Internal;(GetMarkerCount(DepartmentMarker)=0)or(SearchMarker(DepartmentMarker,vBD.Persons.Department,i)) 
Для сортировки по подразделениям меняем корневую таблицу на Catalogs. При этом на каталогс накладываем условие по mainlink.

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

.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.

но вообще производить какие-то вычисления и менять сортировки в ard это издевательство над собой. :)