Skip to content

Commit 13bb24d

Browse files
author
Maurício Bernardo
committed
Ajustes para atender as validações propostas na nota técnica
1 parent e00cf92 commit 13bb24d

File tree

4 files changed

+32
-15
lines changed

4 files changed

+32
-15
lines changed

NFe.AppTeste/MainWindow.xaml.cs

+6-7
Original file line numberDiff line numberDiff line change
@@ -2282,26 +2282,25 @@ private void BtnAtorInteressado_Click(object sender, RoutedEventArgs e)
22822282
if (string.IsNullOrEmpty(chave)) throw new Exception("A Chave deve ser informada!");
22832283
if (chave.Length != 44) throw new Exception("Chave deve conter 44 caracteres!");
22842284

2285-
var cnpjTransportador = Funcoes.InpuBox(this, titulo, "CNPJ do Transportador:", "12345678000195");
2286-
if (string.IsNullOrEmpty(cnpjTransportador)) throw new Exception("O CNPJ do Transportador deve ser informado!");
2287-
if (cnpjTransportador.Length != 14) throw new Exception("O CNPJ deve conter 14 caracteres!");
2285+
var cnpjTransportador = Funcoes.InpuBox(this, titulo, "CPF/CNPJ do Ator Interessado:", "10526704000156");
2286+
if (string.IsNullOrEmpty(cnpjTransportador)) throw new Exception("O CPF/CNPJ do Ator Interessado deve ser informado!");
2287+
if (cnpjTransportador.Length != 14 && cnpjTransportador.Length != 11) throw new Exception("O CPF/CNPJ deve conter 11 ou 14 caracteres!");
22882288

2289-
// Inicializando o serviço de NF-e com as configurações atuais
22902289
var servicoNFe = new ServicosNFe(_configuracoes.CfgServico);
22912290
var cpfcnpj = string.IsNullOrEmpty(_configuracoes.Emitente.CNPJ)
22922291
? _configuracoes.Emitente.CPF
22932292
: _configuracoes.Emitente.CNPJ;
22942293

2295-
// Chamando o método para registrar o evento "Ator Interessado"
22962294
var retornoAtorInteressado = servicoNFe.RecepcaoEventoAtorInteressado(
22972295
Convert.ToInt32(idlote),
22982296
Convert.ToInt16(sequenciaEvento),
22992297
cpfcnpj,
23002298
chave,
23012299
cnpjTransportador,
2302-
DFe.Classes.Entidades.Estado.SP);
2300+
Classes.Servicos.Evento.TipoAutor.taEmpresaEmitente,
2301+
Classes.Servicos.Evento.TipoAutorizacao.Permite,
2302+
DFe.Classes.Entidades.Estado.SE);
23032303

2304-
// Tratamento do retorno
23052304
TrataRetorno(retornoAtorInteressado);
23062305

23072306
#endregion

NFe.Classes/Servicos/Evento/detEvento.cs

+5
Original file line numberDiff line numberDiff line change
@@ -332,6 +332,11 @@ public bool ShouldSerializedetPag()
332332
/// </summary>
333333
public TipoAutorizacao? tpAutorizacao { get; set; }
334334

335+
public bool ShouldSerializetpAutorizacao()
336+
{
337+
return tpAutorizacao != null;
338+
}
339+
335340
#endregion
336341

337342
#region Carta de Correção

