Jump to content
Fivewin Brasil

Edição com xbrowse


Luiz Fernando

Recommended Posts

COlegas tenho uma tela de entrada de mercadorias aonde digito os itens direto na xbrowse, mais estou com o seguinte problema, se o usuario ter um enter no codigo da mercadoria,abre uma outra browse para consulta de produtos, o problema é que apos isto a browse de edição de entrada perde o focus,VEJAM O CÓDIGO ABAIXO


procedure valida_entr(oGet,oBrw,aCCampos,nDados)

local lRet := .t.,nReg:=CompraTemp->(RECNO())

if acCampos="CODIPRODU"

CompraTemp->(DBGOTO(nReg))

xSetfocus(oBrw)

endif

id=code>id=code>

fazendo assim a browse ganha o focus novamente mais sempre volta pro primeiro item, e não no item que o usuario esta digitando...

caso alguém tiver alguima dica...

Obrigado

Luiz Fernando

msn: empresoft@globo.com

skype:empresoft

empresoft@globo.com

FWH 8.04,XHARBOUR 1.1,PELES,XDEV,VLIB,ADS 8.1

FWH 9.12,XHARBOUR 1.2,ADS 9.0

Link to comment
Share on other sites

COlegas tenho uma tela de entrada de mercadorias aonde digito os itens direto na xbrowse, mais estou com o seguinte problema, se o usuario ter um enter no codigo da mercadoria,abre uma outra browse para consulta de produtos, o problema é que apos isto a browse de edição de entrada perde o focus,VEJAM O CÓDIGO ABAIXO


procedure valida_entr(oGet,oBrw,aCCampos,nDados)

local lRet := .t.,nReg:=CompraTemp->(RECNO())

if acCampos="CODIPRODU"

CompraTemp->(DBGOTO(nReg))

xSetfocus(oBrw)

endif

id=code>id=code>

fazendo assim a browse ganha o focus novamente mais sempre volta pro primeiro item, e não no item que o usuario esta digitando...

caso alguém tiver alguima dica...

Obrigado

Luiz Fernando

msn: empresoft@globo.com

skype:empresoft

empresoft@globo.com

FWH 8.04,XHARBOUR 1.1,PELES,XDEV,VLIB,ADS 8.1

FWH 9.12,XHARBOUR 1.2,ADS 9.0

Link to comment
Share on other sites

Luiz, permita minha humilde tentativa em ajudar, mas pelo que entendi vc esta inserindo itens numa browse (itens do pedido, certo!) Vc esta gravando na tabela no momento da digitação ou somente qdo completar as outras colunas(campos)? Dependendo da resposta o seu GO RECNO nao funcionara(acredito eu) pois ainda nao tens um registro salvo. Aew vc teria que trabalhar diretamente com o Objeto Browse LINHA, ou seja tentar voltar na mesma linha...

Deve ser por isso q esta sempre indo pra primeira linha, inicio de arquivo...

Ambrosio de Barros Filho.

JRAMBRO - jrambro@hotmail.com

Curitiba/São José dos Pinhais - PR

Clipper5.0/ADVPL

Editado por - ambrosio on 28/12/2010 17:25:58

Link to comment
Share on other sites

citação:

Um Seek cCodigo, ou Seek cProduto não resolve ???


id=quote>id=quote>

Vlw ICO, já tinha tentado com um LOCATE e com o DBGOTO(número do registro) sem exito, embora este DBF temporario não posso ter o indice por codigo de produto pois senão nao fica na seguencia que o usuario esta digitando , criei um mesmo assim so para testar e o resultado é o mesmo volta pro primeiro item...

agora se ao cair na browse eu desabilitar todos os outro objeto como gets e buttons com o comando when dai o trem funciona certinho, só que preciso achar outra solução pois isto iria me implicar em outras coisas...

Abraços

Luiz Fernando

msn: empresoft@globo.com

skype:empresoft

empresoft@globo.com

FWH 8.04,XHARBOUR 1.1,PELES,XDEV,VLIB,ADS 8.1

FWH 9.12,XHARBOUR 1.2,ADS 9.0

Link to comment
Share on other sites

citação:

Luiz, permita minha humilde tentativa em ajudar, mas pelo que entendi vc esta inserindo itens numa browse (itens do pedido, certo!) Vc esta gravando na tabela no momento da digitação ou somente qdo completar as outras colunas(campos)? Dependendo da resposta o seu GO RECNO nao funcionara(acredito eu) pois ainda nao tens um registro salvo. Aew vc teria que trabalhar diretamente com o Objeto Browse LINHA, ou seja tentar voltar na mesma linha...

