private void CriaBloco0() { string[] strUNID = { "PC", "UN", "LT", "PC", "MT" }; int int0150; int int0175; int int0300; int int0190; int int0500; int int0600; // Alimenta o componente com informações para gerar todos os registros do // Bloco 0. cbConcomitante.Enabled = false; btnB_0.Enabled = false; btnB_C.Enabled = true; // Definindo ACBrSPEDFiscal1.DT_INI = Convert.ToDateTime("01/11/2011"); ACBrSPEDFiscal1.DT_FIN = Convert.ToDateTime("30/11/2011"); if (cbConcomitante.Checked) { ACBrSPEDFiscal1.LinhasBuffer = Convert.ToInt32(edBufLinhas.Text); //ACBrSPEDFiscal1.IniciaGeracao; LoadToMemo(); } var bloco0 = ACBrSPEDFiscal1.Bloco_0; // Dados da Empresa var registro0000 = bloco0.Registro0000; registro0000.COD_VER = VersaoLeiaute.Versao103; registro0000.COD_FIN = CodFinalidade.Original; registro0000.NOME = "RAZÃO SOCIAL DA EMPRESA EMITENTE"; registro0000.CNPJ = "11111111111180"; registro0000.CPF = ""; registro0000.UF = "RS"; registro0000.IE = "1111111119"; registro0000.COD_MUN = 4314902; registro0000.IM = ""; registro0000.SUFRAMA = ""; registro0000.IND_PERFIL = Perfil.PerfilA; registro0000.IND_ATIV = Atividade.Outros; var registro0001 = bloco0.Registro0001; registro0001.IND_MOV = IndicadorMovimento.ComDados; // FILHO - Dados complementares da Empresa var registro0005 = registro0001.Registro0005; registro0005.FANTASIA = "NOME FANTASSIA"; registro0005.CEP = "29900000"; registro0005.ENDERECO = "ENDEREÇO DA EMPRESA"; registro0005.NUM = "S/N"; registro0005.COMPL = ""; registro0005.BAIRRO = "BAIRRO"; registro0005.FONE = ""; registro0005.FAX = ""; registro0005.EMAIL = "*****@*****.**"; //registro0001.Registro0015.Add(new Registro0015() { IE_ST = "254504230", UF_ST = "SC" }); // FILHO - Dados do contador. var registro0100 = registro0001.Registro0100; registro0100.NOME = "SO CONFIE NO CONTADOR I"; registro0100.CPF = "12345678909"; // Deve ser uma informação valida registro0100.CRC = "65924"; registro0100.CNPJ = ""; registro0100.CEP = "92420020"; registro0100.ENDERECO = "R. NOME DA RUA"; registro0100.NUM = "450"; registro0100.COMPL = ""; registro0100.BAIRRO = "BAIRRO CONTADORES"; registro0100.FONE = ""; registro0100.FAX = ""; registro0100.EMAIL = "*****@*****.**"; registro0100.COD_MUN = 3200607; // Check(Reg0001.Registro0190.LocalizaRegistro(UNID), '(0-0190) UNIDADE MEDIDA: A unidade de medida "%s" foi duplicada na lista de registros 0190!', [UNID]); // FILHO for (int0150 = 1; int0150 <= 10; int0150++) { // 10 Clientes var registro0150 = new Registro0150(); registro0150.COD_PART = (int0150).ToString(); registro0150.NOME = "CLIENTE DE TESTES " + (int0150).ToString(); registro0150.COD_PAIS = "1058"; registro0150.CNPJ = "11111111111180"; registro0150.CPF = "12345678909"; registro0150.IE = ""; registro0150.COD_MUN = 43140070 + int0150; registro0150.SUFRAMA = ""; registro0150.ENDERECO = "ENDERECO CLIENTE" + (int0150).ToString(); registro0150.NUM = ""; registro0150.COMPL = "COMPLEMENTO" + (int0150).ToString(); registro0150.BAIRRO = "BAIRRO CLIENTE" + (int0150).ToString(); // FILHO - 1 Alteração para cada cliente de 2 a 3 if ((int0150 == 2) || (int0150 == 3)) { var registro0175 = new Registro0175(); registro0175.DT_ALT = bloco0.DT_INI.AddDays(1); registro0175.NR_CAMPO = "1"; registro0175.CONT_ANT = "CAMPO ANTERIOR " + '1'; registro0150.Registro0175.Add(registro0175); } registro0001.Registro0150.Add(registro0150); } // FILHO // 4 Unidades de medida // Const strUNID, esta declarada no inicio deste evento. for (int0190 = strUNID.GetLowerBound(0); int0190 <= strUNID.GetUpperBound(0); int0190++) { //@ Unsupported property or method(B): 'LocalizaRegistro' //if(!registro0001.Registro0190.LocalizaRegistro(strUNID[int0190]) { var registro0190 = new Registro0190(); registro0190.UNID = strUNID[int0190]; registro0190.DESCR = "Descricao " + strUNID[int0190]; registro0001.Registro0190.Add(registro0190); } } var registro0200 = new Registro0200(); registro0200.COD_ITEM = "000001"; registro0200.DESCR_ITEM = "PRODUTO 1"; registro0200.COD_BARRA = ""; registro0200.UNID_INV = "UN"; registro0200.TIPO_ITEM = TipoItem.MercadoriaRevenda; registro0200.COD_NCM = "30049026"; registro0200.COD_GEN = "30"; registro0200.ALIQ_ICMS = 17.00M; registro0001.Registro0200.Add(registro0200); // REGISTRO 0206: CÓDIGO DE PRODUTO CONFORME TABELA PUBLICADA PELA ANP (COMBUSTÍVEIS) // With Registro0206New do // begin // COD_COMB := '910101001'; // end; // FILHO for (int0300 = 1; int0300 <= 10; int0300++) { // 10 Bens Imobilizados var registro0300 = new Registro0300(); registro0300.COD_IND_BEM = string.Format("{0:000000}", int0300); registro0300.IDENT_MERC = 1; registro0300.DESCR_ITEM = "DESCRIÇÃO DO ITEM"; registro0300.COD_PRNC = ""; registro0300.COD_CTA = ""; registro0300.NR_PARC = 10; // FILHO var registro0305 = new Registro0305(); registro0305.COD_CCUS = "1"; registro0305.VIDA_UTIL = 60; registro0300.Registro0305.Add(registro0305); registro0001.Registro0300.Add(registro0300); } var registro0400 = new Registro0400(); registro0400.COD_NAT = "12020"; registro0400.DESCR_NAT = "DESCRIÇÃO DA NATUREZA DE OPERAÇÃO 12020"; registro0001.Registro0400.Add(registro0400); var registro0450 = new Registro0450(); registro0450.COD_INF = "000001"; registro0450.TXT = "INFORMAÇÃO COMPLEMENTAR DO DOCUMENTO FISCAL"; registro0001.Registro0450.Add(registro0450); var registro0460 = new Registro0460(); registro0460.COD_OBS = "000001"; registro0460.TXT = "TEXTO DE OBSERVAÇÃO DO DOCUMENTO FISCAL "; registro0001.Registro0460.Add(registro0460); for (int0500 = 1; int0500 <= 10; int0500++) { var registro0500 = new Registro0500(); registro0500.DT_ALT = Convert.ToDateTime("30/11/2011"); registro0500.COD_NAT_CC = "01"; registro0500.IND_CTA = "A"; registro0500.NIVEL = "1"; registro0500.COD_CTA = int0500.ToString(); registro0500.NOME_CTA = string.Format("CONTA CONTÁBIL {0}", int0500); registro0001.Registro0500.Add(registro0500); } for (int0600 = 1; int0600 <= 10; int0600++) { var registro0600 = new Registro0600(); registro0600.DT_ALT = Convert.ToDateTime("30/11/2011"); registro0600.COD_CCUS = (int0600).ToString(); registro0600.CCUS = string.Format("CENTRO DE CUSTOS {0}", int0600); registro0001.Registro0600.Add(registro0600); } if (cbConcomitante.Checked) { //@ Unsupported property or method(C): 'WriteBloco_0' //ACBrSPEDFiscal1.WriteBloco_0; LoadToMemo(); } }
public void GerarBloco0() { Empresa = new EmpresaDAL(Session).SelectId(IdEmpresa); ContadorDTO Contador = new NHibernateDAL <ContadorDTO>(Session).SelectId <ContadorDTO>(IdContador); consultaSql = "from ViewSpedNfeEmitenteDTO emitente where Id in (Select cab.Fornecedor.Id from NfeCabecalhoDTO as cab where cab.DataHoraEmissao BETWEEN " + Biblioteca.QuotedStr(DataInicial) + " and " + Biblioteca.QuotedStr(DataFinal) + ")"; IList <ViewSpedNfeEmitenteDTO> ListaEmitente = new NHibernateDAL <ViewSpedNfeEmitenteDTO>(Session).SelectListaSql <ViewSpedNfeEmitenteDTO>(consultaSql); consultaSql = "from ViewSpedNfeDestinatarioDTO destinatario where Id in (Select cab.Cliente.Id from NfeCabecalhoDTO as cab where cab.DataHoraEmissao BETWEEN " + Biblioteca.QuotedStr(DataInicial) + " and " + Biblioteca.QuotedStr(DataFinal) + ")"; IList <ViewSpedNfeDestinatarioDTO> ListaDestinatario = new NHibernateDAL <ViewSpedNfeDestinatarioDTO>(Session).SelectListaSql <ViewSpedNfeDestinatarioDTO>(consultaSql); consultaSql = "from ViewSpedNfeItemDTO item where Id in (Select det.Produto.Id from NfeDetalheDTO as det inner join det.NfeCabecalho as cab where cab.DataHoraEmissao BETWEEN " + Biblioteca.QuotedStr(DataInicial) + " and " + Biblioteca.QuotedStr(DataFinal) + ")"; IList <ViewSpedNfeItemDTO> ListaProduto = new NHibernateDAL <ViewSpedNfeItemDTO>(Session).SelectListaSql <ViewSpedNfeItemDTO>(consultaSql); IList <TributOperacaoFiscalDTO> ListaOperacaoFiscal = new NHibernateDAL <TributOperacaoFiscalDTO>(Session).Select(new TributOperacaoFiscalDTO()); var bloco0 = sped.getBloco0(); // Registro 0000: ABERTURA DO ARQUIVO DIGITAL E IDENTIFICAÇÃO DA ENTIDADE sped.getBloco0().getRegistro0000().setDtIni(System.DateTime.Parse(DataInicial)); sped.getBloco0().getRegistro0000().setDtFin(System.DateTime.Parse(DataFinal)); sped.getBloco0().getRegistro0000().setCodVer(VersaoLeiaute.ToString()); //sped.getBloco0().getRegistro0000().setCodFin(FinalidadeArquivo.ToString()); //sped.getBloco0().getRegistro0000().setIndPerfil(PerfilApresentacao.ToString()); sped.getBloco0().getRegistro0000().setNome(Empresa.RazaoSocial); sped.getBloco0().getRegistro0000().setCnpj(Empresa.Cnpj); sped.getBloco0().getRegistro0000().setCpf(""); sped.getBloco0().getRegistro0000().setIe(Empresa.InscricaoEstadual); sped.getBloco0().getRegistro0000().setCodMun(Empresa.CodigoIbgeCidade.Value); sped.getBloco0().getRegistro0000().setIm(Empresa.InscricaoMunicipal); sped.getBloco0().getRegistro0000().setSuframa(Empresa.Suframa); sped.getBloco0().getRegistro0000().setIndAtiv("1"); sped.getBloco0().getRegistro0000().setUf(Empresa.EnderecoPrincipal.Uf); // REGISTRO 0001: ABERTURA DO BLOCO 0 sped.getBloco0().getRegistro0001().setIndMov(0); // REGISTRO 0035: IDENTIFICAÇÃO DE SOCIEDADE EM CONTA DE PARTICIPAÇÃO – SCP //{ Não Implementado } // REGISTRO 0100: DADOS DO CONTABILISTA sped.getBloco0().getRegistro0100().setNome(Contador.Nome); sped.getBloco0().getRegistro0100().setCpf(Contador.Cpf); sped.getBloco0().getRegistro0100().setCpf(Contador.Cnpj); sped.getBloco0().getRegistro0100().setCrc(Contador.InscricaoCrc); sped.getBloco0().getRegistro0100().setCep(Contador.Cep); sped.getBloco0().getRegistro0100().setEndereco(Contador.Logradouro); sped.getBloco0().getRegistro0100().setNum(Contador.Numero); sped.getBloco0().getRegistro0100().setCompl(Contador.Complemento); sped.getBloco0().getRegistro0100().setBairro(Contador.Bairro); sped.getBloco0().getRegistro0100().setFone(Contador.Fone); sped.getBloco0().getRegistro0100().setFax(Contador.Fax); sped.getBloco0().getRegistro0100().setEmail(Contador.Email); sped.getBloco0().getRegistro0100().setCodMun(Contador.MunicipioIbge.Value); // REGISTRO 0110: REGIMES DE APURAÇÃO DA CONTRIBUIÇÃO SOCIAL E DE APROPRIAÇÃO DE CRÉDITO sped.getBloco0().getRegistro0110().setCodIncTrib("1"); sped.getBloco0().getRegistro0110().setIndAproCred("1"); sped.getBloco0().getRegistro0110().setCodTipoCont("1"); // REGISTRO 0111: TABELA DE RECEITA BRUTA MENSAL PARA FINS DE RATEIO DE CRÉDITOS COMUNS // REGISTRO 0120: IDENTIFICAÇÃO DE PERÍODOS DISPENSADOS DA ESCRITURAÇÃO FISCAL DIGITAL DAS CONTRIBUIÇÕES – EFD-CONTRIBUIÇÕES // { Não Implementados } // REGISTRO 0140: TABELA DE CADASTRO DE ESTABELECIMENTO sped.getBloco0().getRegistro0140().setCodEst("MATRIZ"); sped.getBloco0().getRegistro0140().setNome(Empresa.RazaoSocial); sped.getBloco0().getRegistro0140().setCnpj(Empresa.Cnpj); sped.getBloco0().getRegistro0140().setUf(Empresa.EnderecoPrincipal.Uf); sped.getBloco0().getRegistro0140().setIe(Empresa.InscricaoEstadual); sped.getBloco0().getRegistro0140().setCodMun(Empresa.CodigoIbgeCidade.Value); sped.getBloco0().getRegistro0140().setIm(Empresa.InscricaoMunicipal); sped.getBloco0().getRegistro0140().setSuframa(Empresa.Suframa); // REGISTRO 0145: REGIME DE APURAÇÃO DA CONTRIBUIÇÃO PREVIDENCIÁRIA SOBRE A RECEITA BRUTA // { Não Implementado } // REGISTRO 0150: TABELA DE CADASTRO DO PARTICIPANTE Registro0150 registro0150; foreach (ViewSpedNfeEmitenteDTO Emitente in ListaEmitente) { registro0150 = new Registro0150(); registro0150.setCodPart("F" + Emitente.Id); registro0150.setNome(Emitente.RazaoSocial); registro0150.setCodPais("01058"); if (Emitente.CpfCnpj.Length == 11) { registro0150.setCpf(Emitente.CpfCnpj); } else if (Emitente.CpfCnpj.Length == 14) { registro0150.setCnpj(Emitente.CpfCnpj); } registro0150.setIe(Emitente.InscricaoEstadual); registro0150.setCodMun(Emitente.CodigoMunicipio); registro0150.setSuframa(Emitente.Suframa); registro0150.setEndereco(Emitente.Logradouro); registro0150.setNum(Emitente.Numero); registro0150.setCompl(Emitente.Complemento); registro0150.setBairro(Emitente.Bairro); sped.getBloco0().getRegistro0140().getRegistro0150List().Add(registro0150); } foreach (ViewSpedNfeDestinatarioDTO Destinatario in ListaDestinatario) { registro0150 = new Registro0150(); registro0150.setCodPart("F" + Destinatario.Id); registro0150.setNome(Destinatario.RazaoSocial); registro0150.setCodPais("01058"); if (Destinatario.CpfCnpj.Length == 11) { registro0150.setCpf(Destinatario.CpfCnpj); } else if (Destinatario.CpfCnpj.Length == 14) { registro0150.setCnpj(Destinatario.CpfCnpj); } registro0150.setIe(Destinatario.InscricaoEstadual); registro0150.setCodMun(Destinatario.CodigoMunicipio); registro0150.setSuframa(Destinatario.Suframa); registro0150.setEndereco(Destinatario.Logradouro); registro0150.setNum(Destinatario.Numero); registro0150.setCompl(Destinatario.Complemento); registro0150.setBairro(Destinatario.Bairro); sped.getBloco0().getRegistro0140().getRegistro0150List().Add(registro0150); } //REGISTRO 0200: TABELA DE IDENTIFICAÇÃO DO ITEM (PRODUTO E SERVIÇOS) Registro0200 registro0200; ArrayList ListaSiglaUnidade = new ArrayList(); List <UnidadeProdutoDTO> ListaUnidade = new List <UnidadeProdutoDTO>(); foreach (ViewSpedNfeItemDTO Produto in ListaProduto) { registro0200 = new Registro0200(); registro0200.setCodItem(Produto.Id.ToString()); registro0200.setDescrItem(Produto.Nome); registro0200.setCodBarra(Produto.Gtin); //TEM QUE PREENCHER PARA INFORMAR NO 0205 registro0200.setCodAntItem(""); registro0200.setUnidInv(Produto.IdUnidadeProduto.ToString()); registro0200.setTipoItem(Produto.TipoItemSped); registro0200.setCodNcm(Produto.Ncm); registro0200.setExIpi(Produto.ExTipi); registro0200.setCodGen(Produto.Ncm.Substring(0, 2)); registro0200.setCodLst(Produto.CodigoLst); registro0200.setAliqIcms(Produto.AliquotaIcmsPaf); if (ListaSiglaUnidade.IndexOf(Produto.IdUnidadeProduto) == -1) { ListaSiglaUnidade.Add(Convert.ToString(Produto.IdUnidadeProduto)); UnidadeProdutoDTO Unidade = new UnidadeProdutoDTO(); Unidade.Id = Produto.IdUnidadeProduto; Unidade.Sigla = Produto.Sigla; ListaUnidade.Add(Unidade); } consultaSql = "from ProdutoAlteracaoItemDTO item where item.DataInicial BETWEEN " + Biblioteca.QuotedStr(DataInicial) + " and " + Biblioteca.QuotedStr(DataFinal); IList <ProdutoAlteracaoItemDTO> ListaProdutoAlterado = new NHibernateDAL <ProdutoAlteracaoItemDTO>(Session).SelectListaSql <ProdutoAlteracaoItemDTO>(consultaSql); // REGISTRO 0205: ALTERAÇÃO DO ITEM Registro0205 registro0205; foreach (ProdutoAlteracaoItemDTO ProdutoAlterado in ListaProdutoAlterado) { registro0205 = new Registro0205(); registro0205.setDescrAntItem(ProdutoAlterado.Nome); registro0205.setDtIni(ProdutoAlterado.DataInicial.Value); registro0205.setDtFin(ProdutoAlterado.DataFinal.Value); registro0205.setCodAntItem(ProdutoAlterado.Codigo); registro0200.getRegistro0205List().Add(registro0205); } sped.getBloco0().getRegistro0140().getRegistro0200List().Add(registro0200); } // REGISTRO 0190: IDENTIFICAÇÃO DAS UNIDADES DE MEDIDA Registro0190 registro0190; foreach (UnidadeProdutoDTO Unidade in ListaUnidade) { registro0190 = new Registro0190(); registro0190.setUnid(Unidade.Id.ToString()); registro0190.setDescr(Unidade.Sigla); sped.getBloco0().getRegistro0140().getRegistro0190List().Add(registro0190); } // REGISTRO 0206: CÓDIGO DE PRODUTO CONFORME TABELA PUBLICADA PELA ANP (COMBUSTÍVEIS) // { Não Implementado } // REGISTRO 0208: CÓDIGO DE GRUPOS POR MARCA COMERCIAL– REFRI (BEBIDAS FRIAS). // { Não Implementado } // REGISTRO 0400: TABELA DE NATUREZA DA OPERAÇÃO/PRESTAÇÃO Registro0400 registro0400; foreach (TributOperacaoFiscalDTO OperacaoFiscal in ListaOperacaoFiscal) { registro0400 = new Registro0400(); registro0400.setCodNat(OperacaoFiscal.Id.ToString()); registro0400.setDescrNat(OperacaoFiscal.DescricaoNaNf); } // REGISTRO 0450: TABELA DE INFORMAÇÃO COMPLEMENTAR DO DOCUMENTO FISCAL //{ Não Implementado } // REGISTRO 0500: PLANO DE CONTAS CONTÁBEIS //{ Não Implementado } // REGISTRO 0600: CENTRO DE CUSTOS //{ Não Implementado } }
static void Main(string[] args) { Registro reg = new Registro(); Registro0000 reg0000 = new Registro0000(); Registro0400 reg0400 = new Registro0400(); Registro0430 reg0430 = new Registro0430(); string pathfile = "D:\\teste.txt"; List <Registro0000> listaderegistros0000 = new List <Registro0000>(); List <Registro0400> listaderegistros0400 = new List <Registro0400>(); List <Registro0430> listaderegistros0430 = new List <Registro0430>(); string caminhoarquivosaida = "D:\\testeescrita.txt"; StreamWriter sw = new StreamWriter(caminhoarquivosaida); //FileStream fs = new FileStream(pathfile,FileMode.Open); StreamReader sr = new StreamReader(pathfile); int numerodelinhas = 0; Regex re = new Regex("\r\n"); String stringReader = sr.ReadToEnd(); numerodelinhas = (re.Matches(stringReader).Count + 1); for (int i = 1; i <= numerodelinhas + 1; i++) { switch (reg.RetornaTipoRegistro(i, pathfile)) { case "0000": { listaderegistros0000.Add(reg0000.RetornaRegistro(i, pathfile)); break; } case "0400": { listaderegistros0400.Add(reg0400.RetornaRegistro(i, pathfile)); break; } case "0430": { listaderegistros0430.Add(reg0430.RetornaRegistro(i, pathfile)); break; } } } for (int i = 1; i <= numerodelinhas + 1; i++) { foreach (Registro0000 r in listaderegistros0000) { if (r.num_linha == i.ToString()) { Console.WriteLine(r.num_linha + "|" + r.reg + "|" + r.CNPJ + "|" + r.Nome + "|" + r.Tipo_Inti + "|" + r.Cod_Munc + "|" + r.Ano_Mes_Inic_Cmpe + "|" + r.Ano_Mes_Fim_Cmpe + "|" + r.Modu_Decl + "|" + r.Tipo_Decl + "|" + r.Prtc_Decl_Ante + "|" + r.Tipo_Cnso + "|" + r.CNPJ_Resp_Rclh + "|" + r.Idn_Versao + "|" + r.Tipo_Arred); } } foreach (Registro0400 r in listaderegistros0400) { if (r.num_linha == i.ToString()) { Console.WriteLine(r.num_linha + "|" + r.reg + "|" + r.cod_depe + "|" + r.indr_insc_munl + "|" + r.cnpj_proprio + "|" + r.tipo_depe + "|" + r.endr_depe + "|" + r.cnpj_unif + "|" + r.cod_munc + "|" + r.ctbl_propria + "|" + r.dat_inic_para + "|" + r.dat_fim_para); } } foreach (Registro0430 r in listaderegistros0430) { if (r.num_linha == i.ToString()) { Console.WriteLine(r.num_linha + "|" + r.reg + "|" + r.cod_depe + "|" + r.Sub_Titu + "|" + r.Des_Mista + "|" + r.Cod_Trib_DESIF + "|" + r.Valr_Cred_Mens + "|" + r.Valr_Debt_Mens + "|" + r.Rece_Decl + "|" + r.Dedu_Rece_Decl + "|" + r.Desc_Dedu + "|" + r.Base_Calc + "|" + r.Aliq_ISSQN + "|" + r.Inct_Fisc + "|" + r.Desc_Inct_Fisc + "|" + r.Valr_ISSQN_Retd + "|" + r.Motv_Nao_Exig + "|" + r.Proc_Motv_Nao_Exig); } } } //sw.Close(); Console.WriteLine(); Console.WriteLine("Quantidade de registros 0000 adicionados " + listaderegistros0000.Count); Console.WriteLine("Quantidade de registros 0400 adicionados " + listaderegistros0400.Count); Console.WriteLine("Quantidade de registros 0430 adicionados " + listaderegistros0430.Count); Console.ReadLine(); }