View previous topic :: View next topic |
Author |
Message |
Дениска
Joined: 26 Feb 2002 Posts: 649
|
Posted: 29 Jul 2007 18:29 Post subject: Индекс по значению из другой таблицы |
|
|
Нужно создать временный индекс по фамилии по таблице salary\TDocsC (строки табличного документа), где поля фамилия нет, а есть поле с табельным номером (TDocsC->TNum) сотрудника. Фамилию можно брать из CardSpri->FAM (CardSpri->(DBSEEK(UPPER(TDocsC->TNum))))
В БЭСТ-е в табличных документах есть возможность сортировать людей по фамилии, при этом похоже формируется временный индекс, так как постоянного индекса нет. Мне же такая возможность нужна в плагине который вызвается по Ctrl-F5 и выгружает данные в текстовый файл. |
|
Back to top |
|
|
grey
Joined: 12 Jan 2004 Posts: 297 Location: Родионов С.Г. Occupation: ООО Бухгалтер, программист Interests: Набережные Челны
|
Posted: 29 Jul 2007 23:27 Post subject: |
|
|
А SQL запросы в харборе есть? Сделал бы join без всяких индексов. _________________ http://grey-soft.narod.ru - примочки к программам серии БЭС |
|
Back to top |
|
|
nordk
Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
|
Posted: 30 Jul 2007 14:28 Post subject: |
|
|
По вопросам создания временных индексов у нас много тем было.
Посмотрите плз.
Создаете временный индексный файл и для него делайте
Функция ORDCREATE() |
|
Back to top |
|
|
Дениска
Joined: 26 Feb 2002 Posts: 649
|
Posted: 30 Jul 2007 15:01 Post subject: |
|
|
nordk wrote: | По вопросам создания временных индексов у нас много тем было.
Посмотрите плз.
Создаете временный индексный файл и для него делайте
Функция ORDCREATE() |
Я посмотрел все темы с CreateTempIndex и OrdCreate. Сам уже использовал обе функции. Проблема в том, что индексировать надо по другой таблице.
Пробовал, к примеру так:
Code: |
TDocsC -> (OrdCreate(GlobalTmpPath+ "CDX_TDocsC", "FIO", "Upper(CardSpri->FAM)", "CardSpri->(DBSEEK(UPPER(TDocsC->TNum)))"))
|
|
|
Back to top |
|
|
Behemoth
Joined: 15 Mar 2002 Posts: 155 Location: Новиков Алексей Юрьевич Occupation: ПБОЮЛ Interests: Пермь
|
Posted: 30 Jul 2007 15:09 Post subject: |
|
|
Добрый день.
Сейчас проверил такой вариант:
Code: | select cardssec
set relation to upper(tnum) into cardspri
createtempindex('upper(cardspri->fam)')
dbeval({|| sayandwait(tnum+' '+cardspri->fam)})
|
Вполне работоспособно. _________________ С уважением, Новиков Алексей. |
|
Back to top |
|
|
|