Страница 1 из 1
					
				Дескрипторы в интерфейсе
				Добавлено: 26 окт 2005, 13:03
				 charly
				Помогите кто может пожалуйста.
Мне необходимо вывести дескрипторы в интерфейсе, но необходимо их отсортировать. Таблица tuneval не имеет индекса по полю strval, и соответствеенно сортировки не происходит, а менять структуру БД с добавлением нового индекса запрещено.
(но на тестовой базе добавлял индекс все ОК сортирует).
			 
			
					
				
				Добавлено: 26 окт 2005, 14:01
				 Алексей
				Пиши свой интерфейс, наполняй временную таблицу данными, сортируй как хочешь.
			 
			
					
				
				Добавлено: 26 окт 2005, 17:44
				 charly
				С этим я тоже разобрался, 
но тогда надо постоянно эту таблицу обновлять(я имею ввиду временную), или я не так понял? 
может все таки есть еще какой-нибудь способ?
			 
			
					
				
				Добавлено: 26 окт 2005, 18:00
				 Goblin
				Да не запрещено добавлять - нежелательно просто ввиду необходимости контроля за грядущими изменениями. 
Главное перед патчами или перед сменой релиза проверять - а не происходит ли там добавление/удаление  индексов в эту таблу ...
В таком случае свой индекс дропать, делать нужные действия  по переходу на новый патч/релиз , потом снова добавить ..
А так - особых хлопот не даст, добавленный индекс встанет последним, никому мешать не будет и есть просить не станет
			 
			
					
				
				Добавлено: 26 окт 2005, 18:17
				 charly
				Да я имел ввиду запрещено не Галактикой, а мне запрещено изменять структуру БД, поставлена задача возможными путями обойти эту проблему.
			 
			
					
				
				Добавлено: 27 окт 2005, 05:30
				 Алексей
				А что конкретно вы хотите сделать? просто отображать в интерфейсе списко отсортированных дескрипторов? получить отчет? 
Или он ещё что-то должен делать?  
Интерфейс свой (написаный) или стандартный?
			 
			
					
				
				Добавлено: 27 окт 2005, 11:53
				 charly
				необходимо сделать отчет который выводит счет фактуры по дескриптору, т.е. менеджер выбирает нужный дескриптор из интерфейса и получает N-ое количество счет-фактур за месяц, за год или за два, существует еще несколько ограничений.
Пока мы были на 585 все работало и дескрипторы в интрефейсе сортировались, как только перешли на 712 интерфейс стал пустым, проверял на 585 еще раз все работало,
немного изменил его и дескрипторы выводятся, но как только сортируешь их, выводится толлько последний.
 вот мне и интерсно можно как-нибудь еще отсортировать эти дескрипторы именно в интерфейсе
текст интрефейса:
Interface int_akts_descr 'выбор дескриптора' cyan, doaccept;
var
 d2:comp;
 x2:word
 c2:string;
parameters d2, x2, c2;
create view tuneva as select 
tuneval.strval, x$users.XU$LOGINNAME
from tuneval(memory, autoload), x$users
where((tuneval.cuser==x$users.atl_nrec))
           and d2=tuneval.ctune
           and x2=tuneval.obj    
           and ''<>tuneval.strval
order b1 by tuneval.strval
;
  browse b1;
    table tuneval;
    fields
     tuneval.strval 'Дескриптор':protect ;
     X$USERS.XU$LOGINNAME 'Логин пользователя':protect;
   end;
  handleevent
    cmdefault:{
       SetTableBackOrderIn(tntuneval, true);
       RereadRecord (tntuneval);     
       c2:=tuneval.strval;
        }
  end;
end. 
d2- параметр, определяющий что значение настройки ссылается на настройку ДЕСКРИПТОР   
X2-  ТИП ОБЪЕКТА, номер оффиса
			 
			
					
				
				Добавлено: 27 окт 2005, 13:08
				 san
				попробуй на внешней выгрузке сделать сотрировку
order b1 by tuneval.strval -> order b1 EXTERNAL by tuneval.strval;
SetTableBackOrderIn(tntuneval, true); ->  tuneva.SetOrder(tuneva.tib1)
			 
			
					
				
				Добавлено: 27 окт 2005, 16:26
				 charly
				К сожалению так тоже не получается, 
но буду искать...
			 
			
					
				
				Добавлено: 27 окт 2005, 19:34
				 Slavik
				создаем вьюшку в которой прописываем сортировку по нужному полю и подключаем ее к интерфейсу.
			 
			
					
				
				Добавлено: 28 окт 2005, 01:00
				 charly
				Slavik,
а можно по поводу вьюшки немного по подробнее?
пожалуйста.
			 
			
					
				
				Добавлено: 31 окт 2005, 14:10
				 Slavik
				create or replace view UsersDescr as
select ... from ... order by ...
			 
			
					
				
				Добавлено: 31 окт 2005, 14:17
				 Slavik
				например:
Код: Выделить всё
create or replace view UsersDescr as 
select u.atl_nrec puser, nvl(u.xu$fullname,' По умолчанию') fullname, nvl(u.xu$loginname,'_default') login
, max(decode(tv.fctune,'80000000000001B3',tv.fstrval)) descr 
, max(decode(tv.fctune,'80000000000001B4',tv.fstrval)) desgr
, max(gd.fname) fname
from gal.tuneval tv, gal.x$users u, gal.grdescr gd
where tv.fcuser=u.atl_nrec(+) and tv.fctune in ('80000000000001B4', '80000000000001B3') 
and tv.fstrval=gd.fdesgr(+)
group by u.xu$fullname, u.xu$loginname
 
			 
			
					
				
				Добавлено: 14 ноя 2005, 09:54
				 Maverick
				
при чем здесь Ораклиная вьюха?
Человек пытаетес средствами ВИП сделать интерфейс и отчет...