Ir para conteúdo
  • Cadastre-se

dev botao

Inclusão de Condutor - Erro sub EventoIncCondutor


Ver Solução Respondido por José M. S. Junior,
  • Este tópico foi criado há 994 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Postado

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

Tiago Borges
Head de Produtos

separado.png

logo.gif


Cel: (12) 98190.3952
Site:
www.estrategiasoftware.com.br

  • Membros Pro
Postado

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)

Tiago Borges
Head de Produtos

separado.png

logo.gif


Cel: (12) 98190.3952
Site:
www.estrategiasoftware.com.br

  • Consultores
Postado

Boa tarde Tiago,

Analisando o código que faz a leitura do arquivo INI temos o seguinte:

        infEvento.CNPJCPF    := INIRec.ReadString(sSecao, 'CNPJCPF', '');

Acredito que o manual esteja errado, pois o correto é CNPJCPF.

Você deve gerar o arquivo INI com o campo CNPJCPF.

E não gerar com o CNPJ e depois usar o Replace para trocar por CNPJCPF.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Membros Pro
Postado

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....

  • Curtir 1

Tiago Borges
Head de Produtos

separado.png

logo.gif


Cel: (12) 98190.3952
Site:
www.estrategiasoftware.com.br

  • Membros Pro
Postado

Acho que o problema é esta Classe aqui...

image.png.d25fc0597a318709fcd8ac19d5608df0.png

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+

 

  • Curtir 1

Tiago Borges
Head de Produtos

separado.png

logo.gif


Cel: (12) 98190.3952
Site:
www.estrategiasoftware.com.br

  • Membros Pro
Postado

Acho que o problema é esta Classe aqui...

image.png.d25fc0597a318709fcd8ac19d5608df0.png

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...

 

Tiago Borges
Head de Produtos

separado.png

logo.gif


Cel: (12) 98190.3952
Site:
www.estrategiasoftware.com.br

  • Consultores
Postado

Tiago,

Não foi eu que escrevei a Lib, apenas tentei ajudar e encontrar o problema.

Já passei a bola para a Equipe ACBr, acredito que semana que vem teremos uma nova versão da DLL com esse problema corrigido.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Moderadores
Postado
Em 20/05/2022 at 15:50, tborges disse:

Acho que o problema é esta Classe aqui...

Bom dia, como essa é classe base dos eventos pode afetar para outros eventos DFe que de fato utilizam a nomenclatura CNPJ, mas estamos solucionando esse problema e os demais referente a conversão para gerar o arquivo .ini de entrada e saída utilizando essas classes. Em breve postamos aqui.

Consultor SAC ACBr

José Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • 2 semanas depois ...
  • Moderadores
  • Solution
Postado

Bom dia, 

Favor atualizar os fontes dos exemplos C# do nosso SVN para testes da solicitação acima.

http://svn.code.sf.net/p/acbr/code/trunk2/Projetos/ACBrLib/Demos/C%23/

Foi ajustado também o retorno da propriedade "tpAmb" que estava retornando o valor default em algumas situações.

Consultor SAC ACBr

José Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

×
×
  • 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...
The popup will be closed in 10 segundos...