sexta-feira, 27 de dezembro de 2019

DICAS 2590 WINDEV WEBDEV MOBILE Uninfe 43 Cancelamento Nota






Doação Para Amarildo matos - https://streamelements.com/amarildo_matos/tip











Doaçao Amarildo Matos - Link da doação: https://streamelements.com/amarildo_matos/tip
Bom Dia

DICAS 2590 WINDEV WEBDEV MOBILE Uninfe 43 Cancelamento Nota

Compartilhe Canal Youtube Amarildo Matos
Amarildo, desde 1990 ensinando Desenvolvimento de Sistemas, tornando
sonhos em realidades.



------------------------------------
Aqui a mensagem de erro quando transmitiu
ERRO:WL call:
Process of 'Global procedure CANCELAMENTO_NFE' (GlobalProcedures.CANCELAMENTO_NFE), line 67

What happened?
Error returned by .NET Framework: 
Uma exceção foi acionada pelo destino de uma chamada.

Error code: 200007
Level: fatal error

Dump of the error of 'wd240net4.dll' module (24.0.73.0).
Identifier of detailed information (.err): 200007
Debugging information:
System.Reflection.TargetInvocationException: Uma exceção foi acionada pelo destino de uma chamada. ---> System.NullReferenceException: Referência de objeto não definida para uma instância de um objeto.
   em Unimake.Business.DFe.Servicos.NFe.RecepcaoEvento.DefinirConfiguracao()
   em Unimake.Business.DFe.Servicos.ServicoBase.Inicializar()
   em Unimake.Business.DFe.Servicos.ServicoBase..ctor(XmlDocument conteudoXML, Configuracao configuracao)
   em Unimake.Business.DFe.Servicos.NFe.ServicoBase..ctor(XmlDocument conteudoXML, Configuracao configuracao)
   em Unimake.Business.DFe.Servicos.NFe.RecepcaoEvento..ctor(XmlDocument conteudoXML, Configuracao configuracao)
   em Unimake.Business.DFe.Servicos.NFe.RecepcaoEvento..ctor(EnvEvento envEvento, Configuracao configuracao)
   --- Fim do rastreamento de pilha de exceções internas ---
   em System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   em System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   em CDotNetType.vpgcrInvokeConstructor(CDotNetType* , ConstructorInfo pclConstructorInfo, CSLevel* pclPile, Int32 nNbParamPile, STOperationDotNet* pstOperation)
   em CDotNetType.vpgcrInvokeConstructor(CDotNetType* , STMethodeDotNet* pstMethode, UInt32* pdwIdentifiant, CSLevel* pclPile, Int32 nNbParamPile, STOperationDotNet* pstOperation)
   em CDotNetInstance.bExecuteConstructeur(CDotNetInstance* , STMethodeDotNet* pstMethode, UInt32* pdwIdentifiant, CSLevel* pclPile, Int32 nNbParamPile, STOperationDotNet* pstOperation)
Additional information:
EIT_PILEWL :
Global procedure CANCELAMENTO_NFE (GlobalProcedures.CANCELAMENTO_NFE), line 67
Click BTN_CANCELAMENTO (WIN_UNINFE.BTN_CANCELAMENTO), line 10
EIT_DATEHEURE : 27/12/2019 09:20:46
EIT_TYPE_WDFILE : <7>
EIT_IDCODE : <458752>

Exemplo: C#

// ---------------------------------------------------------------------------------------------------------
//Enviando XML de eventos
// ---------------------------------------------------------------------------------------------------------

