quinta-feira, 6 de dezembro de 2012

Teste Data Time C#


         
Testar formato de datas
 
            DateTime now = DateTime.Now;
            MessageBox.Show(now.ToString("d"));
            MessageBox.Show(now.ToString("D"));
            MessageBox.Show(now.ToString("f"));
            MessageBox.Show(now.ToString("F"));
            MessageBox.Show(now.ToString("g"));
            MessageBox.Show(now.ToString("G"));
            MessageBox.Show(now.ToString("m"));
            MessageBox.Show(now.ToString("M"));
            MessageBox.Show(now.ToString("o"));
            MessageBox.Show(now.ToString("O"));
            MessageBox.Show(now.ToString("s"));
            MessageBox.Show(string.Format("{0:yyyy-MM-ddTHH:mm:sszzz}", now));
            MessageBox.Show(now.ToString("T"));
            MessageBox.Show(now.ToString("u"));
            MessageBox.Show(now.ToString("U"));
            MessageBox.Show(now.ToString("y"));
            MessageBox.Show(now.ToString("Y"));

quinta-feira, 29 de novembro de 2012

Nota Técnica 2011 Cancelamento da NF da Nota Fiscal Eletrônica Manual de Integração 2011/006 NF-e como Evento Versão 1.00a Março 2012 - Contribuinte


Para ajudar quem está se preparando para  a nota de cancelamento como evendo
Gerando o arquivo em C#



///

        /// gera o arquivo xml para envio no evento
        ///
        /// diretorio a ser salvo o arquivo
        /// codigo da empresa
        /// tipo ambiente nfe
        /// numero da nota
        /// serie nfe
        /// vesão nfe
        /// justificativa digitada
        /// tipo do evento exemplo Carta de Correcao ou Cancelamento
        /// prefixo inicial do nome do arquivo exemplo CCE (Carta de Correcao) ou CNFE (cancelamento)
        private void GeraArquivoXmlEvento(string DiretorioEnviar, int idEmpresa
                    , int tpAmb, string NumNota, string Serie, string VersaoNF
                    , string Justificativa, string Evento, string prefixoInicialArquivo)
        {
            UTF8Encoding _utf8 = new UTF8Encoding();
            DataTable _infoNfe = new DataTable(); //informações da nfe
            int _seqEvento = 0;
            string _cnpjEmi = string.Empty, _caminhoxml = string.Empty, _tipoEvento = string.Empty;
            try
            {
                //retorna a nota fiscal
                _infoNfe =retorna um datatable contendo a nota fiscal;
                //formata cnpj
                _cnpjEmi = pega o cnpj do emitente da nota.ToString().Replace(".", "").Replace("-", "").Replace("/", "");
                //prepara caminho
                _caminhoxml = DiretorioEnviar + @"\" + prefixoInicialArquivo + _infoNfe.Rows[0]["chNFe"].ToString() + ".xml";
                //busca o tipo do evento
                _tipoEvento = TipoEvento(Evento);
                if (File.Exists(_caminhoxml))
                {
                    File.Delete(_caminhoxml);
                }

                int _i = RetornaSeqEvento(_infoNfe.Rows[0]["chNFe"].ToString(),Evento);
                _seqEvento = _i > 0 ? _i : 1;

                XmlTextWriter _xml = new XmlTextWriter(_caminhoxml, _utf8);

                _xml.WriteStartDocument();

                _xml.WriteStartElement("envEvento");
                if (tpAmb == 1)
                {
                    _xml.WriteStartAttribute("xmlns");
                    _xml.WriteString("http://www.portalfiscal.inf.br/nfe");
                    _xml.WriteEndAttribute();
                    _xml.WriteStartAttribute("versao");
                    _xml.WriteString("1.00");
                    _xml.WriteEndAttribute();
                }
                _xml.WriteStartElement("idLote");//num lote
                _xml.WriteString(_infoNfe.Rows[0]["idlote"].ToString());// numero lote
                _xml.WriteEndElement();

                _xml.WriteStartElement("evento");
                _xml.WriteStartAttribute("xmlns");
                _xml.WriteString("http://www.portalfiscal.inf.br/nfe");
                _xml.WriteEndAttribute();
                _xml.WriteStartAttribute("versao");
                _xml.WriteString("1.00");
                _xml.WriteEndAttribute();
                _xml.WriteStartElement("infEvento");
                _xml.WriteStartAttribute("Id");
                _xml.WriteString("ID" + _tipoEvento + _infoNfe.Rows[0]["chNFe"].ToString() + _seqEvento.ToString("00"));//
                _xml.WriteEndAttribute();
                #region itensInternos

                _xml.WriteStartElement("cOrgao");//num uf ibge
                _xml.WriteString(_infoNfe.Rows[0]["cUF"].ToString());// numero da UF ibge
                _xml.WriteEndElement();

                _xml.WriteStartElement("tpAmb");//num uf ibge
                _xml.WriteString(tpAmb.ToString());// numero da UF ibge
                _xml.WriteEndElement();

                _xml.WriteStartElement("CNPJ");//cnpj emitente
                _xml.WriteString(_cnpjEmi);//
                _xml.WriteEndElement();

                _xml.WriteStartElement("chNFe");//Chave da Nfe 44 posiçoes (nfe antes) NFexxx...
                _xml.WriteString(_infoNfe.Rows[0]["chNFe"].ToString());//
                _xml.WriteEndElement();

                _xml.WriteStartElement("dhEvento");//Serie NFe
                _xml.WriteString(string.Format("{0:yyyy-MM-ddTHH:mm:sszzz}", DateTime.Now));//
                _xml.WriteEndElement();

                _xml.WriteStartElement("tpEvento");//
                _xml.WriteString(_tipoEvento);//
                _xml.WriteEndElement();

                _xml.WriteStartElement("nSeqEvento");//
                _xml.WriteString(_seqEvento.ToString());//
                _xml.WriteEndElement();

                _xml.WriteStartElement("verEvento");//
                _xml.WriteString("1.00");// fixo por hora
                _xml.WriteEndElement();

                _xml.WriteStartElement("detEvento");//abre tag da descrição do envento
                _xml.WriteStartAttribute("versao");//versão
                _xml.WriteString("1.00");// fixo por hora
                _xml.WriteEndAttribute();

                _xml.WriteStartElement("descEvento");//descrição do tipo do envento
                _xml.WriteString(Evento);//
                _xml.WriteEndElement();
//define a mesnagem e campos conforme evento
                switch (Evento)
                {
                    case "Carta de Correcao":
                        /// a sequencia de um mesmo eventdo de cce não pode ser maior que 20 correções
                        if (_seqEvento < 20)
                        {
                            _xml.WriteStartElement("xCorrecao");//Justividativa escrita da cce
                            _xml.WriteString(_comp.RemoveSpecialCharactersXml(Justificativa, true));//
                            _xml.WriteEndElement();

                            _xml.WriteStartElement("xCondUso");//Justividativa escrita da cce
                            _xml.WriteString("A Carta de Correcao e disciplinada pelo paragrafo 1o-A do art. 7o do Convenio S/N," +
                                             " de 15 de dezembro de 1970 e pode ser utilizada para regularizacao de erro ocorrido " +
                                             "na emissao de documento fiscal, desde que o erro nao esteja relacionado com: I - as " +
                                             "variaveis que determinam o valor do imposto tais como: base de calculo, aliquota, " +
                                             "diferenca de preco, quantidade, valor da operacao ou da prestacao; II - a correcao de " +
                                             "dados cadastrais que implique mudanca do remetente ou do destinatario; III - a data de emissao ou de saida.");//
                            _xml.WriteEndElement();
                        }
                        else
                        {
                            throw new Exception("Sequência de correções ultrapassou o limite de 20 para esta nota");
                        }

                        break;
                    case "Cancelamento":
                        _xml.WriteStartElement("nProt");//Numero do protocolo quando aceita a nfe no sefaz
                        _xml.WriteString(_infoNfe.Rows[0]["nProt"].ToString());//
                        _xml.WriteEndElement();

                        _xml.WriteStartElement("xJust");//Justividativa escrita do cancelmaento
                        _xml.WriteString(Justificativa);//
                        _xml.WriteEndElement();
                        break;
                }

                #endregion
                _xml.WriteEndElement();//detEvento
                _xml.WriteEndElement();//infEvento
                _xml.WriteEndElement();//Evento
                _xml.WriteEndElement();//envEvento

                _xml.Close();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                _infoNfe.Dispose();
            }
        }

