Главная
Новый форум
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Индекс по значению из другой таблицы

 
Post new topic   Reply to topic   printer-friendly view     Forum Index -> Программирование в БЭСТ-4
View previous topic :: View next topic  
Author Message
Дениска



Joined: 26 Feb 2002
Posts: 649



PostPosted: 29 Jul 2007 18:29    Post subject: Индекс по значению из другой таблицы Reply with quote

Нужно создать временный индекс по фамилии по таблице salary\TDocsC (строки табличного документа), где поля фамилия нет, а есть поле с табельным номером (TDocsC->TNum) сотрудника. Фамилию можно брать из CardSpri->FAM (CardSpri->(DBSEEK(UPPER(TDocsC->TNum))))

В БЭСТ-е в табличных документах есть возможность сортировать людей по фамилии, при этом похоже формируется временный индекс, так как постоянного индекса нет. Мне же такая возможность нужна в плагине который вызвается по Ctrl-F5 и выгружает данные в текстовый файл.
Back to top
View user's profile Send private message
grey



Joined: 12 Jan 2004
Posts: 297
Location: Родионов С.Г.
Occupation: ООО Бухгалтер, программист
Interests: Набережные Челны

PostPosted: 29 Jul 2007 23:27    Post subject: Reply with quote

А SQL запросы в харборе есть? Сделал бы join без всяких индексов.
_________________
http://grey-soft.narod.ru - примочки к программам серии БЭС
Back to top
View user's profile Send private message Visit poster's website
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 30 Jul 2007 14:28    Post subject: Reply with quote

По вопросам создания временных индексов у нас много тем было.
Посмотрите плз.
Создаете временный индексный файл и для него делайте
Функция ORDCREATE()
Back to top
View user's profile Send private message Send e-mail
Дениска



Joined: 26 Feb 2002
Posts: 649



PostPosted: 30 Jul 2007 15:01    Post subject: Reply with quote

nordk wrote:
По вопросам создания временных индексов у нас много тем было.
Посмотрите плз.
Создаете временный индексный файл и для него делайте
Функция ORDCREATE()


Я посмотрел все темы с CreateTempIndex и OrdCreate. Сам уже использовал обе функции. Проблема в том, что индексировать надо по другой таблице.

Пробовал, к примеру так:
Code:

     TDocsC -> (OrdCreate(GlobalTmpPath+ "CDX_TDocsC", "FIO", "Upper(CardSpri->FAM)", "CardSpri->(DBSEEK(UPPER(TDocsC->TNum)))"))
Back to top
View user's profile Send private message
Behemoth



Joined: 15 Mar 2002
Posts: 155
Location: Новиков Алексей Юрьевич
Occupation: ПБОЮЛ
Interests: Пермь

PostPosted: 30 Jul 2007 15:09    Post subject: Reply with quote

Добрый день.

Сейчас проверил такой вариант:
Code:
  select cardssec
  set relation to upper(tnum) into cardspri
  createtempindex('upper(cardspri->fam)')
  dbeval({|| sayandwait(tnum+' '+cardspri->fam)})

Вполне работоспособно.
_________________
С уважением, Новиков Алексей.
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view     Forum Index -> Программирование в БЭСТ-4 All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © phpBB Group

Rambler
Rambler's Top100 Рейтинг@Mail.ru