Deve ser por isso q esta sempre indo pra primeira linha, inicio de arquivo...

Ambrosio de Barros Filho.

JRAMBRO - jrambro@hotmail.com

Curitiba/São José dos Pinhais - PR

Clipper5.0/ADVPL

Editado por - ambrosio on 28/12/2010 17:25:58


id=quote>id=quote>

Colega obrigado pela reposta, mais o registro é criado em branco, e depois vou gravando campo a campo, de uma olhada na imagem abaixo, vc vai ver que o item 4 ja esta criado em branco...

entrada.jpg

Abraços

Luiz Fernando

msn: empresoft@globo.com

skype:empresoft

empresoft@globo.com

FWH 8.04,XHARBOUR 1.1,PELES,XDEV,VLIB,ADS 8.1

FWH 9.12,XHARBOUR 1.2,ADS 9.0

Editado por - empresoft on 28/12/2010 17:52:05

Link to comment
Share on other sites

Geraldo e Sergio obrigado pelas respostas, mais de forma alguma estava dando certo sempre voltava no primeiro registro...

substitui xSetFocus(oBrw) para oBrw:SetFocus() com isto resolvi este problema e um outro problema em outro modulo do sistema, fica ai a dica de não usar o xSetFocus com o objeto da xbrowse...

Sergio segue a forma que faço edição e validação


// aqui minha primeira coluna editavel,

// RecCount() == 0 aqui verifico se o banco de dados esta vazio caso sim é criado um registro

// em branco

oCol:= oBrw:AddCol()

oCol:bStrData := { || compratemp->codigo }

oCol:bEditValue := { || compratemp->codigo }

oCol:cHeader := "Código"

oCol:cToolTip := {"Codigo do Produto","Ajuda","",nRGB(255,255,255),nRGB(58,116,241) }

oCol:nWidth := 60

oCol:nEditType = EDIT_GET

oCol:bEditValid := { | oGet,oCol | valida_entr(oGet,oCol,oBrw,"CODIGO",nDados) }

oCol:bOnPostEdit = { | oCol, xVal, nKey | If( RecCount() == 0, ( compratemp->(DBAPPEND()),oBrw:Refresh() ),) }

// aqui a ultima coluna editavel, neste caso ele verifica se é final de arquivo caso sim

// apos o enter ele já cria outro registro em branco

oCol:= oBrw:AddCol()

oCol:bStrData := { || compratemp->imposto }

oCol:bEditValue := { || compratemp->imposto }

oCol:nEditType = EDIT_GET

oCol:bEditWhen := {|| !empty(compratemp->codigo) }

oCol:cEditPicture := "@!"

oCol:cHeader := ""

oCol:cToolTip := {"Informar S para detalhar imposto...","Ajuda","",nRGB(255,255,255),nRGB(58,116,241) }

oCol:nWidth := 10

oCol:nHeadStrAlign := AL_RIGHT

oCol:nDataStrAlign := AL_RIGHT

oCol:nEditType := EDIT_GET

oCol:bEditValid := { | oGet,oCol | valida_entr(oGet,oCol,oBrw,"IMPOSTO",nDados) }

oCol:bOnPostEdit = { | oCol, xVal, nKey | If( RecCount() == 0, DBAPPEND(),), If( nKey == VK_RETURN, ( compratemp->imposto := xVal, if(!empty(compratemp->codigo),compratemp->(dbskip()),),if(compratemp->(eof()),(DbAppend(),oBrw:Refresh()),) ),) }

// aqui a funcao de validacao

procedure valida_entr(oGet,oBrwCol,oBrw,aCCampos,nDados)

msgalert(oGet:Value) // esta variavel tem o valor que foi digitado na celula

if acCampos="CODIGO"

// minhas rotinas

elseif acCampos="CUSTO"

// minhas rotinas

.

.

.

endif

id=code>id=code>

Abraços

Luiz Fernando

msn: empresoft@globo.com

skype:empresoft

empresoft@globo.com

FWH 8.04,XHARBOUR 1.1,PELES,XDEV,VLIB,ADS 8.1

FWH 9.12,XHARBOUR 1.2,ADS 9.0

Editado por - empresoft on 28/12/2010 21:09:18

Editado por - empresoft on 28/12/2010 21:11:27

Link to comment
Share on other sites

Como faz isto:

(eu uso xbrowse, dá para fazer?)id=red>

tela1.JPG

Em Cristo!

Rone - Itajubá(MG)id=red>

xHB build 1.1.0 (SimpLex) & BCC 5.5.1 & FW 7.12 + xDevStudio

A pessoa que pensa que sabe alguma coisa, ainda não tem a sabedoria que precisa. (1 Cor 8, 2)id=blue>

Editado por - theotokos on 29/12/2010 11:33:54

Editado por - theotokos on 29/12/2010 11:34:32

Editado por - theotokos on 29/12/2010 11:35:23

Link to comment
Share on other sites

citação:

Como faz isto:

(eu uso xbrowse, dá para fazer?)id=red>

http://www.4shared.com/photo/wgGVR-pK/tela1.JPG


id=quote>id=quote>

Ola Rone, infelismente na sua versão do fivewin não da certo, mais caso vc fazer um upgrade, de uma olhada no samples no arquivo testhead.prg é coisa super simples...

Abraços

Luiz Fernando

msn: empresoft@globo.com

skype:empresoft

empresoft@globo.com

FWH 8.04,XHARBOUR 1.1,PELES,XDEV,VLIB,ADS 8.1

FWH 9.12,XHARBOUR 1.2,ADS 9.0

Link to comment
Share on other sites

OBRIGADO!!!!

citação:

citação:

Como faz isto:

(eu uso xbrowse, dá para fazer?)id=red>

http://www.4shared.com/photo/wgGVR-pK/tela1.JPG


id=quote>id=quote>

Ola Rone, infelismente na sua versão do fivewin não da certo, mais caso vc fazer um upgrade, de uma olhada no samples no arquivo testhead.prg é coisa super simples...

Abraços

Luiz Fernando

msn: empresoft@globo.com

skype:empresoft

empresoft@globo.com

FWH 8.04,XHARBOUR 1.1,PELES,XDEV,VLIB,ADS 8.1

FWH 9.12,XHARBOUR 1.2,ADS 9.0


id=quote>id=quote>

Em Cristo!

Rone - Itajubá(MG)

id=red>

xHB build 1.1.0 (SimpLex) & BCC 5.5.1 & FW 7.12 + xDevStudio

A pessoa que pensa que sabe alguma coisa, ainda não tem a sabedoria que precisa. (1 Cor 8, 2)id=blue>

Link to comment
Share on other sites

Fala amigão, tudo blz... veja se resolve o seu problema.

procedure valida_entr(oGet,oBrw,aCCampos,nDados)

local lRet := .t.,nReg:=CompraTemp->(RECNO())

if acCampos="CODIPRODU"

CompraTemp->(DBGOTO(nReg))

oGet:VarPut( CompraTemp->cod )

oGet:bValid := NILid=red>

endif

RETURN(.T.)

Contando que esta procedure é a que está no valid da coluna no browse, mas qualquer coisa me chame no msn.

Alessandroid=blue>

FW20d+CL53b+Blk7+@Say+CDX

FW9.07+xHb121+PellesC+CDX

"Uma imaginação bem canalizada é fonte de grandes proezas"id=red>

Link to comment
Share on other sites

citação:

Fala amigão, tudo blz... veja se resolve o seu problema.

procedure valida_entr(oGet,oBrw,aCCampos,nDados)

local lRet := .t.,nReg:=CompraTemp->(RECNO())

if acCampos="CODIPRODU"

CompraTemp->(DBGOTO(nReg))

oGet:VarPut( CompraTemp->cod )

oGet:bValid := NIL

id=red>

endif

RETURN(.T.)

Contando que esta procedure é a que está no valid da coluna no browse, mas qualquer coisa me chame no msn.

Alessandroid=blue>

FW20d+CL53b+Blk7+@Say+CDX

FW9.07+xHb121+PellesC+CDX

"Uma imaginação bem canalizada é fonte de grandes proezas"id=red>


id=quote>id=quote>

E ai Alessandro blz, colega na verdade das varias forma que tinha de eu voltar para mesma linha nenhuma dava certo, após deixar de usar a função xSetFocus(oBrw) e usar oBrw:Setfocus() funcionou certinho...

Obrigado

Luiz Fernando

msn: empresoft@globo.com

skype:empresoft

empresoft@globo.com

FWH 8.04,XHARBOUR 1.1,PELES,XDEV,VLIB,ADS 8.1

FWH 9.12,XHARBOUR 1.2,ADS 9.0

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...