Страница 1 из 2
					
				Вывод в Screen полей из x$Users
				Добавлено: 01 июн 2009, 12:59
				 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$?
 
			
					
				
				Добавлено: 01 июн 2009, 13:27
				 edward_K
				X$INDEXES_from.XI$NAME 'Индекс' :[10],protect ;
возможно дело в create view
			 
			
					
				
				Добавлено: 01 июн 2009, 13:46
				 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?
 
			
					
				
				Добавлено: 01 июн 2009, 16:37
				 galover
				Pomuk
в описании вьюхи запятую пропустил после ComponentUsers
			 
			
					
				
				Добавлено: 01 июн 2009, 17:04
				 m0p3e
				galover
Во глаз - алмаз! 

 
			 
			
					
				
				Добавлено: 01 июн 2009, 17:25
				 Pomuk
				Да вообще и не говорите. Мне б такой 

Но вот к сожалению, эта запятая проблему не решает 

 
			
					
				
				Добавлено: 01 июн 2009, 18:35
				 m0p3e
				А почему в описании таблицы не указано что выбираем?
Create View 
as Select *
from ...
			 
			
					
				
				Добавлено: 01 июн 2009, 18:40
				 edward_K
				В описании полей еще не хватает ":". Короче - ищите 10 отличий 

 
			
					
				
				Добавлено: 01 июн 2009, 18:58
				 Pomuk
				m0p3e писал(а):А почему в описании таблицы не указано что выбираем?
Create View 
as Select *
from ...
Ну на сколько я знаю, это не обязательно, вот и не указывал. К тому же это, не динственный Screen в этом интерфейсе, в других всё работает и без указания полей.
edward_K писал(а):
В описании полей еще не хватает ":"
Нравится мне как сработал копипаст 

 Есть там двоеточии 

 
			
					
				
				Добавлено: 01 июн 2009, 19:12
				 m0p3e
				В 99% случаев работает, но я натыкался именно на такое поведение компилятора при отсутствии описания выборки. Есть подозрение, что зависит от платформы, но не уверен. Я наступал на такие грабли под MSSQL.
			 
			
					
				
				Добавлено: 01 июн 2009, 19:15
				 Gameus_
				на оракле тоже бывает не отрабатывает
			 
			
					
				
				Добавлено: 01 июн 2009, 19:24
				 Pomuk
				Код: Выделить всё
create view 
as select *
from 
ComponentModules, 
Components, 
x$users,
ComponentUsers
не помогло
 
			
					
				
				Добавлено: 01 июн 2009, 19:58
				 m0p3e
				давай весь фейс в студию.
			 
			
					
				
				Добавлено: 02 июн 2009, 11:50
				 san
				Любопытный пример 

 Если это Screen где же шаблоны <<.@@@@@@@ >> для вывода полей и названия для полей в нем не указываются, наверное это все таки Browse! 

 -и ни каких ошибок при компиляции нет.
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 *, это черевато сетевым трафиком,вместо используемых полей будете качать на станцию все поля таблицы. Берегите электричество   

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