Вывод в Screen полей из x$Users

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

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

Pomuk
Новичок
Сообщения: 29
Зарегистрирован: 26 май 2006, 13:45
Откуда: Москва

Вывод в Screen полей из x$Users

Сообщение Pomuk »

Делаю Screen

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

Screen Users 'Пользователи' (,,Sci13Esc);
Table x$users;
Fields
x$users.XU$useroffice 'Офис' :[3];
x$users.XU$LOGINNAME 'Идентификатор' : [10];
x$users.XU$FULLNAME 'Имя пользователя' : [77];
end;
При компиляции пишет:
Ошибка: Нет такой функции, поля или метода : X$USERS.XU$USEROFFICE (стр.79, поз.23)
x$users.XU$useroffice 'Офис' [3];

Есть какие-то особенности при использовании этой таблицы или таблиц начинающихся с x$ или полей начинающихся с XU$?
Последний раз редактировалось Pomuk 01 июн 2009, 18:59, всего редактировалось 1 раз.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

X$INDEXES_from.XI$NAME 'Индекс' :[10],protect ;
возможно дело в create view
Pomuk
Новичок
Сообщения: 29
Зарегистрирован: 26 май 2006, 13:45
Откуда: Москва

Сообщение Pomuk »

вьюха вот такая

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

create view 
from 
ComponentModules, 
Components, 
ComponentUsers 
x$users
where 
(( 
'galnet' == ComponentModules.EXEName
 and ComponentModules.Atl_Nrec == Components.ModuleCOde (noindex)
 and Components.Atl_nRec == ComponentUsers.ResCode
 and ComponentUsers.USERCODE ==x$users.atl_nrec
))
X$INDEXES_from это я так понимаю просто синоним таблицы X$INDEXES?
galover
Местный житель
Сообщения: 794
Зарегистрирован: 16 ноя 2007, 13:52

Сообщение galover »

Pomuk
в описании вьюхи запятую пропустил после ComponentUsers
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Сообщение m0p3e »

galover
Во глаз - алмаз! :)
Pomuk
Новичок
Сообщения: 29
Зарегистрирован: 26 май 2006, 13:45
Откуда: Москва

Сообщение Pomuk »

Да вообще и не говорите. Мне б такой :)
Но вот к сожалению, эта запятая проблему не решает :(
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Сообщение m0p3e »

А почему в описании таблицы не указано что выбираем?
Create View
as Select *
from ...
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

В описании полей еще не хватает ":". Короче - ищите 10 отличий :)
Pomuk
Новичок
Сообщения: 29
Зарегистрирован: 26 май 2006, 13:45
Откуда: Москва

Сообщение Pomuk »

m0p3e писал(а):А почему в описании таблицы не указано что выбираем?
Create View
as Select *
from ...
Ну на сколько я знаю, это не обязательно, вот и не указывал. К тому же это, не динственный Screen в этом интерфейсе, в других всё работает и без указания полей.
edward_K писал(а): В описании полей еще не хватает ":"
Нравится мне как сработал копипаст :) Есть там двоеточии :)
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Сообщение m0p3e »

В 99% случаев работает, но я натыкался именно на такое поведение компилятора при отсутствии описания выборки. Есть подозрение, что зависит от платформы, но не уверен. Я наступал на такие грабли под MSSQL.
Gameus_
Местный житель
Сообщения: 209
Зарегистрирован: 18 окт 2006, 17:03
Откуда: Ростов на Дону Новочеркасск Новороссийск
Контактная информация:

Сообщение Gameus_ »

на оракле тоже бывает не отрабатывает
Pomuk
Новичок
Сообщения: 29
Зарегистрирован: 26 май 2006, 13:45
Откуда: Москва

Сообщение Pomuk »

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

create view 
as select *
from 
ComponentModules, 
Components, 
x$users,
ComponentUsers
не помогло
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Сообщение m0p3e »

давай весь фейс в студию.
san
Местный житель
Сообщения: 412
Зарегистрирован: 28 апр 2005, 11:34
Откуда: Галактика Млечный Путь

Сообщение san »

Любопытный пример :-) Если это Screen где же шаблоны <<.@@@@@@@ >> для вывода полей и названия для полей в нем не указываются, наверное это все таки Browse! :cool: -и ни каких ошибок при компиляции нет.
interface test;
create view
from
ComponentModules,
Components,
ComponentUsers,
x$users
where
((
'galnet' == ComponentModules.EXEName
and ComponentModules.Atl_Nrec == Components.ModuleCOde (noindex)
and Components.Atl_nRec == ComponentUsers.ResCode
and ComponentUsers.USERCODE ==x$users.atl_nrec
));
Browse Users 'Пользователи' (,,Sci13Esc);
Table x$users;
Fields
x$users.XU$useroffice 'Офис' :[3];
x$users.XU$LOGINNAME 'Идентификатор' : [10];
x$users.XU$FULLNAME 'Имя пользователя' : [77];
end;
end.

Не используте view as Select *, это черевато сетевым трафиком,вместо используемых полей будете качать на станцию все поля таблицы. Берегите электричество :grin:
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Сообщение m0p3e »

san
Не используте view as Select *, это черевато сетевым трафиком,вместо используемых полей будете качать на станцию все поля таблицы.
Вот так категорически? А если они мне все и нужны? :)
Ответить