Cadastre-se Revistas DevMedia Cursos
 



Últimas 20 atualizações de osmar

Artigo - Controle de Acesso por Treeview XmlDataSource Asp.Net e Mysql. com Recursividade

Bom partiremos do conceito que você tenha a conexão com o mysql pois o intuito não é mostrar Ado.net e sim um controle de acesso e privilégios que servirá de base para o nosso Sistema. primeiro vamos criar as tabelas:

# MySQL-Front 5.1  (Build 4.13)

/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE */;
/*!40101 SET SQL_MODE='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES */;
/*!40103 SET SQL_NOTES='ON' */;


#
# Source for table menu
#

CREATE TABLE `menu` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `IDPAI` int(11) DEFAULT NULL,
  `MENU` varchar(255) DEFAULT NULL,
  `FORMULARIO` varchar(50) DEFAULT NULL,
  `ORDEM` int(11) DEFAULT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=40 DEFAULT CHARSET=latin1;


CREATE TABLE `perfil_permissoes` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `IDPERFIL` int(11) DEFAULT NULL,
  `IDMENU` int(11) DEFAULT NULL,
  `VISUALIZA` int(11) DEFAULT NULL COMMENT '0 - NÃO  1-SIM',
  `INCLUI` int(11) DEFAULT NULL COMMENT '0 - NÃO  1-SIM',
  `ALTERA` int(11) DEFAULT NULL COMMENT '0 - NÃO  1-SIM',
  `EXCLUI` int(11) DEFAULT NULL COMMENT '0 - NÃO  1-SIM',
  `consulta` int(11) DEFAULT NULL,
  PRIMARY KEY (`ID`),
  KEY `perfilxpermissoes` (`IDPERFIL`),
  KEY `permissoesxmenu` (`IDMENU`)
) ENGINE=InnoDB AUTO_INCREMENT=57 DEFAULT CHARSET=latin1;

#
#  Foreign keys for table perfil_permissoes
#

ALTER TABLE `perfil_permissoes`
ADD CONSTRAINT `perfilxpermissoes` FOREIGN KEY (`IDPERFIL`) REFERENCES `usuarios` (`Id`),
ADD CONSTRAINT `permissoesxmenu` FOREIGN KEY (`IDMENU`) REFERENCES `menu` (`ID`);








table usuarios

