Ir para conteúdo
  • Cadastre-se

João Paulo Pires

Membros
  • Total de ítens

    248
  • Registro em

  • Última visita

Tudo que João Paulo Pires postou

  1. sim, ja vi, mas não encontrei nada a respeito de como criar PDF.
  2. Boa tarde, não conseguir criar o pdf das NFCe geradas pela DLL. quais os parametros devo configurar? meu ini ACBrLib. [DANFE] PathPDF=D:\Empresa PiresSoftware\Softwares\SAE 4.2\pdf preciso alterar mais algo? ele gera o PDF assim que é autorizado a NFCe?
  3. Eu resolvi o problema fazendo assim: 1 Pego o retorno completo que vem na string SetResposta(ByRef resposta As String) 2 - Salvo em um arquivo log temporário >>>>>retorno-20191108.log 3 - uso a função q o macoratti tem no site dele em vb6 para ler o txt temporário que criei. http://www.macoratti.net/vb_ini.htm Essa função lé as Sessões dos ini. então consigo pegar o que eu quero e gravar no banco, como a chave da nfe, xMotivo, Protocolo, a hora. etc.
  4. boa ideia Rafael, eu tinha pensando exatamente nisso, em salvar a String do Retorno em um arquivo ini temporário, e depois fazer a leitura do arquivo temporário da mesma forma q eu faço para ler o log.
  5. seria uma boa ter um manual de como capturar este retorno, pois eu nao imagino como será feito e tratado. vai vim o retorno com as string separadas ou tudo junto e teremos uqe tratar a string para extrair somente o que precisamos. O retorno usado certo séria o que vem neste código: Private Sub SetResposta(ByRef resposta As String) rtbRespostas.Text = "" If rtbRespostas.Text <> vbNullString Then rtbRespostas.Text = rtbRespostas.Text + vbCrLf + resposta Else rtbRespostas.Text = resposta End If MsgBox resposta End Sub Então eu terei que tratar a string e extrair as informações que me interessa e meu sistema tomar a decisão conforme.
  6. entendi, vou tentar usar este exeplo. acho q eu tinha perguntado isso aqui no Forum, mas acabei usando o Log para capturar o retorno.
  7. Boa tarde, a demora do componente, não esta grande, esta perfeitamente bem, e vou ja aqui parabenizar a turma, o envio é muito rápido. O que acontece é que a tela do meu sistema fica travado, ou seja, o usuário não sabe o que esta acontecendo. se a internet estiver lenta por exemplo e demorar a responder a requisição da dll, o usuário nao saberá, por isso queria colocar uma tela contando os segundos para a resposta retornar
  8. Boa noite, tenho essa função ReadINI que captura a Sessão, Entrada do arquivos de log gerado pela DLL status = ReadINI(sessao, "CStat", "C:\Users\servidor\Desktop\Demos\VB6\NFe\Demo\Logs\ACBrLibNFE-20191107.log") Minha observação é que quando eu faço uma consulta pela chave da NFe e a mesma não consta na base de dados do sefaz, o arquivo de log me retorna conforme a imagem, a Sessão [Consulta] nao fica no lugar correto, então a função ReadINI não consegui achar a sessão, imagino que a sessão deve ficar Antes do "CStat=217" Editei o arquivo log colocando a Sessão [Consulta] acima do CStat=217 ai sim a minha função conseguiu ler os parametros retornados. Teria como ajustar isso ai na dll?
  9. Boa tarde, eu queria colocar em meu sistema uma tela com a seguinte mensagem, "Aguardando processamento" na hora que envio o XML, porem quando faço isso, a tela fica travada e so desbloqueia na hora que a requisição da dll termina o processo. tipo se demorar, o usuário acha q o sistema esta travado.
  10. Boa tarde, minha duvida é a seguinte, uso tbm o ACBRMonitorPlus, que tem uma função(Gerar Chave) que ajuda bastante para controlar as NFe caso o SEFAZ esteja lento. Assim eu consigo Gerar a chave da NFe antes de enviar o xml para o sefaz, caso o Sefaz esteja lento ou por algum motivo a NFe não é enviada, eu consigo fazer a consulta da NFe pela chave, e dependendo da situação do retorno da consulta, eu envio novamente o XML ou então se tiver Autorizada eu mando imprimir. Agora na DLL ACBrLib não achei essa função para Gerar a Chave da NFe. isso é importante para ter o controle da situação. Depois que fiz isso no meu sistema, acabou a questão de Duplicidade na NFe ou Rejeição. a Rotina do meu envio é a seguinte. 1 - Crio a Chave da NFe usando a Função do ACBRMonitorPlus 2 - Faço a consulta da Nfe com a chave. 3 - Se a a Consultar me retorna que a NFe não consta na base de dados do sefaz, envio o XML SE consta na Base de dados capturo o Retorno q pode ser Autorizada, Cancelada, etc... Mas para isso, teria que ter a Chave da NFe antes de Enviar o XML. Tem essa função na DLL?
  11. blz, vou fazer isso
  12. nfe.LimparLista nfe.CarregarINI (arquivo_ini) SetResposta nfe.Enviar(1)
  13. obrigado, no futuro quem sabe... qual a configuração que envia direto pra impressora, sem ter a visualização do danfe nfc?
  14. consegui resolver agora... usei essa função... Private Const CP_UTF8 As Long = 65001 ' UTF-8 Code Page 'Sys call to convert multiple byte chars to a char Private Declare Function MultiByteToWideChar Lib "KERNEL32" ( _ ByVal CodePage As Long, _ ByVal dwFlags As Long, _ ByVal lpMultiByteStr As Long, _ ByVal cchMultiByte As Long, _ ByVal lpWideCharStr As Long, _ ByVal cchWideChar As Long) As Long Private Function DecodeURI(ByVal EncodedURI As String) As String Dim bANSI() As Byte Dim bUTF8() As Byte Dim lIndex As Long Dim lUTFIndex As Long If Len(EncodedURI) = 0 Then Exit Function End If EncodedURI = Replace$(EncodedURI, "+", " ") ' In case encoding isn't used. bANSI = StrConv(EncodedURI, vbFromUnicode) ' Convert from unicode text to ANSI values ReDim bUTF8(UBound(bANSI)) ' Declare dynamic array, get length For lIndex = 0 To UBound(bANSI) ' from 0 to length of ANSI If bANSI(lIndex) = &H25 Then ' If we have ASCII 37, %, then bUTF8(lUTFIndex) = Val("&H" & Mid$(EncodedURI, lIndex + 2, 2)) ' convert hex to ANSI lIndex = lIndex + 2 ' this character was encoded into two bytes Else bUTF8(lUTFIndex) = bANSI(lIndex) ' otherwise don't need to do anything special End If lUTFIndex = lUTFIndex + 1 ' advance utf index Next DecodeURI = FromUTF8(bUTF8, lUTFIndex) ' convert to string End Function Private Function FromUTF8(ByRef UTF8() As Byte, ByVal Length As Long) As String Dim lDataLength As Long lDataLength = MultiByteToWideChar(CP_UTF8, 0, VarPtr(UTF8(0)), Length, 0, 0) ' Get the length of the data. FromUTF8 = String$(lDataLength, 0) ' Create array big enough MultiByteToWideChar CP_UTF8, 0, VarPtr(UTF8(0)), _ Length, StrPtr(FromUTF8), lDataLength ' End Function
  15. @Daniel Simoes boa tarde, consegui fazer a leitula dos logs de retorno usando esse exemplo do nosso amigo http://www.macoratti.net/vb_ini.htm porém o retorno esta vindo com os caracteres todos bagunçados, parece nao estar como UTF-8. Mas quando eu vejo direto no arquivo ACBrLib-20191105.log, esta na formatação correta. Como resolvo isso?
  16. ok Daniel, vou verificar isso. obrigdo.
  17. Boa madrugada, estou precisando saber como faço para capturar os retornos da dll, a dll, retorna o numero da Rejeição em alguma variavel que eu possa usar, e tomar alguma decisão?
  18. João Paulo Pires

    Erro UF vazia

    nao estou conseguindo Criar Enviar o xml, esta dando esse erro, mas nao sei onde é. NFC_gerada.ini
  19. Rafael, pode me ajudar, nao estou conseguindo Criar Enviar o xml, esta dando esse erro, mas nao sei onde é. NFC_gerada.ini
  20. @Rafael Dias, na hora que tentei compilar deu um erro, falado que "Variavel não foi definida" então eu fiz aqui essas modificações em todas as SUB da classe ACBrNFC.cls estava assim: Public Sub EnviarEmailEvento(ByVal ePara As String, ByVal eChaveNFe As String, ByVal aEnviaPDF As Boolean, _ ByVal eAssunto As String, ByVal eMensagem As String, _ Optional ByVal eCc As String = "", Optional ByVal eAnexos As String = "") Dim retorno As Long bufferLen = BUFFER_LENGTH Buffer = String$(bufferLen, " ") retorno = NFE_EnviarEmailEvento(ePara, eChaveNFe, aEnviaPDF, eAssunto, eCc, eAnexos, eMensagem) CheckResult retorno End Sub 'coloquei assim Public Sub EnviarEmailEvento(ByVal ePara As String, ByVal eChaveNFe As String, ByVal aEnviaPDF As Boolean, _ ByVal eAssunto As String, ByVal eMensagem As String, _ Optional ByVal eCc As String = "", Optional ByVal eAnexos As String = "") Dim retorno As Long Dim Buffer As String ' <<<<<<====== Dim bufferLen As Long ' <<<<<<====== bufferLen = BUFFER_LENGTH Buffer = String$(bufferLen, " ") retorno = NFE_EnviarEmailEvento(ePara, eChaveNFe, aEnviaPDF, eAssunto, eCc, eAnexos, eMensagem) CheckResult retorno End Sub
  21. ok, vou efetuar o teste.
  22. por enquanto, eu posso apagar a minha função, q é bem simples, para continuar a testar o componente ACBrLib. aguardo possiveis atualizações. obrigado.
  23. pensei em fazer isso, porém essa Space é interna do proprio vb. nao consigo trocar o nome dela. essa Space é muito usada no vb6.
  24. Boa tarde, estou tendo um conflito no VB6 com o module ACBRComun da DLL. tenho essa função no VB6 que faz conversão de String maiscula para minusculas, substituindo Da, De, Do, Em para da, de, do, em, uma função para que os nomes dos Clientes, fiquem padronizados com a primeira letra de cada nome Maiusculas. Ex: "JOÃO PAULO DA SILVA" converte para "João Paulo da Silva". Só que agora esta dando conflito com o Modulo ACBRComun que vem no Demo. Pois neste modulo tem uma variavel chamada Space também. 'Module ACBRComun Public Enum SerialParity None = 78 Odd = 79 Even = 69 Mark = 77 Space = 83 End Enum 'VB6 Public Function letras_maiscula(texto As String) As String Dim troca() As String Dim Nome As String Nome = StrConv(texto, vbProperCase) troca = Split("Da;De;Do;Em", ";") For Each E In troca Nome = Replace(Nome, Space(1) & E & Space(1), Space(1) & LCase(E) & Space(1)) Next E letras_maiscula = Nome End Function
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...