Здравствуйте!
Для временной таблицы создаю несколько индексов.
Проверяю ключевое выражение с помощью indexkey().
Программа упорно "видит" ключевое выражение только
для последнего индекса DOC_2
Private aDbf,Path_1
dbpush()
aSet:=SaveSet()
aSetKey:=SaveSetKey()
aDbf:={}
AADD(aDbf, { "Grup", "C", 5, 0 })
AADD(aDbf, { "Nnum", "C",13, 0 })
AADD(aDbf, { "Code", "C", 5, 0 })
AADD(aDbf, { "Name", "C",40, 0 })
AADD(aDbf, { "EAN_13", "C",13, 0 })
AADD(aDbf, { "EAN_13_p", "C",13, 0 })
AADD(aDbf, { "NUMDOC", "C", 6, 0 })
AADD(aDbf, { "NUMDOCP", "C", 15, 0 })
AADD(aDbf, { "NUMDOC_P", "C", 50, 0 })
AADD(aDbf, { "DATE", "D", 10, 0 })
AADD(aDbf, { "Kol", "N", 10, 0 })
Path_1:=GlobalTmpPath+'alko_kol.dbf'
DBCREATE(Path_1, aDbf)
NETUSE('ALKO_KOL',Path_1)
altd()
dbpush('ALKO_KOL')
ALKO_KOL->(dbcreateindex(GlobalTmpPath+"DOC_EAN13","upper(NUMDOCP+EAN_13)"))
ALKO_KOL->(ORDSETFOCUS("DOC_EAN13"))
sayandwait("DOC_EAN13"+" "+ALKO_KOL->(indexkey()))
// dbpop()
// dbpush('ALKO_KOL')
ALKO_KOL->(dbcreateindex(GlobalTmpPath+"DOC_1","upper(NUMDOCP+NUMDOC_p+EAN_13+EAN_13_p)"))
ALKO_KOL->(ORDSETFOCUS("DOC_1"))
sayandwait("DOC_1"+" "+ALKO_KOL->(indexkey()))
// dbpop()
// dbpush('ALKO_KOL')
ALKO_KOL->(dbcreateindex(GlobalTmpPath+"DOC_2","upper(NUMDOC_p,50)"))
ALKO_KOL->(ORDSETFOCUS("DOC_2"))
sayandwait("DOC_2"+" "+ALKO_KOL->(indexkey()))
dbpop()
ALKO_KOL->(ORDSETFOCUS("DOC_EAN13"))
sayandwait("DOC_EAN13"+" "+ALKO_KOL->(indexkey()))
ALKO_KOL->(ORDSETFOCUS("DOC_1"))
sayandwait("DOC_1"+" "+ALKO_KOL->(indexkey()))
ALKO_KOL->(ORDSETFOCUS("DOC_2"))
sayandwait("DOC_2"+" "+ALKO_KOL->(indexkey()))
ALKO_KOL ->( DbCloseArea())
FERASE(Path_1)
RestSetKey(aSetKey)
RestSet(aSet)
DBPOP()
Т.е. код выглядеть должен как-то по другому?
Заранее спасибо.Габов Алексей.
Для временной таблицы создаю несколько индексов.
Проверяю ключевое выражение с помощью indexkey().
Программа упорно "видит" ключевое выражение только
для последнего индекса DOC_2
Private aDbf,Path_1
dbpush()
aSet:=SaveSet()
aSetKey:=SaveSetKey()
aDbf:={}
AADD(aDbf, { "Grup", "C", 5, 0 })
AADD(aDbf, { "Nnum", "C",13, 0 })
AADD(aDbf, { "Code", "C", 5, 0 })
AADD(aDbf, { "Name", "C",40, 0 })
AADD(aDbf, { "EAN_13", "C",13, 0 })
AADD(aDbf, { "EAN_13_p", "C",13, 0 })
AADD(aDbf, { "NUMDOC", "C", 6, 0 })
AADD(aDbf, { "NUMDOCP", "C", 15, 0 })
AADD(aDbf, { "NUMDOC_P", "C", 50, 0 })
AADD(aDbf, { "DATE", "D", 10, 0 })
AADD(aDbf, { "Kol", "N", 10, 0 })
Path_1:=GlobalTmpPath+'alko_kol.dbf'
DBCREATE(Path_1, aDbf)
NETUSE('ALKO_KOL',Path_1)
altd()
dbpush('ALKO_KOL')
ALKO_KOL->(dbcreateindex(GlobalTmpPath+"DOC_EAN13","upper(NUMDOCP+EAN_13)"))
ALKO_KOL->(ORDSETFOCUS("DOC_EAN13"))
sayandwait("DOC_EAN13"+" "+ALKO_KOL->(indexkey()))
// dbpop()
// dbpush('ALKO_KOL')
ALKO_KOL->(dbcreateindex(GlobalTmpPath+"DOC_1","upper(NUMDOCP+NUMDOC_p+EAN_13+EAN_13_p)"))
ALKO_KOL->(ORDSETFOCUS("DOC_1"))
sayandwait("DOC_1"+" "+ALKO_KOL->(indexkey()))
// dbpop()
// dbpush('ALKO_KOL')
ALKO_KOL->(dbcreateindex(GlobalTmpPath+"DOC_2","upper(NUMDOC_p,50)"))
ALKO_KOL->(ORDSETFOCUS("DOC_2"))
sayandwait("DOC_2"+" "+ALKO_KOL->(indexkey()))
dbpop()
ALKO_KOL->(ORDSETFOCUS("DOC_EAN13"))
sayandwait("DOC_EAN13"+" "+ALKO_KOL->(indexkey()))
ALKO_KOL->(ORDSETFOCUS("DOC_1"))
sayandwait("DOC_1"+" "+ALKO_KOL->(indexkey()))
ALKO_KOL->(ORDSETFOCUS("DOC_2"))
sayandwait("DOC_2"+" "+ALKO_KOL->(indexkey()))
ALKO_KOL ->( DbCloseArea())
FERASE(Path_1)
RestSetKey(aSetKey)
RestSet(aSet)
DBPOP()
Т.е. код выглядеть должен как-то по другому?
Заранее спасибо.Габов Алексей.