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: 8029
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 2 vezes
- Curtiram: 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: 3110
- 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: 8029
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 2 vezes
- Curtiram: 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: 20420
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
- Curtiram: 1 vez
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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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: 2822
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
- Curtiu: 2 vezes
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
