Categorias
nfe nota fiscal eletr??nica salvador

Nota Fiscal Eletr??nica – O In??cio

Como a partir de 01 de Abril a Nota Fiscal n??o ser?? mais aquela de papel, come??aram a algum tempo a emiss??o da eletr??nica e consequentemente, n??s programadores, ficamos respons??veis de realizar a integra????o dos diversos sistemas ?? esse novo tipo de implanta????o. N??o diferente de voc?? tamb??m fui obrigado a adentrar nesse mundo. Nunca li tanto de XML e sobre Certificado Digital na minha vida!

Por ventura j?? existiam alguns colegas que j?? realizaram grande parte do trabalho disponibilizando c??digos e bibliotecas nas mais variadas linguagens que nos ajudaram a realizar esse feitio. Um deles que testei ?? o UniNFe. Muito boa a implementa????o, al??m de ser OpenSource com c??digo em ASP.NET. Bem f??cil de configurar e j?? faz tudo: assina seu XML, realiza o envio e obt??m o retorno. Fica apenas o trabalho do usu??rio gerar o XML de envio e ler o de retorno.

Quando utilizei, pensei: “Pronto! Problemas resolvidos…”. O que era bom, ficou para tr??s. O UniNFe serve para emiss??o de notas fiscais cujo o contribuinte possua Inscri????o Estadual. Para empresas que n??o possuem IE, apenas a Inscri????o Municipal (IM), devem atrelar-se ?? implementa????o da SEFAZ do munic??pio cuja implementa????o difere, na maioria dos aspectos, dessa implementa????o. Contudo, por ser OpenSource, pude aproveitar algumas classes dele para gerar as minhas. Constantemente estou em contato com a secretaria de NFS-e em Salvador para resolu????o de meus problemas (e problemas) e tentar terminar tal solu????o.

Nos pr??ximos posts, logo que eu for resolvendo/terminando algumas funcionalidades, irei disponilizando trechos de classes/m??todos para gera????o da NF-e. Abaixo segue uma rela????o de links que podem ajud??-los a adiantarem algum c??digo:

  1. Nota Fiscal Eletr??nica Nacional: http://nf-eletronica.com/blog/
  2. Linha de C??digo – Nota Fiscal Eletr??nica – Gera????o, Assinatura e Transmiss??o: http://www.linhadecodigo.com.br/Artigo.aspx?id=1814

Mais materias e links s??o facilmente encontrados na net, dependendo do que for realmente fazer. N??o se esque??a de, antes de come??ar a implementar, leia o Manual da Integra????o para onde dever?? prestar conta: Munc??pio ou Estado.

Categorias
dll imagem resources

Inserindo Imagem em DLL

A alguns dias atr??s, comecei a desenvolver um Framework para que eu pudesse incorporar em minhas aplica????es e que pudesse reaproveit??-la constantemente. Nela cont??m classes de conex??o, cria????o de objetos dinamicamente e imagens. Estava quase pronto quando me deparei com a parte das imagens. Eu queria que as imagens ficassem na DLL e quando eu fosse atualizar uma aplica????o, eu s?? substituiria a DLL e n??o esquecesse dos arquivos.

??bvio que comecei a ler alguns materiais na Internet para saber qual o melhor m??todo para desenvolver. Por mais que eu lia, mais eu achava complicado. E outros, quanto eu mais fazia mais eu achava que estava errado. At?? que ent??o consegui…

Voc?? pode utilizar de duas formas: chamando dentro da pr??pria DLL ou atrav??s de uma p??gina ASPX para, ao final, gerar uma imagem. Irei explicar como pois ?? praticamente a mesma coisa…

No Visual Studio, abra seu projeto (ele deve ser um Class Library). Clique com o direito sobre a Solu????o na aba do Solution Explorer e escolha a op????o Properties. Ir?? abrir o conjunto de propriedades vigentes da DLL. Entre na aba Resources e notar?? a seguinte tela:


Nesse caso ele diz que n??o, por padr??o, nenhum recurso. Clique sobre o link para adicionarmos um. Agora, v?? em Add Resource, New Image e escolha um dos tipos de imagem suportado ou escolha Add Existing File… para selecionar uma imagem existente no disco.

Se escolhido a primeira op????o ter?? que dar um nome que o identifique para que possamos invoc??-lo posteriormente e ter?? que desenhar ou incorporar uma imagem no editor que ir?? abrir. Caso contr??rio, a segunda op????o ?? a mais r??pida pois iremos apenas selecionar uma imagem que ela j?? ser?? incoporada.
Logo ap??s incorpor??-la nos recursos, ver??, atrav??s do Solution Explorer, que foi criada uma pasta chamada Resources contendo a imagem desejada. Agora iremos permitir tamb??m que a imagem seja “chamada” ou, melhor dizendo, seja embedded. Para isso, clique com o direito sobre a imagem e entre em Properties. No Build Action, escolha a propriedade Embedded Resource.
Agora, v?? na pasta Properties da solu????o e abra o arquivo AssemblyInfo.cs. Adicione o namespace:
using System.Web.UI;
E adicione a seguinte linha no final (pode ser depois de todas que tiverem):
[assembly: WebResource(“Framework.Resources.Calendario.png”, “image/png”)]

Sendo que ?? constitu??do por:

  • Framework: ?? o namespace que comp??e sua solu????o, no meu caso estava utilizando o namespace Framework;
  • Resources: indica o nome da pasta onde est?? o recurso;
  • Imagem

Assim a imagem j?? est?? incorporada ?? DLL e prontra para uso. Para invocarmos, conforme descrito anteriormente, pode ser de duas formas: de dentro da DLL e fora dela.

Por dentro, podemos gerar um objeto Image e adicionar seu atributo ImageUrl diretamente:

Image imagem = new Image();

imagem.ImageUrl = ClientScript.GetWebResourceUrl(this.GetType(), “Framework.Resources.Calendario.png”);

Pode-se utilizar a mesma forma de invoca????o quando for chamar de fora da DLL pelo CodeBehind. Se for chamar direto na p??gina ASPX basta utilizar as tags <%= %>colocando dentro o m??todo de invoca????o do recurso.

Voc?? pode utilizar essa forma de acoplamento de recursos para alguns outros tipos de objetos como JavaScript, por exemplo. Lembrando que n??o ?? bom ter uma DLL muito grande com diversos objetos. Caso for de extrema import??ncia mant??-lo na DLL, fragmente-os em diversas outras DLLs.