|
Bem Vindo, Visitante
|
Todos os Fórums
ADVPL
|
Imprimir
Enviar Para um Amigo Precisa estar Logado
|
|
|
Assunto: |
Posicionar cursor |
|
Versão: |
12.1.33 |
|
Plataforma: |
Microsoft |
Complemento: |
|
|
DB: |
SQL Server |
Complemento: |
|
|
|
|
|
Mensagem do
SILVA93
em 07/06/2022, 14:32 h
Local: RJ Registro: 07/06/2022 Postagens: 6 |
Boa tarde, gostaria de uma ajuda em relação a posicionar o cursor em um registro.
Ex. Lançando itens no pedido de venda o sistema me mostra se o produto já foi inserido no pedido e informar em qual item esse produto esta, com mensagem na tela. Gostaria de além de mostrar na tela qual o item o produto foi lançado, também posicionar em cima do produto.
Agradeço. |
|
|
Mensagem do
SILVA93
em 14/06/2022, 13:56 h
Local: RJ Registro: 07/06/2022 Postagens: 6 |
Boa tarde, alguem poderia dar uma ajuda.
Att, |
|
|
Mensagem do
EMERSON.EN
em 14/06/2022, 14:41 h
Local: SP Registro: 20/08/2010 Postagens: 669 |
Você precisa implementar o ponto de entrada M410LIOK.
Nesse ponto de entrada você vai trabalhar com a variável aCols; é um array com os itens do pedido.
basta varrer o array e verificar se o produto já existe. note que quanto mais itens houver no pedido, mais lento esse procedimento se tornará.
faça algo assim:
user function M410LIOK()
// n, aHeader e aCols são variáveis private disponíveis no ponto de entrada
Local nPosItem := aScan( aHeader, {|x| Alltrim(Upper(x[2])) = "C6_ITEM"} )
Local nPosProduto := aScan( aHeader, {|x| Alltrim(Upper(x[2])) = "C6_PRODUTO"} )
Local cProdAtual := aCols[n, nPosProduto] // obtém o produto da linha posicionada na tela
Local nNumItens := len(aCols)
Local i, nItemRepetido := 0
if !empty(cProdAtual)
for i := 1 to nNumItens
if !aCols[i,len(aHeader)+1] .AND.; // se NÃO estiver deletado
(aCols[i,nPosProduto] == cProdAtual) .AND.; // e o produto for igual
(i <> n) // mas a linha for diferente
nItemRepetido := i // está repetido
exit
endif
next i
if (nItemRepetido > 0)
Alert(‘O produto "‘+cProdAtual+‘" já foi digitado no item ‘ + aCols[nItemRepetido, nPosItem] + ‘ deste pedido.‘)
endif
endif
Return (nItemRepetido = 0)
|
|
|
Mensagem do
SILVA93
em 15/06/2022, 06:55 h
Local: RJ Registro: 07/06/2022 Postagens: 6 |
Bom dia Emerson, essa parte para localizar o item duplicado eu consegui fazer, o que eu estava precisando era, depois que encontrar o item duplicado, posicionar em cima do item que foi encontrado.
Att, |
|
Para postar no Fórum você precisa efetuar o seu login ou se registrar
|
|