AprendizFW Posted October 23, 2012 Report Share Posted October 23, 2012 Olá Pessoal, Comecei a utilizar o xBrowse à pouco tempo e estou tendo um problema quando utilizo 2 xBrowse na mesma rotina. Exemplo: o primeiro xbrowse mostra os itens de uma nota de compra que está armazenado em um dbf e quando vou incluir um novo item na compra, chamo um segundo xbrowse que contêm um array com todos os itens disponiveis no cadastro. Nesse segundo xbrowse aparece apenas um item repetido várias vezes. Curiosamente isso só acontece quando eu preciso utilizar um xbrowse com um dbf e outro com um array, se eu utilizar os dois xbrowse com dbf's ou os dois xbrowse com array fica normal. Já tomei o cuidado de utilizar nomes diferentes para os dois xbrowse, alguém já passou por isso ???. Um abraço a todos, Edilson. Editado por - AprendizFW on 23/10/2012 21:15:12 Quote Link to comment Share on other sites More sharing options...
AprendizFW Posted October 23, 2012 Author Report Share Posted October 23, 2012 Olá Pessoal, Comecei a utilizar o xBrowse à pouco tempo e estou tendo um problema quando utilizo 2 xBrowse na mesma rotina. Exemplo: o primeiro xbrowse mostra os itens de uma nota de compra que está armazenado em um dbf e quando vou incluir um novo item na compra, chamo um segundo xbrowse que contêm um array com todos os itens disponiveis no cadastro. Nesse segundo xbrowse aparece apenas um item repetido várias vezes. Curiosamente isso só acontece quando eu preciso utilizar um xbrowse com um dbf e outro com um array, se eu utilizar os dois xbrowse com dbf's ou os dois xbrowse com array fica normal. Já tomei o cuidado de utilizar nomes diferentes para os dois xbrowse, alguém já passou por isso ???. Um abraço a todos, Edilson. Editado por - AprendizFW on 23/10/2012 21:15:12 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted October 23, 2012 Report Share Posted October 23, 2012 Melhor é você mostrar a lógica... Fica mais fácil para obter help. abs, João Santos - São Paulo. joao@pleno.com.br Fone: (11) 3106-2832 / 5150-7341 - TIM https://www.facebook.com/kapiaba FWH 2.7 - xHARBOUR WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
AprendizFW Posted October 23, 2012 Author Report Share Posted October 23, 2012 Valeu João, segue a lógica... // 1º Browse Com DBF oBrwItem := TXBrowse():New( oDlgNota ) oBrwItem:nMarqueeStyle := MARQSTYLE_HIGHLROW oBrwItem:nColDividerStyle := LINESTYLE_LIGHTGRAY oBrwItem:nRowDividerStyle := LINESTYLE_LIGHTGRAY oBrwItem:bSeek := {|c| DbSeek( Upper( c ) ) } oBrwItem:bClrHeader := {|| {CLR_BLACK,CLR_LGREEN}} oBrwItem:l2007:= .F. oBrwItem:SetRDD() oBrwItem:CreateFromResource( 120 ) oColnota:=oBrwItem:AddCol() oColnota:cHeader := "Codigo" oColnota:bStrData := { || MOVI->cdpr } oColnota:nDataStrAlign := AL_LEFT oColnota:nHeadStrAlign := AL_LEFT oColnota:nWidth := 90 oColnota:=oBrwItem:AddCol() oColnota:cHeader := "Produto" oColnota:bStrData := { || MOVI->desc } oColnota:nDataStrAlign := AL_LEFT oColnota:nHeadStrAlign := AL_LEFT oColnota:nWidth := 200 oColnota:=oBrwItem:AddCol() oColnota:cHeader := "CFOP" oColnota:bStrData := { || trans(MOVI->cfop,"@r 9.999") } oColnota:nDataStrAlign := AL_LEFT oColnota:nHeadStrAlign := AL_LEFT oColnota:nWidth := 45 oColnota:=oBrwItem:AddCol() oColnota:cHeader := "Quantidade" oColnota:bStrData := { || str(MOVI->quan,10,3) } oColnota:nDataStrAlign := AL_LEFT oColnota:nHeadStrAlign := AL_LEFT oColnota:nWidth := 80 oColnota:= oBrwItem:AddCol() oColnota:cHeader := "Unitário" oColnota:bStrData := { || transform(MOVI->vuni,wmasc2) } oColnota:nDataStrAlign := AL_LEFT oColnota:nHeadStrAlign := AL_LEFT oColnota:nWidth := 100 oColnota:= oBrwItem:AddCol() oColnota:cHeader := "Embalagem" oColnota:bStrData := { || str(MOVI->emba,8,3) } oColnota:nDataStrAlign := AL_LEFT oColnota:nHeadStrAlign := AL_LEFT oColnota:nWidth := 80 oColnota:= oBrwItem:AddCol() oColnota:cHeader := "Descto(%)" oColnota:bStrData := { || transform(MOVI->ades,"999.99") } oColnota:nDataStrAlign := AL_LEFT oColnota:nHeadStrAlign := AL_LEFT oColnota:nWidth := 80 oColnota:= oBrwItem:AddCol() oColnota:cHeader := "IPI(%)" oColnota:bStrData := { || transform(MOVI->aipi,"999.99") } oColnota:nDataStrAlign := AL_LEFT oColnota:nHeadStrAlign := AL_LEFT oColnota:nWidth := 80 oColnota:= oBrwItem:AddCol() oColnota:cHeader := "S.Trib(%)" oColnota:bStrData := { || transform(MOVI->psbt,"999.99") } oColnota:nDataStrAlign := AL_LEFT oColnota:nHeadStrAlign := AL_LEFT oColnota:nWidth := 80 oColnota:= oBrwItem:AddCol() oColnota:cHeader := "Total Item" oColnota:bStrData := { || transform(MOVI->tpro,"@E 999,999.99") } oColnota:nDataStrAlign := AL_LEFT oColnota:nHeadStrAlign := AL_LEFT oColnota:nWidth := 100 ACTIVATE DIALOG oDlgNota CENTER ON INIT ( oBrwItem:Refresh() ) // 2º Browse Com Array oBroItens:= TXBrowse():New( oDlgItens ) oBroItens:CreateFromResource( 350 ) oBroItens:nMarqueeStyle := MARQSTYLE_HIGHLROW oBroItens:nColDividerStyle := LINESTYLE_LIGHTGRAY oBroItens:nRowDividerStyle := LINESTYLE_LIGHTGRAY oBroItens:bClrHeader := {|| {CLR_BLACK,CLR_LGREEN}} oBroItens:bClrSelFocus := {|| {CLR_WHITE,CLR_LBLUE} } oBroItens:bClrRowFocus := {|| {CLR_WHITE,CLR_LBLUE} } oBroItens:bClrSel := {|| {CLR_WHITE,CLR_LBLUE} } oBroItens:l2007 := .F. oBroItens:SetRDD() oBroItens:SetArray( aItens ) oBroItens:aCols[ 1 ]:cHeader := "Código" oBroItens:aCols[ 1 ]:bStrData := { || aItens[oBroItens][1] } oBroItens:aCols[ 1 ]:nWidth := 90 oBroItens:aCols[ 1 ]:nDataStrAlign := AL_LEFT oBroItens:aCols[ 1 ]:nHeadStrAlign := AL_LEFT oBroItens:aCols[ 2 ]:cHeader := "Descrição" oBroItens:aCols[ 2 ]:bStrData := { || aItens[oBroItens][2] } oBroItens:aCols[ 2 ]:nWidth := 500 oBroItens:aCols[ 2 ]:nDataStrAlign := AL_LEFT oBroItens:aCols[ 2 ]:nHeadStrAlign := AL_LEFT ACTIVATE DIALOG oDlgItens CENTER ON INIT ( oBroItens:Refresh() ) id=code>id=code>Um abraço, Edilson. Quote Link to comment Share on other sites More sharing options...
kleyber Posted October 23, 2012 Report Share Posted October 23, 2012 Grande Edilson, blz? E por que vc precisa usar um browse com dbf e outro com array? Kleyber Derick xHarbour 1.1.0 + FWH 8.02 + xDevStudio + SQLLIB (98) 8162-1301 Visite São LuÃs - MA A Ilha dos Amores Quote Link to comment Share on other sites More sharing options...
ecmsoft Posted October 23, 2012 Report Share Posted October 23, 2012 1) Mostra aà como você está povoando a matriz aItens. 2) Retire a linha: oBroItens:SetRDD() 3) Altera a linha : oBroItens:SetArray( aItens, .t. ) 4) Retire ON INIT ( oBroItens:Refresh() ) Marciano Queiroz Teixeira de Freitas-Ba FW 10.12 + xHb 1.2.1 | BCC 5.82 | SQLLIB | PAF-ECF | TEF | NF-e | SPED Fiscal | PBM´s | Biometria | Ret.XML NF-e Quote Link to comment Share on other sites More sharing options...
AprendizFW Posted October 23, 2012 Author Report Share Posted October 23, 2012 Grande Kleyber Derick, Meu amigão é que estou tendo que trabalhar com DBF, MYSQL e TXT ao mesmo tempo. Deixa eu tentar explicar, em uma rotina de pedido de compras que trabalha com DBF, ele importa um arquivo TXT que veio de outra loja como transferência, sendo que eu tenho que mostrar os itens dessa transferência antes que a importação seja realizada, para isto utilizo um xbrowse com o array criado apartir do TXT. Na outra ponta existe uma tabela em MYSQL com todos os produtos da empresa que estão centralizados em um servidor remoto e utilizo o SQLARRAY para pegar esses dados que são armazenados também em um array. Resumindo, enquanto eu não terminar de converter o sistema para MYSQL, estou utilizando browse com DBF e com ARRAY. Eu devo está fazendo alguma coisa errada que não está certa (rsrsrsrs, essa frase é tua), pois o xBrowse com array fica doidinho. Pra não perder mais tempo, troquei o xBrowse para Listbox na hora de usar array apenas nesta rotina e resolveu meu problema, pois em outras rotinas em que utilizo apenas um xBrowse com array funciona normal. Um abração, Edilson. Quote Link to comment Share on other sites More sharing options...
AprendizFW Posted October 23, 2012 Author Report Share Posted October 23, 2012 Olá Marciano Queiroz, Rapaz vc é fera mesmo heim, foi só eu retirar a linha abaixo: oBroItens:SetRDD() que funcionou legal. Então isso significa que só pode haver o :SetRDD() no primeiro browse, os outros devem ficam sem ele. Eu não sabia disso e já tinha até trocado pra listbox, mas vou voltar a usar o xBrowse pois ele têm um visual melhor. MuitissÃmo obrigado e um grande abraço, Edilson. Editado por - AprendizFW on 23/10/2012 21:32:29 Editado por - AprendizFW on 23/10/2012 21:33:29 Quote Link to comment Share on other sites More sharing options...
emotta Posted October 24, 2012 Report Share Posted October 24, 2012 Pelo que entendi da solução não é que não pode ter dois SETRDD e sim pq no 1o xBrowse é com base em uma tabela e no 2o é com base em um array. Ou seja, o que não pode é ter SETRDD no 2o, já que a base das informações é ARRAY e não tabela. Se no 2o array a base para as informações fosse uma tabela deveria ter SETRDD e funcionaria. Foi isso que entendi.... citação:Olá Marciano Queiroz, Rapaz vc é fera mesmo heim, foi só eu retirar a linha abaixo: oBroItens:SetRDD() que funcionou legal. Então isso significa que só pode haver o :SetRDD() no primeiro browse, os outros devem ficam sem ele. Eu não sabia disso e já tinha até trocado pra listbox, mas vou voltar a usar o xBrowse pois ele têm um visual melhor. MuitissÃmo obrigado e um grande abraço, Edilson. Editado por - AprendizFW on 23/10/2012 21:32:29 Editado por - AprendizFW on 23/10/2012 21:33:29 id=quote>id=quote>Eduardo Motta emotta@gmail.com.br FWH 9.09 (original) - xHARBOUR 1.2.1 (comercial e original) - SQLRDD Quote Link to comment Share on other sites More sharing options...
AprendizFW Posted October 24, 2012 Author Report Share Posted October 24, 2012 Olá Eduardo Motta, Obrigado pelo esclarecimento, como estou começando com o xBrowse, ainda estou apanhando nesses pequenos grandes detalhes. Um abração, Edilson. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.