Jump to content
Fivewin Brasil

digao

Membros
  • Posts

    4
  • Joined

  • Last visited

digao's Achievements

Newbie

Newbie (1/14)

0

Reputation

  1. digao

    Xbrowser

    Ficou certinho. Muito obrigado pela atenção Alessandro.
  2. digao

    Xbrowser

    Obrigado. Vou verificar aqui e dou um retorno. obrigado pela atenção!
  3. digao

    Xbrowser

    Boa tarde a todos! Bom num projeto meu eu tenho um xbrowser de VISITAS e nele eu tenho 3 tabelas.. e nesse xbrowser eu tenho a opção de filtrar pela tabela de cliente ou de funcionario, tendo retorno retorno de todas visitas daquele cliente ou daquele funcionario. Só que quando eu saio desse filtro( é aberto em uma janela nova ) e levo o focus pra alguma da minhas 3 tabela do browser principal ela fica em branco. Ai eu tenho que fechar o browser e abrir novamente. Alguem poderia me dar uma ajuda sobre o que fazer para resolver isto? o Codigo do filtro é o seguinte: **************************************************************************** static function Filtrar() **************************************************************************** * * filtra a tabela de visitas atravez da tabela de cliente e de funcionario * Parametros: * Retorno: * * Autor: Diego * 31/3/2010 - 09:54:57 * **************************************************************************** private oDlgFiltra, oBrwFiltra, nIndice, nRegistro Private aVisita := {} Define Dialog oDlgFiltra Resource "TDLGFILTRA" of oDlgFiltra Select VISITAS nRegistro := RecNo() //-- grava o resgistro de visitas nIndice := IndexOrd() //-- grava o indice de visitas set relation to //-- retira relation set filter to //-- retira filtro DbSetOrder(1) dbgotop() AdicionaMatriz() //-- Grid Filtro de Visitas -------------------------------------------// oBrwFiltra := TXBrowse():New( oDlgFiltra ) oBrwFiltra:CreateFromResource( 101 ) oBrwFiltra:SetArray( aVisita ) //-- Colunas ----------------------------------------------------------// *1* oCol:= oBrwFiltra:aCols[1] oCol:cHeader := "CODIGO" oCol:nWidth := 70 *2* oCol:= oBrwFiltra:aCols[2] if cFocus = "CLIENTE" oCol:cHeader := "CLIENTE" else oCol:cHeader := "FUNCIONARIO" end oCol:nWidth := 150 *3* oCol:= oBrwFiltra:aCols[3] if cFocus = "CLIENTE" oCol:cHeader := "FUNCIONARIO" else oCol:cHeader := "CLIENTE" end oCol:nWidth := 150 *4* oCol:= oBrwFiltra:aCols[4] oCol:cHeader := "CIDADE" oCol:nWidth := 150 *5* oCol:= oBrwFiltra:aCols[5] oCol:cHeader := "DATA" oCol:nWidth := 80 *6* oCol:= oBrwFiltra:aCols[6] oCol:cHeader := "HORA" oCol:nWidth := 40 *7* oCol:= oBrwFiltra:aCols[7] oCol:cHeader := "DESCRIÇÃO" oCol:nWidth := 260 *8* oCol:= oBrwFiltra:aCols[ 8] oCol:cHeader := "OBSERVAÇÂO" oCol:nWidth := 260 //-- Alinhamento ------------------------------------------------------// oBrwFiltra:aCols[1]:nDataStrAlign := AL_CENTER oBrwFiltra:aCols[2]:nDataStrAlign := AL_LEFT oBrwFiltra:aCols[3]:nDataStrAlign := AL_LEFT oBrwFiltra:aCols[4]:nDataStrAlign := AL_LEFT oBrwFiltra:aCols[5]:nDataStrAlign := AL_CENTER oBrwFiltra:aCols[6]:nDataStrAlign := AL_CENTER oBrwFiltra:aCols[7]:nDataStrAlign := AL_LEFT oBrwFiltra:aCols[ 8]:nDataStrAlign := AL_LEFT //-- Estilo -----------------------------------------------------------// xBrowseStyle(oBrwFiltra) //-- Eventos ----------------------------------------------------------// //-- Fim Grid ---------------------------------------------------------// //-- Redefine ---------------------------------------------------------// Redefine ButtonBmp oBtn ; id 102 ; of oDlgFiltra ; prompt "Sai&r" ; bitmap "Saida24" ; Action ( oDlgFiltra:End() ) ; TEXTRIGHT cSay[4] := "Filtro de Visitas" Redefine Say oSay[4] ; Prompt cSay[4] ; ID 100 ; Of oDlgFiltra ; Font oFont ; Update oDlgFiltra:lHelpIcon := .f. Activate Dialog oDlgFiltra CENTERED RelationVisitas() DbSetOrder(nIndice) DbGoTo(nRegistro) Return Nil /*------------------------------------------------------------------------*/ **************************************************************************** static function AdicionaMatriz() **************************************************************************** * * Faz filtro da tabela de clientes e funcionarios para a de visitas * Parametros: * Retorno: * * Autor: Diego * 31/3/2010 - 11:29:51 * **************************************************************************** Local cFiltro := "", cCliente := "", cFuncionario := "", cCidades := "" If cFocus = "CLIENTE" //-- verifica se o focus esta no browser de cliente select CLIENTES cFiltro := CLIENTES->CCODIGO cCliente := PegaCliente(CLIENTES->CCODIGO) //-- pega o nome de cliente e cidade pq cCidades := PegaCidade(CLIENTES->CCIDADE) //-- nao tem nessecidade de pegar dentro //-- do loop pois iria demorar mais elseif cFocus = "FUNCIONARIO" //-- verifica se o focus esta no browser de funcionario select FUNCIONA cFiltro := FUNCIONA->FCODIGO cFuncionario := PegaFuncionario(FUNCIONA->FCODIGO) //-- pega o nome do func. //-- pq nao tem nessecidade de end //-- pegar dentro do loop pois //-- sempre sera o mesmo func. select VISITAS dbgotop() do while !eof() If cFocus = "CLIENTE" //-- se focus esta no browser de cliente if VISITAS->VCLIENTE = cFiltro //-- se o focus estiver em cliente add na matriz aAdd(aVisita,{ VISITAS->VCODIGO, cCliente, PegaFuncionario(VISITAS->VSUPORTE),; cCidades, VISITAS->VDATA, VISITAS->VHORA,; VISITAS->VDESCRICAO, VISITAS->VOBS }) end elseif cFocus = "FUNCIONARIO" if VISITAS->VSUPORTE = cFiltro //-- se o focus estiver em func. add na matriz aAdd(aVisita,{ VISITAS->VCODIGO, cFuncionario, PegaCliente(VISITAS->VCLIENTE),; PegaCidade(VISITAS->VCIDADE),VISITAS->VDATA,; VISITAS->VHORA, VISITAS->VDESCRICAO,; VISITAS->VOBS }) end end select VISITAS dbskip() enddo Return Nil /*------------------------------------------------------------------------*/ **************************************************************************** static function PegaCliente(pcCodCli) **************************************************************************** * * * Parametros: * Retorno: * * Autor: Diego * 12/4/2010 - 08:18:11 * **************************************************************************** Local cNomeCli := "" Select CLIENTES DbSetOrder(1) if dbseek(pcCodCli) //-- Pesquisa na tabela de clientes pelo codigo de cliente cNomeCli := CLIENTES->CNOME //-- armazena na variavel o nome do cliente endif Return cNomeCli //-- retorna o nome do cliente /*------------------------------------------------------------------------*/ **************************************************************************** static function PegaFuncionario(pcCodFun) **************************************************************************** * * * Parametros: * Retorno: * * Autor: Diego * 12/4/2010 - 08:18:54 * **************************************************************************** Local cNomeFun := "" Select FUNCIONA DbSetOrder(1) if dbseek(pcCodFun) //-- pesquisa na tabela de funcionario pelo codigo do func. cNomeFun := FUNCIONA->FNOME //-- armazena na variavel o nome do func. end Return cNomeFun //-- retorna o nome do funcionario /*------------------------------------------------------------------------*/ **************************************************************************** static function PegaCidade(pcCodCid) **************************************************************************** * * * Parametros: * Retorno: * * Autor: Diego * 12/4/2010 - 08:19:38 * **************************************************************************** Local cNomeCid := "" Select CIDADES DbSetOrder(1) If dbseek(pcCodCid) //-- pesquisa na tabela de cidades pelo codigo da cidade cNomeCid := CIDADES->CDNOME //-- armazena na variavel o nome da cidade end Return cNomeCid //-- retorna o nome da cidade /*------------------------------------------------------------------------*/ **************************************************************************** static function RelationVisitas() **************************************************************************** * * Relation para visitas * Parametros: * Retorno: * * Autor: Diego * 26/3/2010 - 16:38:07 * **************************************************************************** SELECT VISITAS SET RELATION to SELECT CLIENTES DbSetOrder(1) SELECT FUNCIONA DbSetOrder(1) SELECT CIDADES DbSetOrder(1) SELECT VISITAS Set Relation to VCLIENTE INTO CLIENTES Set Relation to VSUPORTE INTO FUNCIONA ADDITIVE set Relation to VCIDADE INTO CIDADES ADDITIVE SELECT CLIENTES SET RELATION TO SELECT CIDADES DbSetOrder(1) SELECT CLIENTES Set Relation to CCIDADE INTO CIDADES Return Nil id=code>id=code>Editado por - digao on 13/04/2010 14:19:06
  4. digao

    Xbrowser

    Boa tarde a todos! Bom num projeto meu eu tenho um xbrowser de VISITAS e nele eu tenho 3 tabelas.. e nesse xbrowser eu tenho a opção de filtrar pela tabela de cliente ou de funcionario, tendo retorno retorno de todas visitas daquele cliente ou daquele funcionario. Só que quando eu saio desse filtro( é aberto em uma janela nova ) e levo o focus pra alguma da minhas 3 tabela do browser principal ela fica em branco. Ai eu tenho que fechar o browser e abrir novamente. Alguem poderia me dar uma ajuda sobre o que fazer para resolver isto? o Codigo do filtro é o seguinte: **************************************************************************** static function Filtrar() **************************************************************************** * * filtra a tabela de visitas atravez da tabela de cliente e de funcionario * Parametros: * Retorno: * * Autor: Diego * 31/3/2010 - 09:54:57 * **************************************************************************** private oDlgFiltra, oBrwFiltra, nIndice, nRegistro Private aVisita := {} Define Dialog oDlgFiltra Resource "TDLGFILTRA" of oDlgFiltra Select VISITAS nRegistro := RecNo() //-- grava o resgistro de visitas nIndice := IndexOrd() //-- grava o indice de visitas set relation to //-- retira relation set filter to //-- retira filtro DbSetOrder(1) dbgotop() AdicionaMatriz() //-- Grid Filtro de Visitas -------------------------------------------// oBrwFiltra := TXBrowse():New( oDlgFiltra ) oBrwFiltra:CreateFromResource( 101 ) oBrwFiltra:SetArray( aVisita ) //-- Colunas ----------------------------------------------------------// *1* oCol:= oBrwFiltra:aCols[1] oCol:cHeader := "CODIGO" oCol:nWidth := 70 *2* oCol:= oBrwFiltra:aCols[2] if cFocus = "CLIENTE" oCol:cHeader := "CLIENTE" else oCol:cHeader := "FUNCIONARIO" end oCol:nWidth := 150 *3* oCol:= oBrwFiltra:aCols[3] if cFocus = "CLIENTE" oCol:cHeader := "FUNCIONARIO" else oCol:cHeader := "CLIENTE" end oCol:nWidth := 150 *4* oCol:= oBrwFiltra:aCols[4] oCol:cHeader := "CIDADE" oCol:nWidth := 150 *5* oCol:= oBrwFiltra:aCols[5] oCol:cHeader := "DATA" oCol:nWidth := 80 *6* oCol:= oBrwFiltra:aCols[6] oCol:cHeader := "HORA" oCol:nWidth := 40 *7* oCol:= oBrwFiltra:aCols[7] oCol:cHeader := "DESCRIÇÃO" oCol:nWidth := 260 *8* oCol:= oBrwFiltra:aCols[ 8] oCol:cHeader := "OBSERVAÇÂO" oCol:nWidth := 260 //-- Alinhamento ------------------------------------------------------// oBrwFiltra:aCols[1]:nDataStrAlign := AL_CENTER oBrwFiltra:aCols[2]:nDataStrAlign := AL_LEFT oBrwFiltra:aCols[3]:nDataStrAlign := AL_LEFT oBrwFiltra:aCols[4]:nDataStrAlign := AL_LEFT oBrwFiltra:aCols[5]:nDataStrAlign := AL_CENTER oBrwFiltra:aCols[6]:nDataStrAlign := AL_CENTER oBrwFiltra:aCols[7]:nDataStrAlign := AL_LEFT oBrwFiltra:aCols[ 8]:nDataStrAlign := AL_LEFT //-- Estilo -----------------------------------------------------------// xBrowseStyle(oBrwFiltra) //-- Eventos ----------------------------------------------------------// //-- Fim Grid ---------------------------------------------------------// //-- Redefine ---------------------------------------------------------// Redefine ButtonBmp oBtn ; id 102 ; of oDlgFiltra ; prompt "Sai&r" ; bitmap "Saida24" ; Action ( oDlgFiltra:End() ) ; TEXTRIGHT cSay[4] := "Filtro de Visitas" Redefine Say oSay[4] ; Prompt cSay[4] ; ID 100 ; Of oDlgFiltra ; Font oFont ; Update oDlgFiltra:lHelpIcon := .f. Activate Dialog oDlgFiltra CENTERED RelationVisitas() DbSetOrder(nIndice) DbGoTo(nRegistro) Return Nil /*------------------------------------------------------------------------*/ **************************************************************************** static function AdicionaMatriz() **************************************************************************** * * Faz filtro da tabela de clientes e funcionarios para a de visitas * Parametros: * Retorno: * * Autor: Diego * 31/3/2010 - 11:29:51 * **************************************************************************** Local cFiltro := "", cCliente := "", cFuncionario := "", cCidades := "" If cFocus = "CLIENTE" //-- verifica se o focus esta no browser de cliente select CLIENTES cFiltro := CLIENTES->CCODIGO cCliente := PegaCliente(CLIENTES->CCODIGO) //-- pega o nome de cliente e cidade pq cCidades := PegaCidade(CLIENTES->CCIDADE) //-- nao tem nessecidade de pegar dentro //-- do loop pois iria demorar mais elseif cFocus = "FUNCIONARIO" //-- verifica se o focus esta no browser de funcionario select FUNCIONA cFiltro := FUNCIONA->FCODIGO cFuncionario := PegaFuncionario(FUNCIONA->FCODIGO) //-- pega o nome do func. //-- pq nao tem nessecidade de end //-- pegar dentro do loop pois //-- sempre sera o mesmo func. select VISITAS dbgotop() do while !eof() If cFocus = "CLIENTE" //-- se focus esta no browser de cliente if VISITAS->VCLIENTE = cFiltro //-- se o focus estiver em cliente add na matriz aAdd(aVisita,{ VISITAS->VCODIGO, cCliente, PegaFuncionario(VISITAS->VSUPORTE),; cCidades, VISITAS->VDATA, VISITAS->VHORA,; VISITAS->VDESCRICAO, VISITAS->VOBS }) end elseif cFocus = "FUNCIONARIO" if VISITAS->VSUPORTE = cFiltro //-- se o focus estiver em func. add na matriz aAdd(aVisita,{ VISITAS->VCODIGO, cFuncionario, PegaCliente(VISITAS->VCLIENTE),; PegaCidade(VISITAS->VCIDADE),VISITAS->VDATA,; VISITAS->VHORA, VISITAS->VDESCRICAO,; VISITAS->VOBS }) end end select VISITAS dbskip() enddo Return Nil /*------------------------------------------------------------------------*/ **************************************************************************** static function PegaCliente(pcCodCli) **************************************************************************** * * * Parametros: * Retorno: * * Autor: Diego * 12/4/2010 - 08:18:11 * **************************************************************************** Local cNomeCli := "" Select CLIENTES DbSetOrder(1) if dbseek(pcCodCli) //-- Pesquisa na tabela de clientes pelo codigo de cliente cNomeCli := CLIENTES->CNOME //-- armazena na variavel o nome do cliente endif Return cNomeCli //-- retorna o nome do cliente /*------------------------------------------------------------------------*/ **************************************************************************** static function PegaFuncionario(pcCodFun) **************************************************************************** * * * Parametros: * Retorno: * * Autor: Diego * 12/4/2010 - 08:18:54 * **************************************************************************** Local cNomeFun := "" Select FUNCIONA DbSetOrder(1) if dbseek(pcCodFun) //-- pesquisa na tabela de funcionario pelo codigo do func. cNomeFun := FUNCIONA->FNOME //-- armazena na variavel o nome do func. end Return cNomeFun //-- retorna o nome do funcionario /*------------------------------------------------------------------------*/ **************************************************************************** static function PegaCidade(pcCodCid) **************************************************************************** * * * Parametros: * Retorno: * * Autor: Diego * 12/4/2010 - 08:19:38 * **************************************************************************** Local cNomeCid := "" Select CIDADES DbSetOrder(1) If dbseek(pcCodCid) //-- pesquisa na tabela de cidades pelo codigo da cidade cNomeCid := CIDADES->CDNOME //-- armazena na variavel o nome da cidade end Return cNomeCid //-- retorna o nome da cidade /*------------------------------------------------------------------------*/ **************************************************************************** static function RelationVisitas() **************************************************************************** * * Relation para visitas * Parametros: * Retorno: * * Autor: Diego * 26/3/2010 - 16:38:07 * **************************************************************************** SELECT VISITAS SET RELATION to SELECT CLIENTES DbSetOrder(1) SELECT FUNCIONA DbSetOrder(1) SELECT CIDADES DbSetOrder(1) SELECT VISITAS Set Relation to VCLIENTE INTO CLIENTES Set Relation to VSUPORTE INTO FUNCIONA ADDITIVE set Relation to VCIDADE INTO CIDADES ADDITIVE SELECT CLIENTES SET RELATION TO SELECT CIDADES DbSetOrder(1) SELECT CLIENTES Set Relation to CCIDADE INTO CIDADES Return Nil id=code>id=code>Editado por - digao on 13/04/2010 14:19:06
×
×
  • Create New...