///
/// gera o arquivo xml para solicitar Inutilização da nfe., você precisara enviar algumas informações ///criando uma função que retorna o datatable com os dados necessários para gerar o arquivo.
///
///
///
///
///
///
public void GerarArquivoXmlInutilizacao(string DiretorioEnviarInut,
int idEmpresa, string NumNota, string Serie, string Justificativa)
{
UTF8Encoding _utf8 = new UTF8Encoding();
string _cnpjEmi = string.Empty;
DataTable _infoNfe = new DataTable(); //informações da nfe
try
{
_infoNfe = this.RetornarNfeCabecVisCom(idEmpresa, NumNota, Serie);
_cnpjEmi = _infoNfe.Rows[0]["CNPJ"].ToString().Replace(".", "").Replace("-", "").Replace("/", "");
XmlTextWriter _xml = new XmlTextWriter(DiretorioEnviarInut +
@"\NFe" + _cnpjEmi +
_infoNfe.Rows[0]["sc_numnota"].ToString() +
_infoNfe.Rows[0]["sc_serie"].ToString(), _utf8);
_xml.WriteStartDocument();
_xml.WriteStartElement("inutNFe");
_xml.WriteStartAttribute("xsi:schemaLocation");
_xml.WriteString("http://www.portalfiscal.inf.br/nfe inutNFe_v2.00.xsd");
_xml.WriteEndAttribute();
_xml.WriteStartAttribute("xmlns:xsi");
_xml.WriteString("http://www.w3.org/2001/XMLSchema-instance");
_xml.WriteEndAttribute();
_xml.WriteStartAttribute("versao");
_xml.WriteString("2.0");
_xml.WriteEndAttribute();
_xml.WriteStartAttribute("xmlns");
_xml.WriteString("http://www.portalfiscal.inf.br/nfe");
_xml.WriteEndAttribute();
#region infInut
_xml.WriteStartElement("infInut");
_xml.WriteStartAttribute("Id");
_xml.WriteString("ID" + _infoNfe.Rows[0]["SC_IDNFE"].ToString());
#region internos
_xml.WriteStartElement("tpAmb");//num uf ibge
_xml.WriteString(_infoNfe.Rows[0][""].ToString());// numero da UF ibge
_xml.WriteEndElement();
_xml.WriteStartElement("xServ");//cnpj emitente
_xml.WriteString("INUTILIZAR");//
_xml.WriteEndElement();
_xml.WriteStartElement("UF");//num uf ibge
_xml.WriteString(_infoNfe.Rows[0]["cUF"].ToString());// numero da UF ibge
_xml.WriteEndElement();
_xml.WriteStartElement("ano");//ano da emissao da nota
_xml.WriteString(Convert.ToDateTime(_infoNfe.Rows[0]["dEmi"]).ToString("yy"));//
_xml.WriteEndElement();
_xml.WriteStartElement("CNPJ");//cnpj emitente
_xml.WriteString(_infoNfe.Rows[0]["CNPJ"].ToString());//
_xml.WriteEndElement();
_xml.WriteStartElement("mod");//Modelo nota
_xml.WriteString(_infoNfe.Rows[0][""].ToString());//
_xml.WriteEndElement();
_xml.WriteStartElement("serie");//Serie da nfe
_xml.WriteString(Justificativa);//
_xml.WriteEndElement();
_xml.WriteStartElement("nNFIni");//Numero nota inicio
_xml.WriteString(_infoNfe.Rows[0]["nNF"].ToString());//sem formatação
_xml.WriteEndElement();
_xml.WriteStartElement("nNFFin");//Numero numero nota fim
_xml.WriteString(_infoNfe.Rows[0]["nNF"].ToString());// sem formatação
_xml.WriteEndElement();
_xml.WriteStartElement("xJust");//Justificativa escrita da inutilização
_xml.WriteString(Justificativa);//
_xml.WriteEndElement();
#endregion
_xml.WriteEndElement();//infInut
#endregion
_xml.WriteEndElement();//inutNFe
_xml.Close();
}
catch (Exception ex)
{
throw ex;
}
finally
{
_infoNfe.Dispose();
}
}