Comentem se usarem...e melhorem também...
att
Fernando

quinta-feira, 30 de agosto de 2012

Usar Enter no DatagridView C#

Função para que no momento do enter voce possa pegar dados, enviar para uma variavel externa ao form e fechar o form de pesquisa.

esta função foi implementada no KeyDown do datagrid.
foi alterada a função edit para não usar o enter no caso.


private void dtgPesqCliente_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Enter && dtgPesqCliente.CurrentRow.Index != -1)
   {
      _Cliente._retNome = dtgPesqCliente.Rows[dtgPesqCliente.CurrentRow.Index ].Cells[1].Value.ToString();
      _Cliente._retCodigo = dtgPesqCliente.Rows[dtgPesqCliente.CurrentRow.Index].Cells[0].Value.ToString();
                this.Close();
     }
 }

att

Fernando

quarta-feira, 6 de junho de 2012

Nosso Cuidado

Paz e Bem da parte de nosso Senhor Jesus Cristo!

   Venho como pequeno irmão e hoje na unção de coordenador do Grupo de Oração de Pirapozinho, alertar e de certa forma atender um clamor do nosso Senhor.
   Tenho observado nas redes sociais, irmão e irmãs, principalmente jovens, que por algum motivo estão desatento a questão do testemunho, somos vistos pelas ruas e lugares como pessoas que possuem um Deus, sendo assim devemos de coração expressar este sentido de pertença neste mundo moderno e virtual onde não somos vistos fisicamente.
   Tudo o que professamos fisicamente deve ser professado também virtualmente nas nossas redes, chamo a atenção para o contra testemunho, para o compromisso de não levarmos irmãos a pecar com palavras, fotos ou qualquer tipo de imagem que colocamos nas redes.
   Lembremos sempre de que Jesus rogou ao pai para sempre estivéssemos com ele Eu rogo por elesnão rogo pelo mundomas por aqueles que me desteporque são teus”  João 17:9, 
   Vamos estar atentos para que possamos ser luzeiros para o mundo, como nos é dito em Filipenses 2:15 para que vos torneis irrepreensíveis e sinceros, filhos de Deus inculpáveis no meio de uma geração pervertida e corrupta, na qual resplandeceis como luzeiros no mundo.
   Rogo a Deus que em vossos corações sua palavra e promessas possam se tornar fecundas;

