Preciso criar um indice ou um vetor indexado com uma string + number
O vetor ou indice tem que estar ordenado pelo campo fonte( menor valor para o maior) + valor ( maior para o menor valor)
Por exemplo:
Código: Selecionar todos
100 900000.00
100 30000.00
100 20000.00
100 15000.00
100 5000.00
101 1010000.00
101 1000000.00
101 15000.00
101 10000.00
101 5000.00
Código: Selecionar todos
If ! ( cTabelaBloqGrupo )->( DbSeek("43730787000150") )
aValor := {30000.00, 20000.00, 15000.00, 900000.00, 5000.00}
For I:=1 TO 5
( cTabelaBloqGrupo )->( DbAppend() )
( cTabelaBloqGrupo )->CNPJ_CPF := "43730787000150"
( cTabelaBloqGrupo )->PROCESSO := StrZero(i,11) + "AA"
( cTabelaBloqGrupo )->PROCBLOQ := "00000000000000000001"
( cTabelaBloqGrupo )->OP := StrZero(i,10)
( cTabelaBloqGrupo )->VALOR := aValor[i]
( cTabelaBloqGrupo )->FONTE := "100"
( cTabelaBloqGrupo )->( DbCommit(), DbUnlock() )
nPos := Hb_aScan( aVetorBloqueioGrupo, {|a| a[1] = ( cTabelaBloqGrupo )->PROCESSO } )
If nPos = 0
aAdd( aVetorBloqueioGrupo, { ( cTabelaBloqGrupo )->PROCESSO, ;
( cTabelaBloqGrupo )->OP, ;
( cTabelaBloqGrupo )->VALOR, ;
( cTabelaBloqGrupo )->FONTE, ;
" ", ;
( cTabelaBloqGrupo )->CNPJ_CPF ;
} )
Endif
Next
aValor := {1000000.00, 15000.00, 10000.00, 5000.00, 1010000.00 }
For I:=1 TO 5
( cTabelaBloqGrupo )->( DbAppend() )
( cTabelaBloqGrupo )->CNPJ_CPF := "43730787000150"
( cTabelaBloqGrupo )->PROCESSO := StrZero(i,11) + "BB"
( cTabelaBloqGrupo )->OP := StrZero(i,10)
( cTabelaBloqGrupo )->VALOR := aValor[i]
( cTabelaBloqGrupo )->FONTE := "101"
( cTabelaBloqGrupo )->( DbCommit(), DbUnlock() )
nPos := Hb_aScan( aVetorBloqueioGrupo, {|a| a[1] = ( cTabelaBloqGrupo )->PROCESSO } )
If nPos = 0
aAdd( aVetorBloqueioGrupo, { ( cTabelaBloqGrupo )->PROCESSO, ;
( cTabelaBloqGrupo )->OP, ;
( cTabelaBloqGrupo )->VALOR, ;
( cTabelaBloqGrupo )->FONTE, ;
" ", ;
( cTabelaBloqGrupo )->CNPJ_CPF ;
} )
Endif
Next
Endif


