-
Posts
1,425 -
Joined
-
Last visited
-
Days Won
27
Posts posted by Marca
-
-
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
-
Da o erro ela sendo .T. na lógica se quer poderia ter saido do while
Ai esta o problema.
-
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)
-
Puts. O fonte onde acontece isso é gigante João.
Mais uma vez q. saiu do valid da dialog concorda q. não poderia mais executar a rotina por já ter saido dela ? -
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 -
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 novamenteObservem 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 aconteceAlgú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 VERDADEIROACTIVATE 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.
ENDIFENDIF
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" )
ENDIFIF !oPub:lControleErr
GravaLogDia( "Nome atual do temporário de venda " + cArqVendas , "SVE" )
cArqVendas := "FIMVD"GravaLogDia( "Novo nome do temporário de venda " + cArqVendas , "SVE")
ENDIFWaitSeconds( 0.5 )
*HB_GCAll(.T.)
GravaLogDia( "Trocou o nome e saiu " + cArqTemp , "SVE")RETURN .T.
-
Em 20/12/2023 at 14:37, Theotokos disse:
Alguém sabe se é possível criar um botão no FastReport? Na tela do Preview , onde tem os botões de exporta o relatório por exemplo...
Tbem preciso disso e até então não consegui
-
Eduardo. Eu entendo que este seja o procedimento correto. O Contador não tem do que reclamar. São dois processos completamente diferente
Um de emissão e outro do cancelamento.
-
A ideia e bem interessante
Alguém teria um exemplo que funcione ?
Tentei com vários outros códigos aqui e nenhum deles funcionouEste do exemplo do João foi o único q. consegui fazer rodar
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 -
Marcio.
Vc já fez exatamente esta mesma pergunta a um tempo atrás. Este controle não existe no Pelles a única mandeira de fazer isso é com bitmaps conforme o Kapiaba falou
-
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
-
Em 05/03/2023 at 07:29, Ladinilson disse:
Como importamos fontes?
Importar fontes no Fast ?
-
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.
-
2 minutos atrás, Ladinilson disse:
FastReport mesmo com algumas limitações.
??? Que tipo de limitação ?
-
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 ? -
Giba. Transforme isso em array. o xBrowse com array vc ordena pela coluna que vc quiser abrindo uma única vez
-
Marcio.
Basta vc pegar as duas imagens ( uma ON e outra off ) e tratar no browse
-
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 } -
5 horas atrás, sunset disse:
Bom dia.
Uso aquele DLL de consulta ao site da receita federal junto com a classe que consulta e captura de dentro do html gerado os dados da empresa, mas há uns dias parou de funcionar a captura, alguém tem alguma dica do que mudou ?
Após a tela do não sou um robô ela não finaliza.
Grato por qualquer dica.
Mostre como esta fazendo
-
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.....
-
cFileNoPath( cFile )
-
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
-
Boa tarde João
Esta parte ai eu já consegui fazer funcionar. Estou agora trabalhando no envio de Pdf / doc. etc...
Obrigado
-
Boa tarde pessoal
Alguém teria um exemplo em xHarbour de envio de imagens / documentos / áudios utilizando a Api da MegaApi para WatsApp ?
Boleto bancário Caixa Econônica
in Programação
Posted
Boa tarde a todos
Alguém ai usando HarbourBoleto para emissão de boleto bancário da Caixa Econônica homologado
que possa me dar uma luz ?