“vós, porém, sois raça eleita, sacerdócio real, nação santa, o povo de propriedade exclusiva de Deus, a fim de proclamardes as virtudes daquele que vos chamou das trevas para a sua maravilhosa luz; vós, sim, que, antes, não éreis povo, mas, agora, sois povo de Deus, que não tínheis alcançado misericórdia, mas, agora, alcançastes misericórdia.” (1 Pedro 2.9-10).

Fraternalmente, paz e bem a todos!
Do menor dos menores irmãos

quarta-feira, 21 de março de 2012

Funções DateTime C#


Funções para ser colocada em uma dll, onde pode ser útil em formatações na aplicação.

public string VerificaData(string data)
        {
            string retorno = string.Empty;
            //
            if (string.IsNullOrEmpty(data) || data == "00/00/0000 00:00:00")
                retorno = Convert.ToDateTime("01/01/1870").ToString();
            else
                retorno = Convert.ToDateTime(data).ToString();
            //
            return retorno;
        }

        public string FormatarData(DateTime Data)
        {
            return Data.ToString("yyyy/MM/dd");
        }

        public string FormatarData2(DateTime Data)
        {
            return Data.ToString("yyyy/MM/dd 00:00:000");
        }

Fernando.

terça-feira, 20 de março de 2012

Deletar .pdf ou .gif de um diretório


///


        /// deleta registros .pdf e .gif gerados para o envio das danfes aos clientes via email
        ///

        ///
caminho do diretório
        public static void DeletaPdfGif(string Diretorio)
        {
            DirectoryInfo d;
            try
            {
                //limpar arquivos no CaminhoXmlTemp com data < 3 meses da data de hoje;
                d = new DirectoryInfo(Diretorio);
                foreach (FileInfo item in d.GetFiles("*.pdf"))
                {                  
                    item.Delete();
                }
                foreach (FileInfo item in d.GetFiles("*.gif"))
                {
                    item.Delete();
                }
            }
            catch (Exception ex)
            {
                throw (ex);
            }
            finally
            {
                d = null;
            }
        }

quinta-feira, 8 de março de 2012

Inserir Try automático c#

digitar :
try e segurar a tecla tab por alguns segundos, o código aparecerá automaticamente.

abraços

segunda-feira, 20 de fevereiro de 2012

Não foi possível resolver o conflito de agrupamento entre ' ' e ' ' na operação equal to.

Equalizando collate para bancos difrentes no SQLServer.


select f.*,fu.*
from banco0.dbo.FUNCIONARIOS fu
inner join banco1.dbo.[FUNCIONARIOS] f
                       on f.REGISTRO = fu.MATRICULA  -- f.RG = fu.RG COLLATE Latin1_General_CS_AS

Com isso os bancos podem ter sido criados com collate diferentes mas consegue-se fazer verificações no campos string princiapalmente.

sábado, 18 de fevereiro de 2012

Oração para os dias de Retiro no Carnaval

      Em reparação aos pecados.

     Amabilíssimo Jesus, não é tanto para receber os vossos favores como para fazer coisa agradável ao vosso divino Coração, que quero nestes dias unir-me às almas que Vos amam, para Vos desagravar da ingratidão dos homens para convosco, ingratidão essa que foi também a minha, cada vez que pequei. Em compensação de cada ofensa que recebeis, quero oferecer-Vos todos os atos de virtude, todas as boas obras, que fizeram ou ainda farão todos os justos, que fez Maria Santíssima, que fizestes Vós mesmo, quando estáveis nesta terra. Entendo renovar esta minha intenção todas as vezes que nestes dias disser: Meu Jesus, misericórdia. – Ó grande Mãe de Deus e minha Mãe Maria, apresentai vós este humilde ato de desagravo a vosso Divino Filho, e por amor de seu sacratíssimo Coração obtende para a Igreja sacerdotes zelosos, que convertam grande número de pecadores.


Santo Afonso

fonte: http://www.cancaonova.com/portal/canais/formacao/internas.php?e=12675

terça-feira, 17 de janeiro de 2012

Gerar Arquivo Xml Inutilizacao NFE C#


///


        /// 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();
            }
        }