Добрый день.
Делаю форму приказа на отпуск на основе прототипа FormT6_04 (галактика 7,12)
И в ней делаю следующую вьюшку
.Create view Depart as select catalogs1.name,catalogs2.name
from catalogs catalogs1,catalogs catalogs2
where catalogs1.name = подразделение
and catalogs2.nrec = catalogs1.cparent ;
.begin
getfirst catalogs;
message(Depart.catalogs1.name)
message(Depart.catalogs2.name)
End.
То есть, её смысл в том, что прототип в переменную "подразделение" выдаёт название подразделения, а я хочу при помощи вьюшки узнать подразделение, находящее в иерархии на уровень выше.
Убираю из вьюшки ".Create view Depart as " и вставляю в саппорт в SQL запрос- данные выдаются, вставляю в отчёт - нет.
Убираю из запроса всё что связано с catalogs2, и данные выдаются. То есть, вот такой запрос работает
.Create view Depart as select catalogs1.name
from catalogs catalogs1
where catalogs1.name = подразделение;
Вычисляю catalogs1.cparent вручную и подставляю в запрос
.Create view Depart as select catalogs2.name
from catalogs catalogs2
where catalogs2.nrec = 'вычесленная вручную ссылка';
Тоже данные выдаются. А вот когда всё в одном запросе - не хочет. В чём может быть проблема?
Не видит записи при выборке в отчёте, хотя в саппорте видит
Модераторы: m0p3e, edward_K, Модераторы
-
- Местный житель
- Сообщения: 254
- Зарегистрирован: 08 июн 2007, 08:26
- Откуда: Красноярск
- Контактная информация:
Pomuk, попробуйте сделать так
а я бы сделал так
Код: Выделить всё
.Create view Depart as select catalogs1.name,catalogs2.name
from catalogs catalogs1,catalogs catalogs2
where catalogs1.name = подразделение
and catalogs2.nrec = catalogs1.cparent ;
.begin
Depart.getfirst;
message(Depart.catalogs1.name)
message(Depart.catalogs2.name)
End.
Код: Выделить всё
.Create view Depart as select catalogs1.name,catalogs2.name
from catalogs catalogs1,catalogs catalogs2
where ((
подразделение == catalogs1.name(noindex)
and catalogs1.cparent == catalogs2.nrec
));
.begin
Depart.getfirst;
message(Depart.catalogs1.name)
message(Depart.catalogs2.name)
End.
-
- Постоянный обитатель
- Сообщения: 143
- Зарегистрирован: 09 авг 2006, 16:40
- Откуда: Россия, Тюмень, ОАО "Сибирский Научно-Аналитический Центр"
Цепляться к полю Name таблицы Catalogs не очень хорошо....
Вот вам вариант как получить nRec подразделения:
В прототипе есть поле PERSNREC - ссылка на сотрудника
И конечно пользуетесь GetFirst'ами чтобы вытянуть данные из CatDep
Вот вам вариант как получить nRec подразделения:
В прототипе есть поле PERSNREC - ссылка на сотрудника
Код: Выделить всё
.Create view Depart
as select
Catalogs.Name,
CatDep.Name
from
Catalogs,
Synonym Catalogs CatDep
where
((
PERSNREC == Persons.nRec and
Persons.Department == Catalogs.nRec and
Catalogs.cParent == CatDep.nRec
));