Fabio Ramirez Posted February 8, 2006 Author Report Share Posted February 8, 2006 Entao, Kapi. Vc chegou ao problema. Independente de eu colocar o valid, qdo vc Troca a Classificacao Fiscal e da o enter ele volta para o valor anterior porque passa novamente pela funcao CHKPR(sem ser chamada), onde na funcao eu verifico a class.fiscal do produto e coloco a valor na variavel. Entendeu ??? Este eh o problema. Sempre executa o CHKPR nos Gets. Aguardo retorno - Fabio FW2.3 - Clipper5.3 - WS4.5 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted February 8, 2006 Report Share Posted February 8, 2006 citação:Entao, Kapi. Vc chegou ao problema. Independente de eu colocar o valid, qdo vc Troca a Classificacao Fiscal e da o enter ele volta para o valor anterior porque passa novamente pela funcao CHKPR(sem ser chamada), onde na funcao eu verifico a class.fiscal do produto e coloco a valor na variavel. Entendeu ??? Este eh o problema. Sempre executa o CHKPR nos Gets. Aguardo retorno - Fabio FW2.3 - Clipper5.3 - WS4.5 id=quote>id=quote>ENTÃO, MUDE A FORMA DE PROGRAMAR, INVENTE OUTRA LÓGICA, VOCE CONSEGUE. VA PASSO A PASSO. INFELIZMENTE, ESTOU SEM TEMPO, VOU POSTAR ALGUM EXEMPLO, PARA IR TE INSPIRANDO. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br FWH 2.7 - xHARBOUR 0.99.50 / 0.99.51 - WorkShop.Exe Homenagem ao Fivewin 2.7 For [x]Harbour e ao Cris: Quote Link to comment Share on other sites More sharing options...
kapiaba Posted February 8, 2006 Report Share Posted February 8, 2006 //-> Baixe e leia devagar, voce vai entender. REDEFINE TBTNGET aGet[1] VAR xCod ; PICTURE "@K !!!!!!!!!!!!!!!" ; ID 24 OF oDlgv ; RESOURCE "FOLDER16" ; FONT oFont UPDATE ; COLOR CLR_BLACK, CLR_HCYAN ; VALID VER_PRODUTOS( xCod, aGet, oLbx, oDbfPedf , ; oDbfEstoque , ; oLbx:GoTop() , ; oLbx:Refresh() , ; oLbx:SetFocus() , ; oLbx:GoBottom(), lCxAtiva := .T. ) ; ACTION( PESQUISA_PRODUTO( aGet[1], oDbfEstoque, lCxAtiva := .T. ) ) *-----------------------------------------------------------------------------* * VALIDACAO DO PRODUTO *-----------------------------------------------------------------------------* STATIC FUNCTION VER_PRODUTOS( cCod, aGet, oLbx, oDbfPedf, oDbfEstoque, ; lAppend ) LOCAL lRet, T, oFnt, oGet, oSaida LOCAL nLinhaSay := 001 // Linha dos Say's LOCAL nColunaSay := 001 // Coluna dos Say's LOCAL nLinhaButton := 002 // Linha Que Come‡a os Botoes LOCAL nColunaButton := 002 // Coluna Que Come‡a os Botoes LOCAL nLinhaDialog := 005 // Linha Que Come‡a a Dialog LOCAL nColunaDialog := 005 // Coluna Que Come‡a a Dialog LOCAL nAlturaDialog := 180 // Altura da Dialog LOCAL nLarguraDialog := 300 // Largura da Dialog LOCAL cTitle := ( OemtoAnsi( "Op‡äes Para Cadastrar Produtos" ) ) LOCAL oRadio, oWnd, oEscolha, iDcor, nValorTitulos MEMVAR cNome_Func, cNumer_Orca, cDinCheq // Nome do funcionario, Or‡amento MEMVAR cUsuario, lItemSalvar, XCOD MEMVAR XNNF MEMVAR nValorRad MEMVAR nRecNo, gcFile, oImagem nValorRad := 1 //? Val(Subs(xCgcCli,49,10)) // ? cCod + " " + STR( LEN( ALLTRIM( cCod ) ), 2, 0 ) //--> Set cCod Se o C¢digo Estiver Vazio, Retorna True. IF Empty( cCod ) aGet[1]:Hide() aSays[4]:Hide() oLbx:GoTop() oLbx:Refresh() oLbx:SetFocus() oLbx:GoBottom() lCxAtiva := .T. RETURN( .T. ) ENDIF If UPPER(cCod)="K".AND.VAL(xubp)>0 xQtd=Lepeso() aGet[1]:Refresh() aGet[2]:Refresh() aGet[1]:Show() aGet[2]:Show() Return( .F. ) Endif SELECT ( oDbfEstoque:cAlias ) // Cadastro de Produtos SET ORDER TO 1 GO TOP SEEK( cCod ) // ? cCod + " " + STR( LEN( ALLTRIM( cCod ) ), 2, 0 ) // ? STR( LEN( ALLTRIM( cCod ) ), 2, 0 ) // ? cCod, ( oDbfEstoque:cAlias )->Cod IF FOUND() .OR. VAL( LEFT( cCod, 1 ) ) = 0 .AND. LEFT( cCod, 1 ) # "0" oDbfEstoque:Load() //-> Abertura das Fotos dos Produtos // Abrir um Arquivo no Diret¢rio Usando Long File Name -> JoÆo gcFile := LFN2SFN( oDbfEstoque:Fotos ) If Empty( gcFile ) .OR. !File( gcFile ) LFN2SFN( gcFile := "SEMFOTO2.JPG" ) // Longo NÆo Pega... oImagem:LoadBMP(gcFile) oImagem:Show() // Mostra a Telinha da Foto ID 201 oImagem:lStretch := ( .T. ) // Alongamento da Imagem. .F. Alonga .T. NÆo. Else nRecNo := ( oDbfEstoque:cAlias )->( RecNo() ) oDbfEstoque:GoTo( nRecNo ) IF !NetRecLock( oDbfEstoque ) RETURN NIL ENDIF oImagem:LoadBMP(gcFile) oImagem:Show() // Mostra a Telinha da Foto ID 201 oImagem:lStretch := ( .T. ) // Alongamento da Imagem. .F. Alonga .T. NÆo. EndIf If Val(Left(cCod,1))=0.And.Left(cCod,1)#"0" cCodd=ESCOLHEPROD( oGet, oDbfEstoque, cCod, xcsat ) cCod=cCodd SEEK cCod If .Not. Found() .Or. GetKeyState( VK_ESCAPE ) SELECT ( oDbfPedf:cAlias ) cCod := Space( 15 ) // Limpar o C¢digo do Produto No Buffer do Leitor. aGet[1]:VarPut( cCod ) // Limpar o Get If GetKeyState( VK_ESCAPE ) If VAL( xUls) > 0 aGet[1]:Hide() Endif Return( .T. ) Endif aGet[1]:Refresh() xFocus( aGet[1] ) // Desligar o Banner Quando NÆo Achar o Produto lCxAtiva := .T. lRet := .F. Return( .T. ) Endif Endif //--- Carrega os Dados do Produto Para o PDV Set Relation xDescricao := Desc // Descricao do produto If xQtd=0 .Or. xUltimaQtd=0 xQtd := 1.00 // Quantidade de Produtos Else // ? 'Quantidade Maior Que Zero' // Quantidade de Produtos > 0 Endif xVlUni := UltTaba // Valor de Venda Para Varejo xPrecoOrig := UltTaba // Pre‡o de Origem??? If xVlUni<=0 // Busca Produtos Sem Pre‡os +- Linha 3130 xVlUni=ProdSemPreco( oLbx ) If xVlUni<=0 SndPlaySound(".\Erro.Wav" ) MsgInfo( OemtoAnsi( "Pre‡o de Venda do Produto Inv lido ! " ),; OemToAnsi( "Erro no Pre‡o de Venda. Aten‡Æo! " ) ) xQtd := 0.00 xVlUni := 0.00 xPrecoOrig := 0.00 lRet := .F. Endif xPrecoOrig=xVlUni Endif lRet := .T. // Ativa o Banner lCxAtiva := .T. SALVAR( cCod, oLbx, oDbfPedf, xQtd, oDbfestoque ) ELSE // Se a Resposta Para Cadastrar Novo Produto, For Sim... // Ativa o Banner lCxAtiva := .T. //aSayCxFree[1]:Hide() If xTeclaMais = 1 // Se o Usu rio Teclou + e a Qtde de Produtos xQtd := VAL( cCod ) xultimaqtd := xQtd nKey := 999 lCxAtiva := .T. //aSayCxFree[1]:Hide() Mostra_Teclas( nKey, oDbfPedf, oLbx, aGet, aSays, aSayCxFree, ; oDlgv, xQtd ) ELSE SndPlaySound(".\Init.Wav" ) If MsgNoYes( "ATENÇÃO: ESTE PRODUTO NÃO FOI ENCONTRADO! "+ CRLF + ; + CRLF + ; "Código do Produto: " + AllTrim( cCod ) + CRLF + ; + CRLF + ; "Você Deve Cadastrá-lo Primeiro. Cuidado! "+ CRLF + ; + CRLF + ; "O Que Você Deseja Fazer? Escolha..."+ CRLF + ; " -> Cadastrar Novo Produto... "+ CRLF + ; " -> Retornar Sem Cadastrar Nada... ", ; "Informação Para o Usuário... " ) = .T. // Se Sim, Chamar Rotina de Cadastrar os Produtos Que NÆo Existem . // Rotina Para Cadastrar Novo Produto No Estoque.Dbf. xAutoriza := Autoriza("07","S",13, oDbfVendedor) IF xAutoriza="NAO" Return( .F. ) ENDIF // Define 'Tamanho'-(SIZE) da Fonte. DEFINE FONT oFnt NAME "Arial" SIZE 0,16 BOLD // DIALOG DEFINE DIALOG oDlg FROM nLinhaDialog, nColunaDialog ; TO nAlturaDialog, nLarguraDialog OF oWnd ; TITLE cTitle ; PIXEL ; FONT oFnt ; COLOR nRGB( 127, 127, 127 ), nRGB( 143, 168, 127 ) ; STYLE nOR( DS_MODALFRAME ) // Este Comando, Desliga Aquela ? Chata da Dialog que Pede o Help. oDlg:lHelpIcon := .F. //-------------Local Reservado Para os Say's---------------------------------// @ nLinhaSay, nColunaSay + 45 ; SAY ( OemtoAnsi( "Escolha Op‡Æo" ) ) ; OF oDlg ; COLOR CLR_HRED, RGB( 143, 168, 127 ) ; PIXEL //-------------Local Reservado Para os Radios----------------// @ nLinhaButton + 15, nColunaButton + 05 ; RADIO oRadio VAR nValorRad OF oDlg ; UPDATE ; ITEMS "&Incluir Novo Produto no Estoque", ; "&Alterar Um Produto do Estoque " ; COLOR CLR_BLACK, RGB( 143, 168, 127 ) ; PIXEL // 52.50 @ nLinhaButton + 50, nColunaButton + 32.50 ; BUTTON oEscolha ; PROMPT "&Confirme" OF oDlg ; SIZE 35,14 ; PIXEL ; ACTION ( lNaoSai := .T., oDlg:End() ) oEscolha:cToolTip := ( OemtoAnsi( "Escolha Op‡Æo e Confirme" ) ) @ nLinhaButton + 50, nColunaButton + 80 ; BUTTON oSaida ; PROMPT "&Saida" OF oDlg ; SIZE 35,14 ; PIXEL ; ACTION ( nValorRad := 0, lNaoSai := .T., oDlg:End() ) CANCEL oSaida:cToolTip := ( OemtoAnsi( "Saida - Escape - Exit" ) ) ACTIVATE DIALOG oDlg CENTERED RESIZE16 ; VALID( lNaoSai ) // Checa a Escolha do BotÆo do R dio IF nValorRad == 2 lCxAtiva := .T. SndPlaySound(".\Init.Wav" ) // Alterar o Estoque ou Incluir ESTOQUE( .F., oDbfEstoque, cCod, DEONDEVEM:=1 ) // Alterar No Estoque.Dbf ELSEIF nValorRad == 1 lCxAtiva := .T. SndPlaySound(".\Init.Wav" ) // Somente Para Incluir o Estoque GETESTOQUE( .T., oDbfEstoque, cCod, DEONDEVEM:=1 ) // Gravar No Estoque.Dbf ELSE // Usu rio se Arrependeu de Incluir Novo Produto. // Vai Sair do ButtonRadio, Caso o Usu rio se Arrependa. // E NÆo Queira Mais Incluir Um Novo Produto. Ele Volta, // Para o GET do Produto Digitado. By Edvaldo. SndPlaySound(".\Erro.Wav" ) lCxAtiva := .T. lRet := .F. ENDIF //--- Reapresenta os Get's xFocus( aGet[1] ) aGet[1]:Refresh() lCxAtiva := .T. ELSE // Se a Resposta Para Cadastrar Novo Produto, For NÆo... // NÆo Say Se Isso ‚ Necess rio... Testar... // Seleciona o Estoque, Para Continuar Trabalhando No Balcao. SELECT ( oDbfEstoque:cAlias ) SET ORDER TO 1 GO TOP //--- Reapresenta os Get's aGet[1]:Refresh() xFocus( aGet[1] ) lCxAtiva := .T. ENDIF ENDIF lCxAtiva := .T. lRet := .F. ENDIF cCod := Space(15) // Limpar o C¢digo do Produto No Buffer do Leitor. xCod := Space(15) // Limpar o Get // Se For Teclado com Leitor de C¢digos de Barras. If VAL( xUls) <= 0 aGet[1]:VarPut( cCod ) // Limpar o Get aGet[1]:VarPut( xCod ) // Limpar o Get aGet[1]:Refresh() xFocus( aGet[1] ) Endif // Continua Trabalhando no Balcao de Vendas... SELECT ( oDbfPedf:cAlias ) lNaoSai := .F. RETURN lRet //-------------------------------------------------------------------------// // Funcao que exibe lista de Produtos Com a Tecla F9 -> Para Pesquisa //-------------------------------------------------------------------------// STATIC FUNCTION PESQUISA_PRODUTO( oGet, oDbfEstoque, nWidth, nHeight ) LOCAL oWnd, oDlg, oLbx, aPoint, cAlias:= Alias() LOCAL xVal, bRestore, lNormal, cPesq, nKey, oFont, oSay, Qtd_Estoque SELECT ( oDbfEstoque:cAlias ) SET ORDER TO 1 GO TOP nKey := Chr(13) bRestore := {|| IIF( !lNormal, oGet:Varput( xVal ), ), oDlg:End() } xVal := oGet:Varget() lNormal := .F. cPesq := Alltrim( oGet:oGet:Buffer ) //msginfo(cPesq) // Debugador IF !Empty( cPesq ) SELECT ( oDbfEstoque:cAlias ) GO TOP SEEK cPesq IF !Found() MsgInfo( "Não Encontrei Este Produto. Erro!!" + CRLF + ; "Digite as Iniciais do Produto, Assim:" + CRLF + ; "Ex.: ARRO, FITA, BOLA, MALA, Etc. " + CRLF + ; "Tente de Novo, e Use: F9-Browse ", ; OemtoAnsi( "Aten‡Æo, Por Favor!" ) ) GO TOP ENDIF // Implementei, Para Busca de Produtos Manualmente, Usando a Tecla // F9 -> Por Ordem Alfab‚tica. Digita‡Æo Manual do C¢digo. SELECT ( oDbfEstoque:cAlias ) SET ORDER TO 2 // -> Por Descri‡Æo do Produto GO TOP ELSE SELECT ( oDbfEstoque:cAlias ) SET ORDER TO 2 // -> Por Descri‡Æo do Produto GO TOP ENDIF // ListBox dos Produtos Quando Acionada Com a Tecla F9->BtnGet.Prg DEFINE FONT oFont NAME "Arial" SIZE 8, 16 BOLD // Par dialog DEFINE DIALOG oDlg RESOURCE "BROWSE_PDV" ; COLORS CLR_BLACK, nRGB( 193, 205, 205 ) // Este Comando, Desliga Aquela ? Chata da Dialog que Pede o Help. ODLG:LHELPICON := .F. REDEFINE LISTBOX oLbx ; FIELDS (oDbfEstoque:cAlias )->COD , ; (oDbfEstoque:cAlias )->DESC , ; TRANSFORM((oDbfEstoque:cAlias)->ULTTABA, "@E 999,999.99" ) , ; TRANSFORM((oDbfEstoque:cAlias)->ULTTAB, "@E 999,999.99" ) , ; TRANSFORM((oDbfEstoque:cAlias)->( VAL( SUBSTR( TIPO,12,8 ) ) ) , ; "@E 999,999.99" ) , ; TRANSFORM((oDbfEstoque:cAlias)->( VAL( SUBSTR( TIPO,20,8 ) ) ) , ; "@E 999,999.99" ) ; HEADERS OemtoAnsi( "C¢digo " ) , ; OemtoAnsi( "Descri‡Æo " ) , ; OemtoAnsi( "Pre‡o 1 " ) , ; OemtoAnsi( "Pre‡o 2 " ) , ; OemtoAnsi( "Pre‡o 3 " ) , ; OemtoAnsi( "Pre‡o 4 " ) ; ALIAS( oDbfEstoque:cAlias ) ; FIELDSIZES 145, 350, 100, 100, 100, 100 ; COLOR CLR_BOMBOM, CLR_LGREEN ; FONT oFont ; ID 101 ; OF oDlg ; ON CHANGE ( oGet:VarPut( ( oDbfEstoque:cAlias)->COD ) , ; oGet:Refresh() ) ; ON DBLCLICK ( oDlg:End() ) // Neste Caso, Vai Fazer a Pesquisa Incremental oDlg:bKeyDown := { | nKey | Faz_Pesquisa( nKey, ; ( oDbfEstoque:cAlias ), oLbx, oSay, ; oLbx:SetFocus(), oLbx:Refresh() ), ; IIF( nKey == VK_ESCAPE, ; EVAL( bRestore ), ; IIF( nKey == VK_RETURN, ; ( lNormal := .T., EVAL( bRestore) ), ) ) } //------ Defini‡äes da ListBox dos Produtos em Estoque.Dbf --------------// oLbx:nClrBackHead := CLR_LGREEN // Cor do Fundo do Cabe‡alho oLbx:nClrBackFocus := CLR_HRED // Cor do Cursor Em Cima do Ötem oLbx:nClrForeFocus := CLR_AMARELO // cor da letra da barra ativa oLbx:nClrForeHead := CLR_HRED // Cor nos Headers - Cabe‡alhos // Cor no Pano de Fundo da Browse() Listbox-Legal - abaixo o comando oLbx:nClrPane := { || IIF( ( oLbx:cAlias )->( OrdKeyNo() ) %2 == 0, ; CLR_LGREEN, CLR_LGRAY ) } oLbx:nColAct := 2 // Onde o Cursor Vai Iniciar qual coluna? oLbx:nLineStyle := 3 // Estilo das linhas nos dados da Browse oLbx:lCellStyle := .T. // S¢ Pinta a celula que o cursor est // Justifica As Colunas dos Campos Esq. .T. = Centro oLbx:aJustify := { .F., .F., .T., .T., .T., .T., .T. } oLbx:lMChange := .F. // Desabilita Mousemove oLbx:SetFocus() // Refocus on The Browse oLbx:Refresh() // Estabiliza o Browse/Listbox ACTIVATE DIALOG oDlg RESIZE16 ; ON INIT ( oDlg:bLostFocus := { || oDlg:bLostFocus := Nil, ; EVAL( bRestore ) } , oLbx:Refresh() ) ; VALID ( lNormal := .T. ) SELECT ( cAlias ) lCxAtiva := .T. // Para Acionamento do Banner do CAIXA LIVRE(Free) RETURN NIL João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br FWH 2.7 - xHARBOUR 0.99.50 / 0.99.51 - WorkShop.Exe Homenagem ao Fivewin 2.7 For [x]Harbour e ao Cris: Quote Link to comment Share on other sites More sharing options...
pauloaraujo Posted February 8, 2006 Report Share Posted February 8, 2006 Fábio, Poste a dialog INTEIRA. Quem sabe alguém não descobre o erro. ------------------------------------------------------------ NÃO ACREDITO. NÃO ACREDITO. NÃO ACREDITO. VOCÊ ESPEROU O VAGNER SAIR DE FÉRIAS PARA SOLTAR ESSA PÉROLA: HAHAHAHAHAHAHAHAHA //-------------Local Reservado Para os Say's---------------------------------// @ nLinhaSay, nColunaSay + 45 ; SAY ( OemtoAnsi( "Escolha Op‡Æo" ) ) ; OF oDlg ; COLOR CLR_HRED, RGB( 143, 168, 127 ) ; PIXEL Editado por - pauloaraujo on 08/02/2006 15:42:45 Quote Link to comment Share on other sites More sharing options...
Fabio Ramirez Posted February 8, 2006 Author Report Share Posted February 8, 2006 Se existe um problema de logica (o q aparentemente nao acredito) eu pedi ajuda para descobrir e nao errar mais. Eu gostaria que alguem CONSTATASSE o problema e me orientasse para que eu nao venha a errar novamente no mesmo lugar. Criar outra rotina nao vai mudar nada. Kapi, sabe aquela historia da vaca com carrapato. Onde pra se ver livre dos carrapatos vc mata a vaca, entao... Agradeco sua atencao e peco desculpas por ter tomado o seu tempo. Fabio Ramirez FW2.3 - Clipper5.3 - WS4.5 Quote Link to comment Share on other sites More sharing options...
pauloaraujo Posted February 8, 2006 Report Share Posted February 8, 2006 Fábio, Mostre a DIALOG inteira e aquela função do VALID. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted February 8, 2006 Report Share Posted February 8, 2006 citação:Fábio, Poste a dialog INTEIRA. Quem sabe alguém não descobre o erro. ------------------------------------------------------------ NÃO ACREDITO. NÃO ACREDITO. NÃO ACREDITO. VOCÊ ESPEROU O VAGNER SAIR DE FÉRIAS PARA SOLTAR ESSA PÉROLA: HAHAHAHAHAHAHAHAHA //-------------Local Reservado Para os Say's---------------------------------// @ nLinhaSay, nColunaSay + 45 ; SAY ( OemtoAnsi( "Escolha Op‡Æo" ) ) ; OF oDlg ; COLOR CLR_HRED, RGB( 143, 168, 127 ) ; PIXEL Editado por - pauloaraujo on 08/02/2006 15:42:45 id=quote>id=quote>hehehe... Veja Que Como Não Suport @..., o Patrão fez, e eu alterei para não ter @... Fábio... Envie Tudo Para o Paulo Araújo, Pois Realmente, estou sem tempo. Veja com ele se pode... João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br FWH 2.7 - xHARBOUR 0.99.50 / 0.99.51 - WorkShop.Exe Homenagem ao Fivewin 2.7 For [x]Harbour e ao Cris: Quote Link to comment Share on other sites More sharing options...
pauloaraujo Posted February 8, 2006 Report Share Posted February 8, 2006 Fábio, Pode mandar para eu dar uma olhada. O único problema é que não uso WS. Agora, você fez esse teste que te pedi??? Static Function CHKPR( oGetCot, oDlg ) ...... ...... Sele pro DbSetorder(1) sele cot oGetCot[4]:VarPut(vn_descr) oGetCot[5]:VarPut(vn_cf) oGetCot[6]:VarPut(vn_peripi) oGetCot[4]:Refresh() oGetCot[5]:Refresh() oGetCot[6]:Refresh() Return( lRet ) Outra coisa, coloque um MSGINFO e retorne o que aconteceu if .not. eof() vn_peripi=fis->percipi MSGINFO(vn_peripi) Editado por - pauloaraujo on 08/02/2006 18:46:16 Quote Link to comment Share on other sites More sharing options...
siscat Posted February 9, 2006 Report Share Posted February 9, 2006 pessoal, bom dia... eu não queria me meter nesta "briga de foice no escuro" rsss ... más não vejo outra forma... este tópico era pra ser bem simples... seguinte, acho que nenhum de voces ainda entendeu qual é realmente o problema que o Fábio está enfrentando... ele não está com problema na função de validação... nem de lógica... estou com os fontes dele aqui analisando a alguns dias ... vou tentar explicar pra voces... imaginem assim... tenho 6 GETs em uma DIALOG ok .. somente um destes GETs tem clausula VALID ... qual seria o resultado de uma digitação nesta tela? ... a validação deveria ser executada somente para o GET que tem a clausula VALID ok ... concordam comigo? pois o que ocorre com o Fábio... e eu reproduzi aqui... é que os 6 GETs executam a validação... mesmo não tendo a clausula VALID definida .. REDEFINE GET oGetCot[1] VAR mCotacao ID 35 OF oFld:aDialogs[7] PICTURE "999999" FONT FT_DTCAD WHEN .F. REDEFINE GET oGetCot[2] VAR mDataCot ID 44 OF oFld:aDialogs[7] PICTURE "@d" WHEN .F. REDEFINE GET oGetCot[3] VAR vn_prod ID 32 OF oFld:aDialogs[7] PICTURE "999999" VALID CHKPR() REDEFINE GET oGetCot[4] VAR vn_descr ID 50 OF oFld:aDialogs[7] PICTURE "@!" REDEFINE GET oGetCot[5] VAR vn_cf ID 66 OF oFld:aDialogs[7] PICTURE "@!" REDEFINE GET oGetCot[6] VAR vn_peripi ID 49 OF oFld:aDialogs[7] PICTURE "99" id=code>id=code>observem ai acima no código que somente o terceiro GET tem clausula VALID ... mas o quarto, quinto e sexto GETs tambem executa a validação...!!!! e não poderia, pois não foi definida a clausula VALID para estes... agora o mais interessante... se eu retirar o WHEN .F. do segundo GET a validação vai ser executada somente para o GET que tem a VALID definida ... uma coisa de louco... espero que eu tenha conseguido explicar o problema do nosso amigo e que alguem aqui a partir de agora tenha uma "luz" para a solução deste mistério ... abraços... ps: o Fábio usa FW 2.4 com Clipper + Blinker 7 ... Marllon Figueiredo Analista de Sistemas ERP/CRM Porto Alegre - RS siscatsoftware@hotmail.com FWH for (x)Harbour, xMate, Clipper, MsSQL, Oracle, Postgres, MySQL, TopConnect, ADS Versões: FWH 2.6 e 2.7 - xHarbour 0.99.4 - 0.99.51 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted February 9, 2006 Report Share Posted February 9, 2006 Marllon, Bom dia... Estou sem tempo, mas se voce puder, faca isso: Abra a Folder dele, e troque estes controles, tem que ficar nesta ordem: Arrume is ID's Para que 'caiam' com a numeracao na sequencia certinha, teste com o <1,2> do WorkShop.exe se eles estao corretos. Depois teste com o . Esta e a sequencia correta para usar RECURSOS. REDEFINE GET oGetCot[1] VAR mCotacao PICTURE "999999" ; WHEN( .F. ) ; UPDATE ; ID 32 OF oFld:aDialogs[7] ; FONT FT_DTCAD REDEFINE GET oGetCot[2] VAR mDataCot PICTURE "@d" ; WHEN( .F. ) ; UPDATE ; ID 33 OF oFld:aDialogs[7] REDEFINE GET oGetCot[3] VAR vn_prod PICTURE "999999" ; ID 34 OF oFld:aDialogs[7] ; UPDATE ; VALID CHKPR() REDEFINE GET oGetCot[4] VAR vn_descr PICTURE "@!" ; ID 35 OF oFld:aDialogs[7] ; UPDATE REDEFINE GET oGetCot[5] VAR vn_cf PICTURE "@!" ; ID 36 OF oFld:aDialogs[7] ; UPDATE REDEFINE GET oGetCot[6] VAR vn_peripi PICTURE "99" ; ID 37 OF oFld:aDialogs[7] ; UPDATE Nos Botoes, troque para 301, 302... em diante. Troque nos Fontes. Troque a Classe BTNGET.PRG por outra, pode estar defeituosa. Esqueci: Coloque o comando UPDATE em todos os GET's. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br FWH 2.7 - xHARBOUR 0.99.50 / 0.99.51 - WorkShop.Exe Homenagem ao Fivewin 2.7 For [x]Harbour e ao Cris: Editado por - kapiaba on 09/02/2006 10:14:01 Quote Link to comment Share on other sites More sharing options...
siscat Posted February 9, 2006 Report Share Posted February 9, 2006 Tudo isto já foi feito Joao... citação:Arrume is ID's Para que 'caiam' com a numeracao na sequencia certinha, teste com o <1,2> do WorkShop.exe se eles estao corretos. Depois teste com o . Esta e a sequencia correta para usar RECURSOS. id=quote>id=quote>tambem pensei que poderia ser o BTNGET .. troquei pela versao que eu uso e nao adiantou.. o UPDATE é apenas um atalho para refresh de objetos ... nao resolveria nestes casos ... estou desconfiado de pau na versao 2.4 do FW ... estou preparando para testar com a 2.6 ... vamos ver o que acontece ... Marllon Figueiredo Analista de Sistemas ERP/CRM Porto Alegre - RS siscatsoftware@hotmail.com FWH for (x)Harbour, xMate, Clipper, MsSQL, Oracle, Postgres, MySQL, TopConnect, ADS Versões: FWH 2.6 e 2.7 - xHarbour 0.99.4 - 0.99.51 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted February 10, 2006 Report Share Posted February 10, 2006 citação:Tudo isto já foi feito Joao... citação:Arrume is ID's Para que 'caiam' com a numeracao na sequencia certinha, teste com o <1,2> do WorkShop.exe se eles estao corretos. Depois teste com o . Esta e a sequencia correta para usar RECURSOS. id=quote>id=quote>tambem pensei que poderia ser o BTNGET .. troquei pela versao que eu uso e nao adiantou.. o UPDATE é apenas um atalho para refresh de objetos ... nao resolveria nestes casos ... estou desconfiado de pau na versao 2.4 do FW ... estou preparando para testar com a 2.6 ... vamos ver o que acontece ... Marllon Figueiredo Analista de Sistemas ERP/CRM Porto Alegre - RS siscatsoftware@hotmail.com FWH for (x)Harbour, xMate, Clipper, MsSQL, Oracle, Postgres, MySQL, TopConnect, ADS Versões: FWH 2.6 e 2.7 - xHarbour 0.99.4 - 0.99.51 id=quote>id=quote>Boa Tarde Marllon, desculpe a demora, mas é que fiquei perdendo tempo com as bobagens de DEEELLLPPHHHIIIRRC, e esqueci deste tópico. Gentileza, vá reportando qualquer coisa... Tamos ae... João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br FWH 2.7 - xHARBOUR 0.99.50 / 0.99.51 - WorkShop.Exe Homenagem ao Fivewin 2.7 For [x]Harbour e ao Cris: 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.