NFe.Classes/Servicos/Evento/detEventoTipos.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@ public enum MotivoInsucesso
129129
[XmlEnum("4")]
130130
Outros = 4
131131
}
132+
132133
/// <summary>
133134
/// 0 – Não permite;
134135
/// 1 – Permite o transportador autorizado pelo
@@ -138,7 +139,6 @@ public enum MotivoInsucesso
138139
/// </summary>
139140
public enum TipoAutorizacao
140141
{
141-
142142
/// <summary>
143143
/// 0 – Não permite
144144
/// </summary>

NFe.Servicos/ServicosNFe.cs

+20-7
Original file line numberDiff line numberDiff line change
@@ -601,15 +601,19 @@ private RetornoRecepcaoEvento RecepcaoEventoCancelamento(NFeTipoEvento tipoEvent
601601
/// <param name="sequenciaEvento">Sequência do evento</param>
602602
/// <param name="cpfCnpjAtorEvento">CNPJ ou CPF do autor do evento</param>
603603
/// <param name="chaveNFe">Chave da NFe</param>
604-
/// <param name="cnpfCnpjAtorInteressado">CNPJ ou CPF do ator interessado</param>
604+
/// <param name="cnpfCnpjAtorInteressado">CNPJ ou CPF do ator interessado emitente de CT-e</param>
605+
/// <param name="tipoAutor">Tipo do autor gerador do evento</param>
606+
/// <param name="tipoAutorizacao">Tipo de autorização do ator interessado</param>
605607
/// <param name="ufAutor">Unidade federativa do autor</param>
606608
/// <param name="versaoAplicativo">Versão do aplicativo do autor do evento</param>
607609
/// <param name="dhEvento">Data e hora do evento</param>
608610
/// <returns>Resultado da recepção do evento</returns>
609-
public RetornoRecepcaoEvento RecepcaoEventoAtorInteressado(int idlote,
610-
int sequenciaEvento, string cpfCnpjAtorEvento, string chaveNFe, string cnpfCnpjAtorInteressado,
611+
public RetornoRecepcaoEvento RecepcaoEventoAtorInteressado(int idlote, int sequenciaEvento, string cpfCnpjAtorEvento,
612+
string chaveNFe, string cnpfCnpjAtorInteressado, TipoAutor? tipoAutor = null, TipoAutorizacao? tipoAutorizacao = null,
611613
Estado? ufAutor = null, string versaoAplicativo = null, DateTimeOffset? dhEvento = null)
612614
{
615+
var tipoAutorEmitenteOuDestinataria = tipoAutor == TipoAutor.taEmpresaEmitente || tipoAutor == TipoAutor.taEmpresaDestinataria;
616+
613617
var versaoServico = ServicoNFe.RecepcaoEventoCancelmento.VersaoServicoParaString(
614618
_cFgServico.VersaoRecepcaoEventoAtorInteressado);
615619

@@ -618,11 +622,20 @@ public RetornoRecepcaoEvento RecepcaoEventoAtorInteressado(int idlote,
618622
versao = versaoServico,
619623
descEvento = NFeTipoEvento.TeNfeAtorInteressadoNFe.Descricao(),
620624
cOrgaoAutor = ufAutor ?? _cFgServico.cUF,
621-
tpAutor = TipoAutor.taEmpresaDestinataria,
625+
tpAutor = tipoAutor,
622626
verAplic = versaoAplicativo ?? "1.0",
623-
autXML = new List<autXML> { new autXML { CNPJ = cnpfCnpjAtorInteressado } },
624-
tpAutorizacao = TipoAutorizacao.Permite,
625-
xCondUso = "O emitente ou destinatário da NF-e, declara que permite o transportador declarado no campo CNPJ/CPF deste evento a autorizar os transportadores subcontratados ou redespachados a terem acesso ao download da NF-e"
627+
autXML = new List<autXML>
628+
{
629+
new autXML
630+
{
631+
CPF = cnpfCnpjAtorInteressado.Length == 11 ? cnpfCnpjAtorInteressado : null,
632+
CNPJ = cnpfCnpjAtorInteressado.Length == 11 ? null : cnpfCnpjAtorInteressado
633+
}
634+
},
635+
tpAutorizacao = tipoAutorEmitenteOuDestinataria ? tipoAutorizacao : null,
636+
xCondUso = tipoAutorEmitenteOuDestinataria
637+
? "O emitente ou destinatário da NF-e, declara que permite o transportador declarado no campo CNPJ/CPF deste evento a autorizar os transportadores subcontratados ou redespachados a terem acesso ao download da NF-e"
638+
: null
626639
};
627640

628641
var infEvento = new infEventoEnv

0 commit comments

Comments
 (0)