-
Posts
270 -
Joined
-
Last visited
-
Days Won
9
Everything posted by HERGON
-
Bom dia Apoio o mini encontro, de preferência em BH. Galera quando veio aqui da última vez, gostou. Herberson Gontijo
-
Boa tarde Alguém tem rotina de geração da GNRE pela dll da FlexDocs que possa disponibilizar? De preferência utilizando a classe do Gilmer. Herberson Gontijo
-
Boa tarde Tente fazer assim: cNome:=GetPvProfString( "LOCAL", "Computador", " ", "arquivo.ini") Herberson Gontijo
-
Olá Implementamos no nosso PDV utilizando SHIPAY. Nessa integração vc consegue disponibilizar para vários bancos e carteiras digitais sem ter que fazer um a um, compensa dar uma olhada. Att. Herberson Gontijo
-
-
Bom dia Eu faço assim, talvez ajude: Function fAcertarDtHr(lMostraOk) Local oWeb, cWeb, cProcura, cExtrai, cHora, cData, lAjusta:=.f. Default lMostraOk:=.t. If !VerificaNet() If lMostraOk fMsgStop("Computador não está conectado na internet.", "Sem Acesso à Internet") Endif Return .f. Endif MsgAguarde("Verificando data/hora pela internet.", "Aguarde...") SysRefresh() CursorWait() oWeb := WebConnect():New() cWeb := oWeb:Open( "http://www.horacerta.com.br/index.php?city=sao_paulo" ) cProcura:= '<input name="mostrador" type="text" size="25" value="' cExtrai := Subs(cWeb, At(cProcura,cWeb)+53,24) cData := Alltrim(Left(alltrim(cExtrai),10)) cHora := Alltrim(StrZero(If(Right(cExtrai,2)=="PM" .and. Val(subs(cExtrai,14,2))<=11, 12, 0)+Val(subs(cExtrai,14,2)),2)+":"+subs(cExtrai,17,5)) If Val(GetPvProfString("Diversos", "Ajuste da Hora", "", CurDrive()+":\"+CurDir()+"\"+cNomeTerm+".ini"))==0 // Não alterar a hora Elseif Val(GetPvProfString("Diversos", "Ajuste da Hora", "", CurDrive()+":\"+CurDir()+"\"+cNomeTerm+".ini"))==1 cHora := TsTring(Secs(cHora)-3600) Else cHora := TsTring(Secs(cHora)+3600) Endif MsgFechaAguarde() If Ctod(cData)<>Date() .and. Val(cData)<>0 .and. Subs(cHora,1,5)<>Subs(Time(),1,5) .and. Val(cHora)<>0 If MsgYesNo("Data e hora da Internet:"+CRLF+; cData+" - "+cHora+CRLF+CRLF+; "Data e hora do computador:"+CRLF+; Dtoc(Date())+" - "+Time()+CRLF+CRLF+; "Deseja ajustar a data e hora?", "Data e hora do computador parecem desatualizadas.") lAjusta:=.t. Endif Elseif Ctod(cData)==Date() .and. Val(cData)<>0 .and. Subs(cHora,1,5)<>Subs(Time(),1,5) .and. Val(cHora)<>0 If MsgYesNo("Hora da Internet:"+CRLF+; cHora+CRLF+CRLF+; "Hora do computador:"+CRLF+; Time()+CRLF+CRLF+; "Deseja ajustar a hora?", "A hora do computador está desatualizada") lAjusta:=.t. Endif Elseif Ctod(cData)<>Date() .and. Val(cData)<>0 .and. Subs(cHora,1,5)==Subs(Time(),1,5) .and. Val(cHora)<>0 If MsgYesNo("Data da Internet:"+CRLF+; cData+CRLF+CRLF+; "Data do computador:"+CRLF+; Dtoc(Date())+CRLF+CRLF+; "Deseja ajustar a data?", "A data do computador está desatualizada") lAjusta:=.t. Endif Else If lMostraOk MsgInfo("A data/hora do seu computador conferem com as informações da internet."+CRLF+CRLF+; "Data: "+cData+" - Hora: "+cHora, "Informações da Internet") Endif Endif If lAjusta MsgRun( "Ajustando data e hora.", "Aguarde...", { || fAjustaDataHora(cData, cHora) } ) MsgInfo("Ajuste realizado com sucesso.", "Ajuste") Endif Return Nil Static Function fAjustaDataHora(cData, cHora) MyRun( "date "+cData ) MyRun( "time "+cHora ) If Ctod(cData) <> date() MyRun("timedate.cpl") //abre tela data e hora windows Endif Return .t. Tem algumas funções próprias, mas comente e teste. Herberson Gontijo
-
Olá Rossine Então, eu utilizo a classe do Gilmer com a dll da FlexDocs apenas para emissão da NF-e (para NFC-e, NÃO utilizo), fiz testes hoje em homologação para NF-e e tudo funcionou normal. Se quiser posso colocar um xml de exemplo com as novas tag's aqui. Abraço Herberson Gontijo
-
Bom dia pessoal Além de atualizar a dll da flexdocs para a versão "NFe_Util 2G v4.0.8b" tem que fazer as mudanças conforme imagem em anexo. Att. Herberson Gontijo
-
Rochinha Gostei muito da dica, testei via comando e funcionou bem, vou implementar no meu sistema. Obrigado. Herberson Gontijo
-
Bom dia Obrigado pela resposta Jmsilva, será de grande ajuda. Infelizmente não tenho a LIB do ACBr para testar. Vou tentar conseguir, mas o fonte que disponibilizou facilitará muito o meu trabalho, o que agradeço mais uma vez. Herberson Gontijo
-
Bom dia Alguém já implementou, em xHarbour, boletos/remessa com ACBr utilizando a DLL? Hoje utilizo o ACBr Monitor, mas gostaria de migrar para DLL, se tiver algum exemplo para me basear. Agradeço qualquer ajuda. Herberson Gontijo
-
Bom dia amigo Tudo bem? Eu uso o ACBr para emissão e registro dos boletos. Ainda utilizando o monitor, mas já tem a dll que já tem posts aqui no fórum, talvez seja a melhor opção. Abraços Herberson Gontijo
-
Sequencia numeração NF-e e NFC-e em Góias
HERGON replied to Wellington Vieira's topic in Programação
Boa tarde Wellington Salvo engano, em todos os estados a numeração da NF-e e NFC-e são independentes, começando em 1 até 999.999, devendo recomeçar a numeração a cada nova série. Att. Herberson Gontijo -
Realmente, acho que tive que mexer na classe, só agora estou lembrando... vou colar aqui. // Consulta NF-e destinadas Method distNSU(cSiglaUFDestinado,cCNPJDestinatario,cUltNSURecebido,cVerAplic,cUltNsu,cMaxNsu,nQtdeDocto,uRetorno,lRetArray) Class TVoNFeUtil2G Local nStat:=0 Local cMsgResultado:="",nIndContinuacao:=1 local cMsgDados:="", cMsgRetWS:="",cRetTxt:="",aRegistro:={},oTxt Default cSiglaUFDestinado:=::SiglaUF,cUltNSURecebido:="0",cUltNsu:="0",lRetArray:=.t. Default cVerAplic:="",cMaxNsu:="",nQtdeDocto:=1 ::Limpa() If ::CertificadoSelecionado() If ::ConsultaStatus() Try /* cRetTxt+=::oNFEUtil:distNSU("AN",::Ambiente, ::cCertificado,; "4.00", @cMsgDados, @cMsgRetWS,@nStat,; @cMsgResultado,cCNPJDestinatario,cSiglaUFDestinado,; cUltNSURecebido,@cVerAplic,@::Recebimento,@cUltNsu,; @cMaxNsu,@nQtdeDocto,; ::proxy,::usuario,::senha,::Licenca) */ cRetTxt+=::oNFEUtil:distNSU("AN",::Ambiente, ::cCertificado,; "4.00", @cMsgDados, cMsgRetWS,@nStat,; cMsgResultado,cCNPJDestinatario,cSiglaUFDestinado,; cUltNSURecebido,cVerAplic,::Recebimento,@cUltNsu,; @cMaxNsu,@nQtdeDocto,; ::proxy,::usuario,::senha,::Licenca) Memowrit("manifest.txt", cRetTxt, .f.) Catch oError fMsgStop("Erro! oNFeUtil:DistNSU."+CRLF+; "Error: " + cValToChar( oError:GenCode) + CRLF + ; "SubC: " + cValToChar( oError:SubCode ) + CRLF + ; "OSCode: " + cValToChar( oError:OsCode ) + CRLF + ; "SubSystem: " + cValToChar( oError:SubSystem ) + CRLF + ; "Operação: " + cValToChar( oError:Operation ) + CRLF + ; "Mensagem: " + oError:Description, CAPTION_MSG) Return(.f.) End Try ::cStsNFe := Alltrim(Str(nStat)) ::cStsNFeMsg := cMsgResultado ::Protocolo := cUltNsu Else //Tratar erro para servidor fora Endif If !Empty(cRetTxt) ::lAutorizada:=.t. If lRetArray While .t. nPos:=At(CHR(13), cRetTxt) If nPos>0 AAdd(uRetorno, {Subs(cRetTxt,1,15), Subs(cRetTxt,17,35), Subs(cRetTxt,53,nPos-53)}) cRetTxt:=Subs(cRetTxt,nPos+1) Else Exit Endif Enddo Else uRetorno:=cRetTxt Endif Endif Endif Return( ::lAutorizada ) Att. Herberson Gontijo
-
-
Empresoft Você está fazendo o teste com o certificado do cliente e está configurado para PRODUCAO? Porque se tiver para HOMOLOGAÇÃO, não mostrará as NF-e's que foram emitidas contra o CNPJ dele em produção não. Tente passar o cUltNsuRec :="0" para processar desde o começo. Att. Herberson Gontijo
-
Faça assim: oNfeUtil:distNSU(cUfManif,cCnpjManif,cUltNsuRec,"",@cUltNsu,@cMaxNsu,1,@aRegistros) If oNfeUtil:cStsNFe=="7001" .or. oNfeUtil:cStsNFe=="7003" fMsgStop("Licença da dll da FlexDocs não confere, contacte o suporte.", "Atenção") cChaveDll:=" " Return .f. Endif If Len(aRegistros)==0 MsgAlert("Não existe nenhum documento pendente.","Consulta") Else xbrowse(aRegistros) Endif Att. Herberson Gontijo
-
Olá Já tem um bom tempo que fiz, mas pelo que me lembro há problemas ao se passar as variáveis por referencia... Estou utilizando assim e dá certo: oNfeUtil:distNSU(cUfManif,cCnpjManif,cUltNsuRec,"",@cUltNsu,@cMaxNsu,1,@aRegistros) Passe por referência apenas as variáveis estritamente necessárias e retire "@" das demais, conforme acima. Att. Herberson Gontijo
-
Bom dia Vitor, fiquei na sexta-feira o dia inteiro tentando resolver esse problema, inclusive abri ticket na Flexdocs... no final do dia com a resposta da Flexdocs e a interpretaão/ajuda do Gilmer conseguimos resolver (ele, rsrsrs). Teve que mudar a classe... se o trecho... ElseIf CSOSN=="500" AAdd( axArray, {"ICMSSN500" , {}, 1 } ); nPos := len(axArray) AAdd( axArray[nPos][2], {"orig" , TVoNFeItem():New("N", 1, 1, 1 ,,,oItem:orig ) } ) AAdd( axArray[nPos][2], {"CSOSN" , TVoNFeItem():New("N", 1, 1, 3 ,,,oItem:CSOSN ) } ) AAdd( axArray[nPos][2], {"vBCSTRet" , TVoNFeItem():New("N", 0, 1, 15,2 ,,oItem:vBCSTRet ) } ) AAdd( axArray[nPos][2], {"pST" , TVoNFeItem():New("N", 0, 1, 15,2 ,,oItem:pST ) } ) AAdd( axArray[nPos][2], {"vICMSSTRet" , TVoNFeItem():New("N", 0, 1, 15,2,,oItem:vICMSSTRet ) } ) AAdd( axArray[nPos][2], {"vBCFCPSTRet" , TVoNFeItem():New("N", 0, 1, 15,2 ,,oItem:vBCFCPSTRET ) } ) AAdd( axArray[nPos][2], {"pFCPSTRet" , TVoNFeItem():New("N", 0, 1, 6 ,2 ,,oItem:pFCPSTRET ) } ) AAdd( axArray[nPos][2], {"vFCPSTRet" , TVoNFeItem():New("N", 0, 1, 15,2 ,,oItem:vFCPSTRET ) } ) Att. Herberson Gontijo
-
Bom dia Mas como você testa se foi clicado no cabeçalho marcando ou desmarcando a opção ? Herberson Gontijo
-
Bom dia Tentei rodar o exemplo mas deu o erro abaixo: Error: Unresolved external '_hb_partdt' referenced from H:\FWH1608\LIB\FIVEHX.LIB|VALTOSTR Esse exemplo é para xHarbour ou Harbour? Se for para Harbour como passo para funcionar com xHarbour? Herberson Gontijo
-
Bom dia Utilize a Manifestação do Destinatário que vc nunca mais precisará de baixar xml pelo navegador. Abraço Herberson Gontijo
-
Bom dia Kapiaba Tive o mesmo problema, olhei nos fontes e identifiquei que tem que criar uma subpasta com o nome DADOS que ai o sistema cria as bases de dados necessárias. Abraço Herberson Gontijo
-
Boa tarde Fiz o depósito agora na hora do almoço. Abraço Herberson Gontijo - Ponteware Informática.
-
Bom dia Sim está marcado, mas mesmo assim não processa. Herberson Gontijo