Dúvida com Tbrowse
Moderador: Moderadores
Dúvida com Tbrowse
olá pessoal, os dois comandos abaixo, da um refresh no cadastro de mercadorias, monta o Tbrowse, tudo certo, mas eu preciso entrar tambem no cadastro de clientes para selecionar o cliente e fazer a venda, o Tbrowse de cliente monta perfeitamente, mas quando volta para montar o Tbrowse de mercadorias novamente, da esse erro, porque ele procura CLIENTE_NOME e não acha, como faço para contornar esse problema.
Ele procura o CLIENTE_NOME la do cadastro de clientes, mas o refresh abaixo, tem que ser nos campos do cadastro de mercadorias.
Não sei se consegui ser bem claro na minha explicação.
Dentro do Tbrowse de mercadorias eu preciso abrir o Tbrowse de clientes, mas quando volto da o erro.
brw:REFRESHALL() <--- erro aqui Variable does not exist: CLIENTE_NOME
DO WHILE !brw:stabilize() .AND. NEXTKEY() = 0
xHarbour, windows 7, 64 bits
obrigado.
Ele procura o CLIENTE_NOME la do cadastro de clientes, mas o refresh abaixo, tem que ser nos campos do cadastro de mercadorias.
Não sei se consegui ser bem claro na minha explicação.
Dentro do Tbrowse de mercadorias eu preciso abrir o Tbrowse de clientes, mas quando volto da o erro.
brw:REFRESHALL() <--- erro aqui Variable does not exist: CLIENTE_NOME
DO WHILE !brw:stabilize() .AND. NEXTKEY() = 0
xHarbour, windows 7, 64 bits
obrigado.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7929
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Dúvida com Tbrowse
Ola!
Use DbSelectArea() na função de retorno p/ tBrowse ou use alias!
Por exemplo:
CLIENTE_NOME coloque o alias do DB, tipo: cliente->CLIENTE_NOME
Na função que retorna p/ o tBrowse use:
Local cAlias := DbSelectArea(NovaArea)
...
...Antes do return coloque:
DbSelectArea(cAlias)
Return
Saudações,
Itamar M. Lins Jr.
Use DbSelectArea() na função de retorno p/ tBrowse ou use alias!
Por exemplo:
CLIENTE_NOME coloque o alias do DB, tipo: cliente->CLIENTE_NOME
Na função que retorna p/ o tBrowse use:
Local cAlias := DbSelectArea(NovaArea)
...
...Antes do return coloque:
DbSelectArea(cAlias)
Return
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Dúvida com Tbrowse
Olá!
Use expressões com o alias operator (->).
Use expressões com o alias operator (->).
Código: Selecionar todos
FUNCTION Teste()
#include "tbrowse.ch"
LOCAL nKey
USE mercadoria SHARED NEW
// cria tBrowse oTbMerc para mercadorias
USE cliente SHARED NEW
// cria tBrowse oTbCli para cliente
Cliente->( oTbCli:goTop() )
WHILE .T.
Cliente->( oTbCli:forceStable() )
Mercadoria->( oTbMerc:forceStable()
nKey := Inkey(0)
IF oTbCli:applyKey( nKey ) == TBR_EXIT
EXIT
ENDIF
// processamento
ENDDO
RETURN NIL[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
Dúvida com Tbrowse
o Problema não está em selecionar a area, pois já estou selecionando e sim remontar o TBrowse, quando volto estou tendo que executar novamente essa procedure, e gostaria de saber se existe diferença entre SELECT e DbSelectArea, obrigado a todos.
Código: Selecionar todos
PROCEDURE Remontar_Campos
brw:=TBrowseDB(brw_ls+1,brw_cs+1,brw_li-1,brw_ci-1)
brw:colorspec := "&BCB/&AZ , &MR+/&VD , &CYB/&AZ , &PR/&PR , &VDB/&MR , &VM/&AZB"
brw:headsep:=chr(205)
FOR i_=1 TO LEN(brw_campos)
cp_titu:=brw_campos[i_,3]
cp_masc:=brw_campos[i_,2]
cp_:=brw_campos[i_,1]
brw:addcolumn(tbcolumnnew(cp_titu,&("{||TRAN("+cp_+",["+cp_masc+"])}")))
brw:getcolumn(i_):width := LEN(TRAN(&cp_.,cp_masc))
NEXT
Editado pela última vez por Toledo em 05 Out 2014 19:17, em um total de 1 vez.
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7929
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Dúvida com Tbrowse
Veja jovem!
Procure no google a diferença de select, select() e DbSelectArea() são bem parecidos...
Saudações,
Itamar M. Lins Jr.
Código: Selecionar todos
PROCEDURE Remontar_Campos
alert(alias()) //quem é o DBF que está aberto agora ? quando retorna da tal função ?
brw:=TBrowseDB(brw_ls+1,brw_cs+1,brw_li-1,brw_ci-1)
brw:colorspec := "&BCB/&AZ , &MR+/&VD , &CYB/&AZ , &PR/&PR , &VDB/&MR , &VM/&AZB"
brw:headsep:=chr(205)
FOR i_=1 TO LEN(brw_campos)
cp_titu:=brw_campos[i_,3]
cp_masc:=brw_campos[i_,2]
cp_:=brw_campos[i_,1]
brw:addcolumn(tbcolumnnew(cp_titu,&("{||TRAN("+cp_+",["+cp_masc+"])}")))
brw:getcolumn(i_):width := LEN(TRAN(&cp_.,cp_masc))
NEXT
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Dúvida com Tbrowse
Se entendi direito...
O TBrowse funciona, mas chama uma função que muda a área atual...
Se é isso, simples, cuide para que sua função retorne à área que estava.
O TBrowse funciona, mas chama uma função que muda a área atual...
Se é isso, simples, cuide para que sua função retorne à área que estava.
Código: Selecionar todos
FUNCTION Qualquer()
LOCAL nSelect := Select()
...
SELECT ( nSelect )
RETURN NIL
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
Dúvida com Tbrowse
Olá Pessoal,
Está me parecendo que o problema está na declaração das variáveis. Quando ele consulta o arquivo clientes, os campos desse arquivo é adicionado na matriz, e ao voltar e dar o :refresh(), as variaveis do arquivo clientes não existe no arquivo produtos.
Acho que ele precisa em ambas funções fazer:
Está me parecendo que o problema está na declaração das variáveis. Quando ele consulta o arquivo clientes, os campos desse arquivo é adicionado na matriz, e ao voltar e dar o :refresh(), as variaveis do arquivo clientes não existe no arquivo produtos.
Acho que ele precisa em ambas funções fazer:
Local brw:=TBrowseDB(brw_ls+1,brw_cs+1,brw_li-1,brw_ci-1)
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Dúvida com Tbrowse
bom dia pessoal, é isso mesmo Jairo, além de selecionar a area de trabalho tenho que executar essa rotina abaixo, não sei se é a maneira correta, mas é dessa forma que está dando certo.
Código: Selecionar todos
PROCEDURE Remontar_Campos
brw:=TBrowseDB(brw_ls+1,brw_cs+1,brw_li-1,brw_ci-1)
brw:colorspec := "&BCB/&AZ , &MR+/&VD , &CYB/&AZ , &PR/&PR , &VDB/&MR , &VM/&AZB"
brw:headsep:=chr(205)
FOR i_=1 TO LEN(brw_campos)
cp_titu:=brw_campos[i_,3]
cp_masc:=brw_campos[i_,2]
cp_:=brw_campos[i_,1]
brw:addcolumn(tbcolumnnew(cp_titu,&("{||TRAN("+cp_+",["+cp_masc+"])}")))
brw:getcolumn(i_):width := LEN(TRAN(&cp_.,cp_masc))
NEXT
Editado pela última vez por Toledo em 05 Out 2014 19:19, em um total de 1 vez.
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