CREATE TABLE `usuarios` (
  `Id` int(11) NOT NULL AUTO_INCREMENT,
  `nome` varchar(100) DEFAULT NULL,
  `senha` varchar(8) DEFAULT NULL,
  `ativo` char(1) DEFAULT NULL,
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8;


essas tabelas são necessárias para o nosso tópico. Com o Visual Studio 2008 aberto crie um projeto web e salve na pasta de preferência e inclua dois componentes um Treeview e um Xmldatasource.

Após adicionado os componentes no codebehind da página coloque o seguinte código:

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using MySql.Data;
using MySql.Data.MySqlClient;

namespace WebApplication1
{
    public partial class _Default : System.Web.UI.Page
    {

        private MySqlConnection con = new MySqlConnection(ConfigurationManager.ConnectionStrings["vemartConnectionString"].ConnectionString);
        private string XML;


        protected void ProcuraFilhos(int id) {

            DataTable da = new DataTable();
            MySqlDataReader reader = null;
            string Sql = " select men.idpai,men.id,men.menu,men.formulario,perfperm.inclui,perfperm.altera,perfperm.exclui from menu as men join perfil_permissoes as perfperm on perfperm.idmenu = men.id where perfperm.visualiza = 1 and men.idpai ="+Convert.ToString(id)+" order by men.ordem asc , men.idpai asc  ";
            con.Close();
            MySqlCommand com = new MySqlCommand(Sql, con);
            com.CommandType = CommandType.Text;
            try
            {
                con.Open();
                reader = com.ExecuteReader();

                da.Load(reader);
            }
            finally
            {
                con.Close();
                reader.Close();


            }
            for (int i = 0; i < da.Rows.Count; i++)
            {

                XML += "<" + da.Rows[i]["menu"].ToString() + @" values=""" + da.Rows[i]["menu"].ToString() + @""">";
                ProcuraFilhos(Convert.ToInt32(da.Rows[i]["id"].ToString()));
                XML += "";

       &# ...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
09/09/2010 13:36:00





Artigo - XML Nfe

Neste artigo mostro como escrever os nós da Nfe em c# pela já conhecida Classe XmlTextWriter está incompleto mas já da para ser ter uma idéia e finalizar, nos próximos artigos iremos editar o xml e consumir os webservices da NFE um abraço!!!.






using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Xml;


namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
 public void Salva_ArquivoXml() {
   try
   {   UTF8Encoding utf = new UTF8Encoding();
       XmlTextWriter textWriter = new XmlTextWriter("C:\\myXmFile.xml",utf);
       textWriter.WriteStartDocument();
       textWriter.WriteStartElement("Nfe","http://www.portalfiscal.inf.br/nfe");// Nó com tipo de Overload
       textWriter.WriteStartElement("infNFe");//Startando o elemento

        textWriter.WriteStartAttribute("Id");//Atributos do Nó
        textWriter.WriteString("Nfe" + "35090448124770000172550010000000020000000820");// escrevendo no atributo
        textWriter.WriteEndAttribute();// finalizando o atributo

        textWriter.WriteStartAttribute("versao");//Atributos do Nó
          textWriter.WriteString("1.10");
        textWriter.WriteEndAttribute();


         textWriter.WriteStartElement("ide");//ide
      
             
          textWriter.WriteStartElement("cUF");//Tag codigo Uf
          textWriter.WriteString("000001");// Código da Uf
          textWriter.WriteEndElement();

          textWriter.WriteStartElement("cNF");//Tag codigo Uf
          textWriter.WriteString("000000027");// Código da Nf
          textWriter.WriteEndElement();

          textWriter.WriteStartElement("natOp");//Tag codigo Uf
          textWriter.WriteString("VENDAS DE PRODUCAO DO ESTABELECIMENTO");// Natureza da Operação
          textWriter.WriteEndElement();

          textWriter.WriteStartElement("indPag");//Tag codigo Uf
          textWriter.WriteString("1");// indicacao de pagamento
          textWriter.WriteEndElement();

          textWriter.WriteStartElement("serie");//Tag codigo Uf
          textWriter.WriteString("1");// Série da Nota
          textWriter.WriteEndElement();

          textWriter.WriteStartElement("nNF");//Tag codigo Uf
          textWriter.WriteString("11");// Numero da NF
          textWriter.WriteEndElement();

          textWriter.WriteStartElement("dEmi");//Tag codigo Uf
          textWriter.WriteString("2009-05-18");// Data da Emissão
          textWriter.WriteEndElement();

          textWriter.WriteStartElement("dSaiEnt");//Tag codigo Uf
          textWriter.WriteString("2009-05-18");// Data da Saida
          textWriter.WriteEndElement();

          textWriter.WriteStartElement("tpNF");//Tag codigo Uf
          textWriter.WriteString("1");// Tipo da Nf
          textWriter.WriteEndElement();

          textWriter.WriteStartElement("cMunFG");//Tag codigo Uf
          textWriter.WriteString("5220280");// Código do municipio fator Gerador
          textWriter.WriteEndElement();

          textWriter.WriteStartElement("tpImp");//Tag codigo Uf
          textWriter.WriteString("1");// Tipo de impressao
          textWriter.WriteEndElement();

          textWriter.WriteStartElement("tpEmis");//Tag codigo Uf
          textWriter.WriteString("1");// Tipo de Emissao
          textWriter.WriteEndElement();

          textWriter.WriteStartElement("cDV");//Tag codigo Uf
          textWriter.WriteString("4");// Código verificador
          textWriter.WriteEndElement();

          textWriter.WriteStartElement("tpAmb");//Tag codigo Uf
          textWriter.WriteString("2");// Tipo de ambiente
          textWriter.WriteEndElement();

          textWriter.WriteStartElement("finNFe");//Tag codigo Uf
          textWriter.WriteString("1");// Finalidade da Nfe
          textWriter.WriteEndElement();

          textWriter.WriteStartElement("procEmi");//Tag codigo Uf
          textWriter.WriteString("1");// Proc Nfe
          textWriter.WriteEndElement();

          textWriter.WriteStartElement("verProc");//Tag codigo Uf
          textWriter.WriteString("1");// Versao da Proc Nfe
          textWriter.WriteEndElement();
        textWriter.WriteEndElement();//ide

        textWriter.WriteStartElement("emit");//ide

          textWriter.WriteStartElement("CNPJ");//Tag codigo Uf
          textWriter.WriteString("04140021000163");// CNPJ Emitente
          textWriter.WriteEndElement();

          textWriter.WriteStartElement("xNome");//Tag codigo Uf
          textWriter.WriteString("ACCESS");// Versao da Proc Nfe
          textWriter.WriteEndElement();

          textWriter.WriteStartElement("xFant");//Tag codigo Uf
          textWriter.WriteString("ACCESS");// Versao da Proc Nfe
          textWriter.WriteEndElement();

          textWriter.WriteStartElement("enderEmit");//Tag codigo Uf

            textWriter.WriteStartElement("xLgr");//Tag codigo Uf
            textWriter.WriteString("RUA JOAO DE CARVALHO");// Versao da Proc Nfe
            textWriter.WriteEndElement();

            textWriter.WriteStartElement("nro");//Tag codigo Uf
            textWriter.WriteString("15");// Versao da Proc Nfe
            textWriter.WriteEndElement();

            textWriter.WriteStartElement("xBairro");//Tag codigo Uf
            textWriter.WriteString("SE");// Versao da Proc Nfe
            textWriter.WriteEndElement();

            textWriter.WriteStartElement("cMun");//Tag codigo Uf
            textWriter.WriteString("5220280");// Versao da Proc Nfe
            textWriter.WriteEndElement();

            textWriter.WriteStartElement("xMun");//Tag codigo Uf
            textWriter.WriteString("SAO PATRICIO");// Versao da Proc Nfe
            textWriter.WriteEndElement();

            textWriter.WriteStartElement("UF");//Tag codigo Uf
            textWriter.WriteString("SP");// Versao da Proc Nfe
            textWriter.WriteEndElement();

            textWriter.WriteStartElement("CEP");//Tag codigo Uf
            textWriter.WriteString("SP");// Versao da Proc Nfe
            textWriter.WriteEndElement();

            textWriter.WriteStartElement("cPais");//Tag codigo Uf
            textWriter.WriteString("1058");// Versao da Proc Nfe
            textWriter.WriteEndElement();

            textWriter.WriteStartElement("xPais");//Tag codigo Uf
            textWriter.WriteString("Brasil");// Versao da Proc Nfe
            textWriter.WriteEndElement();

            ...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
21/05/2009 14:40:00





Artigo - Chave de Acesso NFe no Firebird 4/4

Como todos sabemos o código da chave da Nfe é gerado por uma série de regras como estas
cuf       =  código da unidade de federação do emitente
cnpj     =  cnpj do emitente
mod     =  Código do modelo do Documento Fiscal. Utilizar 55 para identificação da NF-e
serie    =  série da nota
nnf       =  Número do Documento Fiscal
aamm  =   data de emissão da nota
cnf       =   Código numérico que compõe a Chave de Acesso. Número aleatório gerado pelo emitente para cada NF-e

Sabendo destas regras e nomeado os parametros já sabemos como trabalhar na nfe a série é obrigatória ter três digitos por isso utilizamos a proc  procedure p_s_nfe_preenchenumero(serie,3,'0','E') que adiciona zeros a esquerda do mesmo modo a nnf e a cnf com nove digitos obrigatórios onde ...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
07/04/2009 12:48:00





Artigo - Preenchendo digitos a esquerda ou a direita Nfe Firebird 3/3

Olá pessoal neste artigo, vou mostrar como preencher digitos a esquerda e a direita e o simbolo que você quer preencher e a quantidade de vezes, tem alguns campos da Nfe que é necessário este preenchimento onde se entra com a Código que é o numero a ser preenchido, o numero de vezes a se repetir o preenchimento o simbolo se é um numero ou uma letra etc.. e o type é de que lado E esquerda e D direita espero que gostem pois não serve somente para a NFe




CREATE PROCEDURE P_S_NFE_PREENCHENUMERO (
    codigo varchar(100),
    vezes integer,
    simbolo varchar(100),
    "TYPE" char(1))
returns (
    result varchar(100))
as
declare variable tamanho integer;
begin
if (type='E') then
begin
while (char_length(:codigo) < :vezes) do
 begin
  codigo = simbolo||codigo ;
 end
 result = :codigo ;
end
if (type='D') then
begin
while (char_length(:codigo) < :vezes) do
 begin
  codigo = codigo||simbolo ;
 end
 result = :codigo ;
end


   suspend;
end


-->">
07/04/2009 09:17:00





Artigo - Data no Formato da Nfe no Firebird 1/1

Olá Galera estou aqui postando novamente sobre a Nfe o processo todo começa com a normalização do banco de dados com a inclusão dos codigos da uf e dos municipios o objetivo destes posts é extrair todos as informações do banco para poder extrair o XML este é o formato da data  da NFE. ops a  p_s_nfe_preenchenumero está no artigo Preenchendo digitos a esquerda ou a direita Nfe Firebird 3/3



CREATE PROCEDURE P_S_NFEFORMATADATA (
    data date)
returns (
    result varchar(12))
as
declare variable dia varchar(2);
declare variable mes varchar(2);
declare variable ano varchar(10);
begin

 dia = cast(extract(day from data)as varchar(2));
 mes = cast(extract(month from data)as varchar(2));
 ano = cast(extract(year from data)as varchar(10));

execute procedure p_s_nfe_preenchenumero(dia,2,'0','E')
returning_values :dia ;

execute procedure p_s_nfe_preenchenumero(mes,2,'0','E')
returning_values :mes ;

result  = ano||'-'||mes||'-'||dia;

  suspend;
end

-->">
07/04/2009 08:50:00





Artigo - Digito Verificador Nfe Firebird 2/2

Olá galera este é meu primeiro post espero que gostem a dica é sobre Nfe ufa!! para conseguir terminar este projeto em abril foi dose de leão mas, graças a Deus deu tudo certo ainda assim eu fiz apenas uma integraçao entre sistemas ai vai a rotina do digito verificador em firebird, há mod é uma udf. Abraços a todos e que deus abençoe a todos!!



CREATE PROCEDURE P_S_NFE_DIGITOVERIFICADOR (
    codigo varchar(100))
returns (
    result integer)
as
declare variable soma integer;
declare variable k integer;
declare variable contador integer;
declare variable digito integer;
declare variable inicial integer;
declare variable valor integer;
begin
k = 2;
soma = 0;
contador = char_length(:codigo);
result = 0;
inicial = char_length(:codigo);
while (contador <> 0  )do
begin
if (k > 9) then
begin
 k = 2;
end
valor = substring(:codigo from inicial for 1);
soma = soma + (valor * k);
contador = contador - 1 ;
k = k + 1 ;
inicial = inicial -1 ;
end
soma = mod(soma,11);
soma =(11 - soma);
if (soma >= 10) then
begin
  soma = 0;
end
result = soma ;

  suspend;
end^

-->">
06/04/2009 13:37:00





 
Foto não disponivel

Descrição não disponivel

Arquivo de atualizações
 2010
 2009

Estatísticas do Autor:
Número de posts: 6
Características dos posts deste autor:
Conteúdo:
Utilidade:
2 2
 
DevMedia Group - Tel: (21) 3382-5038 - www.devmedia.com.br
Todos os Direitos Reservados a DevMedia Group