O download da DLL.NET está disponível em https://nfe.vinco.com.br/NFe/Versions/InterOp/220/Vinco.iContNFe.NFeIntegratorInterOpCOMLess.dll
Ela deve ter sua referência anexa a seu projeto .NET, como demonstrado abaixo:
1. Clique com o botão direito sobre o projeto.
2. Selecione a opção Add => Reference (Em inglês).
Em seguida:
3. Clique em "Browse"
4. Indique o local onde está a DLL.
5. Clique em "OK" para confirmar a inclusão.
Abaixo, segue um exemplo utilizado para emissão de uma nota. Caso precise de mais informações, acesse a nossa documentação disponível em:
https://ajuda.vinco.com.br/NFeCreatorInterOpDoc2/html/N_Vinco_iContNFe_NFeIntegratorInterOp.htm ou entre em contato com o nosso canal de suporte: O endereço de e-mail address está sendo protegido de spambots. Você precisa ativar o JavaScript enabled para vê-lo.:
try
{
NFeIntegrator oNFe = new NFeIntegrator(); //Equivale a linha do 'new COM('NFeIntegratorInterOp.NFeIntegrator');
//Informa o local onde os caches serão mantidos, o cache é excencial para emissão
//em contingencia. É interessante no caso do uso de IIS, separar o cache em pastas
//diferentes entre as aplicações web, pois o cache de regras é por empresa.
oNFe.CacheFolder = AppDomain.CurrentDomain.BaseDirectory;
//Seta o IdKey Empresa, esta propriedade permite setar qual empresa vai emitir NFe
//o uso dessa propriedade elimina o uso do arquivo Empresa.Config, este valor é encontrado no portal do iContNFe, no cadastro de empresas.
oNFe.IdKeyEmpresa = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
//Define que DLL esta em modo normal de emissão, esse modo não esta relacionado diretamente com a contingencia da NFe
oNFe.Contingencia = false;
//Define se os erros serão //lançados// para o programa chamador
//ou se eles retornarão na propriedade Error das interfaces de retorno
//Se utilizado como True, o erro aparecerá no `On Erro Goto`
oNFe.Throwable = true;
//Inicializa a DLL de InterOp
oNFe.Start();
//Set o IdKey do sistema
//Este valor é contrado no Config Extractor no cadastro de sistemas.
oNFe.SetIdKeySistema("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx");
//Set de configurações de emissão: ambiente, impressão, finalidade, tipo de emisão
oNFe.SetEnvironment(2, 1, 1, 1);
//Set do tipo de nota, entrada ou saida
oNFe.SetTipoNota(1);
//Set do endereço no file system onde as NFe//s autorizadas serão armazenadas
oNFe.EnderecoAutorizada = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Autorizada");
//Define no numero de copias que serão impressas
oNFe.SetNumeroCopias(1);
//Define se a DLL imprimirá diretamenta para a impressão Padrão do windows
oNFe.PrintToDefaultPrinter = false;
oNFe.ClearParams();
//No exemplo utlizado, existe somente 1 filtro:
//- um com o numero da Nota Fiscal no sistema
//Os filtros devem ser alimentados na mesma ordem que eles foram criados
//no ConfigExtractor
//Adiciona o valor no filtro
oNFe.AddParams("081988");
IRetornoAutorizar retorno = oNFe.Autorizar();
IErroXSD[] erros = oNFe.GetErroXSD();
if (erros != null && erros.Length > 0)
{
for (int i = 0; i < erros.Length; i++)
{
MessageBox.Show(erros[i].Descricao, erros[i].Titulo, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
if (retorno.cStat == 100)
{
//Se o cStat for igual a 100 isso indica que a nota foi autorizada com sucesso
//nesse momento podemos armazenar todos os dados no sistema
//retorno.ChaveNFe -> Chave da NFe
//retorno.DataRecebimento -> Data da Autorização
//retorno.Protocolo -> numero do protocolo
//retorno.XMLProc -> XML da NF-e com o protocolo de autorização
//retorno.PDF -> Binario com o PDF
MessageBox.Show("Protocolo: " + retorno.Protocolo);
//Verifica se deu erro no envio do email, como o email só em viando no caso da NF-e que autorizada
//só é necessario veirificar aqui
//esse erro não interfere no processo de autorização
if (!string.IsNullOrEmpty(retorno.ErrorEnvioEmail))
{
MessageBox.Show("Erro no email: " + retorno.ErrorEnvioEmail);
}
}
else
{
//Caso contrario indica qual foi o motivo da rejeição.
MessageBox.Show("Mensagem: " + retorno.xMotivo);
}
}
catch (ApplicationException ex)
{
MessageBox.Show(ex.Message, "ApplicationException", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
MessageBox.Show(string.Format("{0}", ex), "Exception", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
- Detalhes
- Escrito por Anderson
- Publicado: 28 Junho 2019
- Última atualização: 25 Outubro 2019