Ir para conteúdo
  • Cadastre-se

tborges

Membros Pro
  • Total de ítens

    31
  • Registro em

  • Última visita

  • Days Won

    1

Tudo que tborges postou

  1. Acho que o problema é esta Classe aqui... Ela disponibiliza CNPJ e não CNPJCPF, veja ai se isso confere... Se for isso e vocês arrumarem ai os codigos de inicialização de classes deve mudar.... Dim Encerramento As New EventoEncerramento With {.chMDFe = ChaveAcesso, .cMun = cMun, .CNPJ = CNPJ, .cOrgao = 35, .cUF = nUF, .dhEvento = DateTime.Now, .dtEnc = DtEncerramento, .nProt = Protocolo, .nSeqEvento = Eventos} MDFE.CarregarEvento(Encerramento) Dim Ini As String = Encerramento.ToString Ini = Ini.Replace("CNPJ", "CNPJCPF") Onde esta .CNPJ disponibilizado pela Classe deve aprensetar CNPJCPF quando arrumar a Classe EventoBase... Ai o truque do INI e INI.replace sai do código... Check isso...at+ Italo como disse meu prazo de termino do MDFe era hoje e hoje foi finalizado... Gerando MDFe com todas as Classes envolvidas e todos os Eventos... Isso reforça que o uso da Lib é ótimo... Foram gasto 5 dias para escrever todo o MDFe, apesar dos 3 problemas encontrados... Então vale a pena corrigi-los, pois vai aumentar em muito a produtividade e confiança dos programadores de Aplicações Comerciais e Industruiais. Um abraço e um bom final se semana, vou para uma cervejinha merecida hoje...
  2. Acho que o problema é esta Classe aqui... Ela disponibiliza CNPJ e não CNPJCPF, veja ai se isso confere... Se for isso e vocês arrumarem ai os codigos de inicialização de classes deve mudar.... Dim Encerramento As New EventoEncerramento With {.chMDFe = ChaveAcesso, .cMun = cMun, .CNPJ = CNPJ, .cOrgao = 35, .cUF = nUF, .dhEvento = DateTime.Now, .dtEnc = DtEncerramento, .nProt = Protocolo, .nSeqEvento = Eventos} MDFE.CarregarEvento(Encerramento) Dim Ini As String = Encerramento.ToString Ini = Ini.Replace("CNPJ", "CNPJCPF") Onde esta .CNPJ disponibilizado pela Classe deve aprensetar CNPJCPF quando arrumar a Classe EventoBase... Ai o truque do INI e INI.replace sai do código... Check isso...at+
  3. O problema Italo é que não gero arquivo Ini, se olhar o código eu uso as Classes...então o bug esta no Metodo que converte a Classe em Ini string... As Classes são ferramentas mais modernas...me permite serializar,que não usei ainda porque estou entrando agora no mundo ACBr Lib... Usando as Classes Boleto fiz todo o processo em 4 dias... O MDFe iniciei na 2ª e agora só falta Encerrar que pretendo terminar ainda hoje a tarde.... E considero isso um aquecimento para entrar na NFe... Mas valeu sua atenção....
  4. Como EventoIncCondutor apresenta a propriedade .CNPJ e o String INI usa CNPJCPF a solução mais rápida encontra foi esta.... E funciona 100%, até que a equipe de desenvolvimento da ACBr resolva este problema.. Solução adotada(morde e assopra) MDFE.LimparListaEventos() Dim Condutor As New EventoIncCondutor With {.nSeqEvento = Eventos, .chMDFe = Chave, .xNome = Nome, .CNPJ = CNPJ, .CPF = CPF, .dhEvento = DateTime.Now, .cOrgao = 35} MDFE.CarregarEvento(Condutor) Dim Ini As String = Condutor.ToString Ini = Ini.Replace("CNPJ", "CNPJCPF") MDFE.LimparListaEventos() MDFE.CarregarEventoINI(Ini)
  5. Bom dia, Conforme relatado no Discord, estamos utilizando a Sub EventoIncCondutor para gerar o evento de inclusão de condutores, no entanto ela esta gerando .INI de maneira incorreta e a SEFAZ rejeita o evento. A sub possui apenas a propriedade CNPJ, mas o correto é CNPJCPF. Dessa forma, não é possivel efetuar a inclusão do Condutor na SEFAZ pois falha a validação de schema. {[EVENTO] idLote=1 [EVENTO001] xNome=Condutor 11 CPF=11111111111 chMDFe=35220505379815000147580030000001821000000012 cOrgao=35 CNPJ=xxxxxxxxxxxxxxxx (Deveria ser CNPJCPF) dhEvento=20/05/2022 10:51:18 tpEvento=110114 nSeqEvento=1 versaoEvento=3.00 } O código que estamos utilizando é o seguinte: Dim MDFe As New ACBrMDFe Dim Lote As Integer = 1 Dim Eventos As Integer = 1 Dim boRet As Boolean = False MDFe.LimparListaEventos() Dim Condutor As New EventoIncCondutor With {.nSeqEvento = Eventos, .chMDFe = Chave, .xNome = Nome, .CPF = CPF, .dhEvento = DateTime.Now, .cOrgao = 35, .CNPJ = xxxxxxxxxxxxx} MDFe.CarregarEvento(Condutor) MDFe.EnviarEvento(Lote) Fizemos um truque de pegar o valor de Condutor após chamar a sub, substituir CNPJ por CNPJCPF e passar corrigido para MDFe.CarregarEvento e passou na SEFAZ. É necessário corrigir EventoIncCondutor para gerar CNPJCPF
  6. @Haroldo Lafetá segue um exemplo de como estamos setando as configurações em VB.Net, talevz te de uma luz para fazer em C# Dim MDFe As New ACBrMDFe MDFe.LimparLista() With MDFe.Config .Principal.TipoResposta = ACBrLib.Core.TipoResposta.fmtINI .Principal.LogNivel = ACBrLib.Core.NivelLog.logCompleto .Principal.LogPath = "C:\temp\ACBR\log.ini" .FormaEmissao = ACBrLib.Core.DFe.TipoEmissao.teNormal If tpAmb = 1 Then (Tome muito cuidado aqui, o componente esta vacilando no ENum de tpAmb) .Ambiente = ACBrLib.Core.DFe.TipoAmbiente.taProducao Else .Ambiente = ACBrLib.Core.DFe.TipoAmbiente.taHomologacao End If .VersaoDF = VersaoMDFe.ve300 .ExibirErroSchema =True .RetirarAcentos = True .RetirarEspacos = True .IdentarXML = True .Visualizar = False 'Define se as mensagens de retorno dos webservices serão apresentadas na tela .SalvarWS = True 'Define se os XML de envio e de retorno com os envelopes serão salvos em disco .SalvarArq = True 'Define se os XML dos eventos serão salvos em disco .SSLType =5 .Timeout = 5000 .IniServicos = PastaConfig & "\ACBrMDFeServicos.ini" 'Caminho e nome do arquivo INI que contem as URLs de homologação e produção .PathSalvar = PastaXML & "log\" .PathEvento = PastaXML & "log\" .PathSchemas = PastaConfig & "Schemas\" .PathMDFe = Pasta .SepararPorCNPJ = False .SepararPorModelo = False .SepararPorAno = False .SepararPorMes = False .SepararPorDia = False .DAMDFe.PathLogo = PastaLogo .DAMDFe.MostraSetup = True .DAMDFe.MostraPreview = True .DAMDFe.MostraStatus = True .DAMDFe.ExpandeLogoMarca = True .DAMDFe.TipoDAMDFe = 1 .DFe.SSLCryptLib = ACBrLib.Core.DFe.SSLCryptLib.cryWinCrypt .DFe.SSLHttpLib = ACBrLib.Core.DFe.SSLHttpLib.httpWinHttp .DFe.SSLXmlSignLib = ACBrLib.Core.DFe.SSLXmlSignLib.xsLibXml2 'Dados certificado .DFe.VerificarValidade = False .DFe.NumeroSerie = "111111111" .DFe.Senha = "XXXXXXXXXXX" Depois como estamos chegando o status do serviço Public Shared Function StatusServico(ACMDFe As ACBrLib.MDFe.ACBrMDFe) As Boolean Dim bo As Boolean = False Dim Status As ACBrLib.Core.DFe.StatusServicoResposta = ACMDFe.StatusServico() If Not Status.CStat = 107 Then Dim Obs As String = "" If Status.XObs IsNot Nothing Then Obs = Status.XObs MessageBox.Show(Status.XMotivo & Chr(13) & Obs, "Status SEFAZ", MessageBoxButtons.OK, MessageBoxIcon.Information) Else bo = True End If Return bo 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.