× Linguagem de Programação ADVPL

Perguntas Retorno na Tela

Mais
9 anos 11 meses atrás #26295 por danielzv
Retorno na Tela foi criado por danielzv
Boa tarde galera,
Estou desenvolvendo uma tela para consulta de saldo em estoque através de um atalho do teclado,
no caso estou utilizando o Ctrl+A para chamar a função de consulta saldo de todas as filais,
dentro do cadastro de produtos.

Ao pressionar o atalho ele lista corretamente o produto e saldo em todas as filiais, porém ao fechar a tela,
e voltar a tela de cadastro de produto, ele não atualiza a tela, fica como se estivesse no registro que fiz a busca,
porém se clicar pra baixo ele mostra que esta no código 000001, ao invés de estar no código que foi feita a pesquisa.

Testei chamar a função em um botão nas ações relacionadas da rotina de cadastro de produto, e assim ele retorna,
no registro correto.

Segue abaixo o Ponto de Entrada utilizado com as duas chamadas.

User Function MT010BRW

Local aRet := {}

AAdd( aRet, { "Saldo", "U_FKSALDPRO", 0, 4 } )
SetKey( K_CTRL_A , {|| U_FKSALDPRO() })

Return aRet

Alguém tem ideia de como devo fazer para que chamando pelo atalho ele retorne no registro correto.

Grato.

Por favor Acessar ou Registrar para participar da conversa.

Mais
9 anos 11 meses atrás #26296 por admin
Respondido por admin no tópico Retorno na Tela
User Function FKSALDPRO()
Local aAreaSB1 := SB1->(GetArea())


.....




RestArea(aAreaSB1)
Return

Por favor Acessar ou Registrar para participar da conversa.

Mais
9 anos 11 meses atrás #26297 por danielzv
Respondido por danielzv no tópico Retorno na Tela
Valeu pela atenção,

Mas já havia feito isso e mesmo assim não retorna corretamente quando a Função FKSALDPRO() é chamada pelo Ctrl+A, e chamado pelo Ações relacionadas funciona corretamente.

Vlw

Por favor Acessar ou Registrar para participar da conversa.

Mais
9 anos 11 meses atrás #26299 por admin
Respondido por admin no tópico Retorno na Tela
Daniel coloca parte da sua função ai, para eu analisar.

por acaso vc não está mudando o cfilant ?

Por favor Acessar ou Registrar para participar da conversa.

Mais
9 anos 11 meses atrás #26303 por danielzv
Respondido por danielzv no tópico Retorno na Tela
Segue abaixo.

User Function FKSALDPRO()

Local aIndex := {}
Local oSButton1
Local aAreaSB1 := SB1->(GetArea())
Private _oDlg



dbSelectArea("SB1")
dbSetOrder(1)

nProduto := SB1->B1_COD
cDProduto := SB1->B1_DESC
cDUnidade := SB1->B1_UM

dbCloseArea("SB1")

nPreco := POSICIONE("DA1",1,XFILIAL("DA1")+"001"+nProduto,"DA1->DA1_PRCVEN")

DEFINE MSDIALOG _oDlg TITLE "Estoque Filiais" FROM 000, 000 TO 330, 500 OF GetWndDefault() PIXEL //COLORS 0, 16777215 PIXEL
_oDlg:lEscClose := .T.

@ 007, 012 SAY oSay1 PROMPT "Produto:" SIZE 025, 007 OF _oDlg COLORS 0, 16777215 PIXEL
@ 007, 040 SAY oSay2 PROMPT alltrim(nProduto) +" - "+ alltrim(cDProduto) SIZE 163, 007 OF _oDlg COLORS 0, 16777215 PIXEL
@ 015, 012 SAY oSay3 PROMPT "Preço de Venda:" SIZE 163, 007 OF _oDlg COLORS 0, 16777215 PIXEL
@ 015, 052 SAY oSay4 PROMPT TRANSFORM(nPreco, "@E 999,999.99") SIZE 163, 007 OF _oDlg COLORS 0, 16777215 PIXEL
@ 015, 080 SAY oSay2 PROMPT " - "+ alltrim(cDUnidade) SIZE 163, 007 OF _oDlg COLORS 0, 16777215 PIXEL

fFiliais(nProduto)

DEFINE SBUTTON FROM 150,216 TYPE 2 ACTION Close(_oDlg) ENABLE OF _oDlg
ACTIVATE MSDIALOG _oDlg CENTERED

RestArea(aAreaSB1)
Return

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.083 segundos
Joomla templates by a4joomla