try
{
    var xml = new EnvEvento
    {
        Versao = "1.00",
        IdLote = "000000000000001",
        Evento = new[] {
            new Evento
            {
                Versao = "1.00",
                InfEvento = new InfEvento(new DetEventoCanc
                {
                    NProt = "141190000660363",
                    Versao = "1.00",
                    XJust = "Justificativa para cancelamento da NFe de teste"
                })
                {
                    COrgao = CUF,
                    ChNFe = "41190806117473000150550010000579131943463890",
                    CNPJ = "06117473000150",
                    DhEvento = DateTime.Now,
                    TpEvento = TipoEventoNFe.Cancelamento,
                    NSeqEvento = 1,
                    VerEvento = "1.00",
                    TpAmb = TpAmb
                }
            }
        }
    };

    var configuracao = new Configuracao
    {
        CertificadoDigital = CertificadoSelecionado
    };

    var recepcaoEvento = new RecepcaoEvento(xml, configuracao);
    recepcaoEvento.Executar();
    MessageBox.Show(recepcaoEvento.RetornoWSString);
    MessageBox.Show(recepcaoEvento.Result.XMotivo);

    //Gravar o XML de distribuição se a inutilização foi homologada
    if (recepcaoEvento.Result.CStat == 128) //128 = Lote de evento processado com sucesso
    {
        switch (recepcaoEvento.Result.RetEvento[0].InfEvento.CStat)
        {
            case 135: //Evento homologado com vinculação da respectiva NFe
            case 136: //Evento homologado sem vinculação com a respectiva NFe (SEFAZ não encontrou a NFe na base dela)
            case 155: //Evento de Cancelamento homologado fora do prazo permitido para cancelamento
                recepcaoEvento.GravarXmlDistribuicao(@"c:\testenfe\");
                break;

            default: //Evento rejeitado
                recepcaoEvento.GravarXmlDistribuicao(@"c:\testenfe\");
                break;
        }
    }
}
catch (Exception ex)
{
    CatchException(ex);
}



Exemplo Windev

======================================
PROCEDURE SELECIONA_CERTIFICADO()

o_CertificadoDigital is CertificadoDigital
ver_certificado is Variant=""
IF YesNo("DESEJA SELECIONAR ARQUIVO CERTIFICADO") THEN
    ver_certificado=o_CertificadoDigital.Selecionar()
ELSE
ver_certificado=o_CertificadoDigital.CarregarCertificadoDigitalA1(gs_localizacao_certificado,gs_senha_certificado)
END

RESULT ver_certificado
======================================
PROCEDURE CANCELAMENTO_NFE(sRecebe_NProt is string="",sRecebe_justificativa is string="",recebe_IdLote is int=0, ...
                           nrecebe_COrgao_cuf is int=0,sRecebe_ChNFe is string="",sRecebe_CNPJ is string="", ...
                           nrecebe_tipo_ambiente is int=0,recebe_tipo_evento is int=0,recebe_sequencia_evento is int=0)
                         
                         
retorno_xml is string=""
retorno_cstat is string=""
retorno_xmotivo is string=""

ver_certificado is Variant=SELECIONA_CERTIFICADO()
O_CONFIGURACAO is Configuracao
O_CONFIGURACAO.CertificadoDigital=ver_certificado

O_EnvEvento is EnvEvento
O_EnvEvento.Versao = "1.00"
O_EnvEvento.IdLote = recebe_IdLote // "000000000000001"

o_Evento is Evento
o_Evento.Versao = "1.00"

o_DetEventoCanc is DetEventoCanc
o_DetEventoCanc.NProt=sRecebe_NProt
o_DetEventoCanc.Versao = "1.00"
o_DetEventoCanc.XJust=sRecebe_justificativa

o_InfEvento is InfEvento(o_DetEventoCanc)
o_InfEvento.COrgao = nrecebe_COrgao_cuf //43
o_InfEvento.ChNFe = sRecebe_ChNFe 
o_InfEvento.CNPJ = sRecebe_CNPJ

data_transmissao is DateTime=""
dDate is Date = DateSys()

hora is Time=Now()

data_transmissao..Day=dDate..Day
data_transmissao..Month=dDate..Month
data_transmissao..Year=dDate..Year

data_transmissao..Hour=hora..Hour
data_transmissao..Minute=hora..Minute
data_transmissao..Second=hora..Second

o_InfEvento.DhEvento = data_transmissao
o_InfEvento.TpEvento = recebe_tipo_evento // 110110
o_InfEvento.NSeqEvento = recebe_sequencia_evento // 1
o_InfEvento.VerEvento = "1.00"
o_InfEvento.TpAmb = nrecebe_tipo_ambiente// 2 = homologacao 

WHEN EXCEPTION IN

O_RecepcaoEvento is Unimake.Business.DFe.Servicos.NFe.RecepcaoEvento(O_EnvEvento, O_CONFIGURACAO)
O_RecepcaoEvento.Executar()
retorno_xml=O_RecepcaoEvento.RetornoWSString
retorno_cstat=O_RecepcaoEvento.Result.CStat
retorno_xmotivo=O_RecepcaoEvento.Result.XMotivo

SWITCH retorno_cstat
CASE "128"
Info("128 - LOTE PROCESSADO COM SUCESSO")
CASE "135"
Info("135 - Evento homologado com vinculação da respectiva NFe")
CASE "136"
Info("136 - Evento homologado sem vinculação com a respectiva NFe (SEFAZ não encontrou a NFe na base dela)")
CASE "155"
Info("155 - Evento de Cancelamento homologado fora do prazo permitido para cancelamento")
OTHER CASE
Info("Evento rejeitado")

END

O_RecepcaoEvento.GravarXmlDistribuicao("c:\TEMP\");

DO
retorno_xml="ERRO:"+ExceptionInfo(errFullDetails)

END

RESULT(retorno_xml,retorno_cstat,retorno_xmotivo)
====================================

// btn_ nfe_cancelar_cancelarnota

tipo_ambiente is int=EDT_AMBIENTE
nTipo_evento is int=110110
nSequencia_evento is int=EDT_cancelar_sequencia_Evento
nnumero_lote is int=EDT_cancelar_numero_lote
ncuf is int=EDT_CUF

(EDT_RESULTADO,EDT_RETORNO_CSTAT,EDT_RETORNO_xMotivo)=CANCELAMENTO_NFE(EDT_cancelar_NProt,EDT_cancelar_Justificativa, ...
                                                      nnumero_lote,ncuf, ...
  EDT_cancelar_eChave,EDT_cancelar_cnpj_emitente,tipo_ambiente,nTipo_evento, ...
  nSequencia_evento)
=================================

















Blog - Uninfe - 1/... Como Instalar
Blog - Uninfe - 2/... - Criando wdl nfe
Blog - Uninfe - 3/... - Linkando Wdl Nota 
Blog - Xml - 4/... Xml Cabecalho
Blog - Xml - 5/... Tag Nfe
Blog - Xml - 6/... Tag InfNfe
Blog - Xml - 7/... - Tag Ide - uf
Blog - Xml - 8/... Tag Ide - Pegar Data e Hora Emissão
Blog - Xml - 9 / ... Tag Ide - Finalizar Grupo de Tag 
Blog - Xml - 10 / ... - Tag Emit - Inicio
Blog - Xml - 11 / ... - Tag emit - Emitente Final
Blog - Xml - 12/... - Tag Dest - Destinatario
Blog - Xml - 13/... - Tag - det nItem=1 - Inicio
Blog - Xml - 14/... - Tag - det Prod
Blog - Xml - 15/... - Tag - Imposto 
Blog - Xml - 16/... - Tag Final
Blog - Xml - 17/... - Gerar Xml e Enviar Pasta Validado
Blog - Xml - 18/... - Pegar retorno Xml Validado 
Blog - Xml - 19/... Calculo Digito - Modulo 11 Nfe
Blog - Xml - 20/... Achar a Posicao do Erro Nfe
Blog - Xml - 21/... Transmitir e Pegar Retorno
Blog - Xml - 22/... Imprimir Nfc-e Com Daruma
Blog - Xml - 23/... - Monitorar Pasta Uninfe de Retorno
Blog - Xml - 24/... - Parte 1/... - Uninfe Consulta Cadastro Contribuiente 
Blog - Xml - 25/... - Parte 2/... - Uninfe Consulta Cadastro Contribuiente
Blog - Xml - 26/... - Parte 3/... - Uninfe Consulta Cadastro Contribuiente  
Blog - Xml - 27/... - Parte 4/... - Uninfe Retorno Cadastro Contribuinte  
Blog - Xml - 28/... - Parte 5/... - Uninfe Retorno Contribuinte colocar Xml Edt 
Blog - Xml - 29/... - Parte 6/... - Uninfe Retorno Contribuinte - Pegar Dados Xml 
Blog - Xml - 30/... - Parte 7/... - Uninfe Retorno Contribuinte - Mudando Para Procedure global 
Blog - Xml - 31/... - Parte 8/Final - Uninfe Retorno Contribuiente Final 
INSTALACAO UNINFE - WINDEV UNIMAKE 32 - AULA 1345
Dica 2248. Hangout Vivo - Uninfe Integrando Com Windev - 13 08 2019 20:00
Dica 2251. Hangout Vivo - 15/08 20:00 - Iniciando Uninfe dll com Windev
DICAS 2560 WINDEV WEBDEV MOBILE Uninfe 36 Reiniciando Estudos Dll Uninfe
DICAS 2562 WINDEV WEBDEV MOBILE Uninfe 37 Seleciona Certificado Uninfe
DICAS 2568 WINDEV WEBDEV MOBILE Uninfe 38 Status Servico
DICAS 2572 WINDEV WEBDEV MOBILE Uninfe 39 Consulta Nota
DICAS 2575 WINDEV WEBDEV MOBILE Uninfe 40 Consulta Cadastro
DICAS 2580 - WINDEV WEBDEV MOBILE - Uninfe 41 - Inutilizacao Nota com uninfe dll
DICAS 2584 WINDEV WEBDEV MOBILE Uninfe 42 Consulta Recibo dll
DICAS 2590 WINDEV WEBDEV MOBILE Uninfe 43 Cancelamento Nota









Nenhum comentário:

Postar um comentário

Teste

Teste
teste