Jump to content
Fivewin Brasil

Marca

Membros
  • Posts

    1,425
  • Joined

  • Last visited

  • Days Won

    27

Posts posted by Marca

  1. 1 hora atrás, devairlp disse:

    Qual tipo de botão vc usa pra acionar a saida da Dialog, pois tive um problema parecido, que sempre duplicava o comando em algumas partes do prog., qdo eu usava BUTTONBMP, foi dificil descobrir que era isso que me causava o erro, mudei para BTNBMP e no pra mim resolveu.

    Por acaso é exatamente o BUTTONBMP

     

  2. 19 horas atrás, Jmsilva disse:

    Sugestão: Vc pode chamar a rotina abaixo na sua func_valid  e exibir num browse ou gravar em log(melhor), com isto vc poderia verificar de onde vem a segunda chamada.

    // The example implements a user defined function that collects call stack
    // information in an array.
    
       FUNCTION GetCallStack()
          LOCAL aStack := {}
          LOCAL nStack := 1  // Skip the GetCallStack() function in the result
    
          DO WHILE .NOT. Empty( ProcName(nStack) )
             AAdd( aStack, { ProcFile(nStack), ProcName(nStack), ProcLine(nStack) })
             nStack ++
          ENDDO
    
       RETURN aStack
    
    

    este exemplo é proprio help do xHB

     

     

     

    Opa

    Bom dia JmSilva 

    Eu já uso esta função em outros casos irei aplicar ela na rotina de saida da tela pra ver se me mostra de onde vem

    O mais estranho ainda é que isso acontece de chamar a rotina de saida estando dentro de um DO WHILE é mole não poderia sair em hipotese alguma sem os condicionais  e se saisse o log pegaria o que mostra q. isso esta sendo executado em segundo plano.
    DO WHILE nInc < nFinal .AND. lContinue
    ENDDO
    E caso tivesse saido seira pego 
    nInc := 1
    GravaLogDia("Saiu do WHILE GERAL geral :" + oLbx:cAlias + " COM lBrowseVdEmProcesso : " + RetornaValorVar( lBrowseVdEmProcesso ) , "SVE")
    SetaArea(cArqTemp)
     

  3. Pra variar vc não leu o fonte né !!!! coisas de curintiano

    O On Init nada mais faz do que as configurações de fontes , menus e outras coisas relativas a tela 
    ON INIT ( Ini_Dialogs(oDlgVd,,cFonteTela)         ,;

                     BarraTelVd(oDlgVd,oBrVd,oGrupo[7]),;
                      SetsVendas( cFonteTela ) )   
    Já  o VALID SairTelaVenda( oDlgVd ) Faz o fechamento da mesma


    Grave ao entrar antes do DEFINE DIALOG 
    Isso já e feito. Ete log q. tem ai é somente a parte q. interessa ser vista nada anterior a isso irá fazer diferenteça no problema que esta acontecendo

    E a saida do ACTIVATE DIALOG
    É exatamente o que esta sendo mostrado ali no log 

  4. Bom dia a todos

    Pessoal. Estou tendo um problema com uma tela onde a função de saida de tela SairTelaVenda() esta sendo executada por mais de uma vez
    E só existe uma chamada desta tela que é lo valid da dialog. Uma vez confirmada a saida ela em algum momento é chamada novamente

    Observem a linha  
    3 08:20:14-BALCAO22-MONICA-393610-Confirmou a saida da tela de vendas com o texto Deseja realmente sair da venda ?
     e a linha 
    14 08:20:23-BALCAO22-MONICA-393610-Confirmou a saida da tela de vendas com o texto Deseja realmente sair da venda ?
    De alguma maneira se repetem
    Esta linha 14 não poderia existir devido a todo o processo ter sido finalizado na linha 13 mais de alguma maneira isso acontece

    Algúem já passou por algo semalhante ?


     1 08:20:13-BALCAO22-MONICA-393610-Voltou o foco
     2 08:20:13-BALCAO22-MONICA-393610-Retornando de TeclaVenda TEVD02901834080338 
     3 08:20:14-BALCAO22-MONICA-393610-Confirmou a saida da tela de vendas com o texto Deseja realmente sair da venda ?
     4 08:20:14-BALCAO22-MONICA-393610-Retornou de SairTelaVenda como VERDADEIRO
     5 08:20:14-BALCAO22-MONICA-393610-FINALIZANDO TELA DE VENDAS em temporário TEVD02901834080338
     6 08:20:14-BALCAO22-MONICA-393610-Fechamento padrão do temporario : TEVD02901834080338
     7 08:20:14-BALCAO22-MONICA-393610-Executando exclusão do temporário : TEVD02901834080338 : C:\sven\TE\TEVD02901834080338.DBF
     8 08:20:14-BALCAO22-MONICA-393610-Executando exclusão do temporário : TEVD02901834080338 : C:\sven\TE\TEVD02901834080338.fpt
     9 08:20:14-BALCAO22-MONICA-393610-NAO FOI ENCONTRADO NENHUM ARQUIVO : K:\sven\TEVD02901834080338.prn PARA EXCLUSÃO
    10 08:20:14-BALCAO22-MONICA-393610-Finalizando venda em temporário TEVD02901834080338
    11 08:20:14-BALCAO22-MONICA-393610-Nome atual do temporário de venda TEVD02901834080338
    12 08:20:14-BALCAO22-MONICA-393610-Novo nome do temporário de venda FIMVD
    13 08:20:14-BALCAO22-MONICA-393610-Trocou o nome e saiu FIMVD
    14 08:20:23-BALCAO22-MONICA-393610-Confirmou a saida da tela de vendas com o texto Deseja realmente sair da venda ?
    15 08:20:23-BALCAO22-MONICA-393610-Retornou de SairTelaVenda como VERDADEIRO

    ACTIVATE DIALOG oDlgVd CENTERED ON INIT ( Ini_Dialogs(oDlgVd,,cFonteTela)         ,;
                                                                                     BarraTelVd(oDlgVd,oBrVd,oGrupo[7]),;
                                                                                     SetsVendas( cFonteTela ) )                  ;
                                                                          VALID SairTelaVenda( oDlgVd )


    *************************************//***************************************
    STATIC FUNCTION SairTelaVenda( oDialogVd )
    **************************************//***************************************
    LOCAL lFinalizarTelaVd := .F.

    IF lBrowseVdEmProcesso

       GravaLogDia("Tentou sair sendo que o lBrowseVdEmProcesso estava como VERDADEIRO", "SVE")

    ELSE

       IF MSG( "Deseja realmente sair da venda" ,"ATENÇÃO","YESNO")

          IF p_Arg1 = "O" .AND. p_nPedido > 0
             cQueryDav := "UPDATE orcamto SET coo_dav = " + ANY2SQL( 0 ) + " WHERE pedido = " + ANY2SQL(p_nPedido)
             p_nPedido := 0
             MyMsgRun("Aguarde... Liberando a utilização do Dav ","AGUARDE...", {|| GravaBase(cQueryDav,"Orcamto")  })
          ENDIF
          GravaLogDia("Confirmou a saida da tela de vendas com o texto " + "Deseja realmente sair da venda", "SVE")
          lFinalizarTelaVd := .T.
          
       ENDIF

    ENDIF

    GravaLogDia("Retornou de SairTelaVenda como " + IF(lFinalizarTelaVd,"VERDADEIRO","FALSO") , "SVE")

    IF lFinalizarTelaVd
       
       MyMsgRun("Finalizando operação    ........","AGUARDE", {|| TerminaProcessoVenda( oDialogVd ) }, "Engrena.gif" )

    ENDIF

    RETURN lFinalizarTelaVd


    ************************************************************************
    STATIC FUNCTION TerminaProcessoVenda( oDialogVd )
    ************************************************************************

    GravaLogDia( "FINALIZANDO TELA DE VENDAS em temporário " + cArqVendas , "SVE" )

    IF File(oPub:wPathTemp + cArqParc + ".DBF") // Caso seja um orcamento com cond. de pgto
       MyMsgRun("Finalizando arquivo de parcelas ........","AGUARDE", {||  Fecha_Temp(cArqVendas,.T.)  }, "Engrena.gif" )
       GravaLogDia( "Finalizando Temporario das parcelas no final da venda em vd_00  " + cArqVendas , "SVE" )
    ENDIF

    IF !oPub:lControleErr
       GravaLogDia( "Nome atual do temporário de venda " + cArqVendas , "SVE" )
       cArqVendas := "FIMVD"

       GravaLogDia( "Novo nome do temporário de venda " + cArqVendas , "SVE")

    ENDIF

    WaitSeconds( 0.5 )
    *HB_GCAll(.T.)
    GravaLogDia( "Trocou o nome e saiu "  + cArqTemp , "SVE")

    RETURN .T.

  5. A ideia e bem interessante

    Alguém teria um exemplo que funcione ?
    Tentei com vários outros códigos aqui e nenhum deles funcionou

     

    Este do exemplo do João foi o único q. consegui fazer rodar
    78932609

    http://www.eanpictures.com.br:9000/api/gtin/78986793 NÃO ACHA
    http://www.eanpictures.com.br:9000/api/gtin/78986793 NÃO ACHA
    http://www.eanpictures.com.br:9000/api/gtin/78938583 NÃO ACHA
    http://www.eanpictures.com.br:9000/api/gtin/78940610 NÃO ACHA
    http://www.eanpictures.com.br:9000/api/gtin/78989293 NÃO ACHA
    http://www.eanpictures.com.br:9000/api/gtin/78938583 NÃO ACHA

  6. 2 horas atrás, emotta disse:

    Não vejo vantagens técnicas de migrar para 64 bits, o maior problema que tínhamos em 16 bits era basicamente a quantidade de endereçamento de memória disponíveis para a aplicação.

    Quem aqui se lembra das fechadas inesperadas do sistema, que simplesmente era finalizado em qualquer mensagem ou alguma mensagem aleatória, sem qualquer motivo aparente.

    Basicamente isso acontecia pq a aplicação 16 bits tinha poucos espaços disponíveis e quando precisava alocar algo novo ou não conseguia encontrar um espaço ou dava conflito com outro espaço que já havia alocado para outra coisa.

    Então a migração para 32 bits era muito necessária e foi um alivio geral quando aconteceu. Graças ao (x)Harbour.

    Diferente do que muita gente pensa a migração de 16 para 32 bits não dobrou a capacidade, o calculo é feito de outra forma, mas uma maneira simples de explicar o aumento é o seguinte: Imagine que você tinha R$ 9,00, a mudança para 32 bits aumentou um digito e com isso você passou a ter R$ 99,00. Não é isso exatamente mas é essa a idéia.

    A mudança para 64 bits vai aumentar a disponibilidade desses endereços, além de outras coisas, mas isso não faz diferença alguma para nós que fazemos atualmente aplicações 32 bits. Qual a diferença de ter 1 bilhão de espaços para usar ou 10 bilhões sendo que não usamos nem 1 milhão? 

     

     

     

     

     

    Muito boa a explicação parabéns

     

  7. 11 minutos atrás, emotta disse:

    vc nunca passou por esse problema @kapiaba ?

    Emotta Não sou o Jon!!!!! e perdão por responder pq. vc direcionou a pergunta a ele. Sendo q. utilizo o xBrowse bastante e com ele nunca tive este problema

    Já no TwBrowse do Herman isso acontece direto comigo tive q. fazer um ajuste na classe pra melhorar. Não consegui sanar o problema tbem.

     

  8. 4 horas atrás, gibaf disse:

    cara, sinceramente, nao sei exatamente o q fiz q resolveu.... 

    ate site da russia entrei pra ver o diziam.... 

    mas, no final, limpei a lib... fui compilando uma a uma (inclusive de terceiros) e adicionando-as (uma a uma) e no final = resolvido !

    ->>> ate site da russia entrei pra ver o diziam
    Site da Russia ?

  9. Theotokos
    Monte o array do combo da maneira q. vc precisa e não tem q. mudar nada digo

    aComboBox := { A VISTA                   ,;
                                 A VISTA 20%          ,;
                                ----------------- ,;
                               A PRAZO 1x ,;
                              A PRAZO 2x ,;
                              A PRAZO 3X ,;
                             A PRAZO 4X ,;
                             ----------------- ,;

                            CARTAO DEBITO ,;
                            CARTAO CREDITO 1X ,;
                            CARTAO CREDITO 2X ,;
                            CARTAO CREDITO 3X ,;
                            CARTAO CREDITO 4X ,;
                            CARTAO CREDITO 5X ,;
                            ------------------,;
                           CHEQUE PRE DATADO }

  10. 2 horas atrás, kapiaba disse:

    Putz, esqueçam. É a TCBROWSE.PRG do FiveWin. kkkkkkkkkkkkkkk Putz, e eu nem bebi ainda.  Faz tanto tempo que não a uso que me confundi.

    So sorry.

    Regards, saludos.

     

    O Cara quando esta atoa da nisso hahahahahahah vai trabalhar rapaz.....

  11. 2 horas atrás, gilmer disse:

    Marca,

       veja se eles tem projeto pronto em postman ou faça funcionar em postman que eu te mostro uma forma de fazer mais fácil.

     

     

    Obrigado Gilmer.  O Jpg/Doc/Pdf já estão resolvidos agora é partir para o WebHook que eles orientam a fazer pra ler as mensagens. Irei partir pra isso agora

×
×
  • Create New...