private void ProcessarDadosGeraisPorEmpresa() { this.UpdateStatusAsynchronousExecution("Gerando Registro 0140"); // GetEmpresasFiliais(UndTrabalho.CodigoEmpresa); List <Registro0140> lreg0140 = DadosGeraisService.GetRegistro0140(UndTrabalho.CodigoEmpresa).ToList(); // Verificar foreach (Registro0140 reg0140 in lreg0140) { DadosArquivoPisCofinsService.PersistirRegistro(reg0140); foreach (validacao validaProd in contribuintes.Where(c => c.codEmp == reg0140.COD_EST)) { Registro0150 reg0150 = validaProd.registro as Registro0150; this.UpdateStatusAsynchronousExecution("Gerando Registro 0150"); DadosArquivoPisCofinsService.PersistirRegistro(reg0150); } foreach (validacao validaUM in unidades.Where(c => c.codEmp == reg0140.COD_EST)) { Registro0190 reg0190 = validaUM.registro as Registro0190; this.UpdateStatusAsynchronousExecution("Gerando Registro 0190"); DadosArquivoPisCofinsService.PersistirRegistro(reg0190); } foreach (validacao validaProd in produtos.Where(c => c.codEmp == reg0140.COD_EST)) { Registro0200 reg0200 = validaProd.registro as Registro0200; this.UpdateStatusAsynchronousExecution("Gerando Registro 0200"); DadosArquivoPisCofinsService.PersistirRegistro(reg0200); } this.UpdateStatusAsynchronousExecution("Gerando Registro 0400"); foreach (Registro0400 reg0400 in DadosGeraisService.GetRegistro0400(reg0140.COD_EST)) { DadosArquivoPisCofinsService.PersistirRegistro(reg0400); } this.UpdateStatusAsynchronousExecution("Gerando Registro 0500"); foreach (Registro0500 reg0500 in DadosGeraisService.GetRegistro0500(reg0140.COD_EST)) { DadosArquivoPisCofinsService.PersistirRegistro(reg0500); } } }
private void ProcessarProduto(string codigoProduto) { if (String.IsNullOrWhiteSpace(codigoProduto)) { return; } IEnumerable <Registro0220> lreg220; if (!dadosArquivoContmaticService.RegistroJaExistente("0200", codigoProduto)) { // Apenas persiste uma unidade se a mesma ainda não tiver sido processada this.UpdateStatusAsynchronousExecution("Gerando Registro 0200"); Registro0200 reg0200 = produtosService.GetRegistro0200(codigoProduto); if (reg0200 != null) { dadosArquivoContmaticService.PersistirRegistro(reg0200); this.ProcessarUnidade(reg0200.UNID_INV); lreg220 = produtosService.GetRegistros0220(reg0200.COD_ITEM); foreach (Registro0220 item in lreg220) { this.UpdateStatusAsynchronousExecution("Gerando Registros 0220"); //item.FAT_CONV if (!dadosArquivoContmaticService.RegistroJaExistente("0190", item.UNID_CONV)) { // Apenas persiste uma unidade se a mesma ainda não tiver sido processada this.UpdateStatusAsynchronousExecution("Gerando Registro 0190"); Registro0190 reg0190 = unidadesService.GetRegistro0190(item.UNID_CONV); if (reg0190 != null) { dadosArquivoContmaticService.PersistirRegistro(reg0190); } } dadosArquivoContmaticService.PersistirRegistro(item); } } } }
private void ProcessarProduto(string codigoProduto, string codEmp) { if (String.IsNullOrWhiteSpace(codigoProduto)) { return; } Registro0200 reg0200 = ProdutosService.GetRegistro0200(codigoProduto, codEmp); if (reg0200 != null) { //if (!DadosArquivoPisCofinsService.RegistroJaExistente("0200", codigoProduto)) if (produtos.Where(c => c.codEmp == codEmp && c.registro.ToString() == reg0200.ToString()).Count() == 0) { // Apenas persiste uma unidade se a mesma ainda não tiver sido processada //this.UpdateStatusAsynchronousExecution("Gerando Registro 0200"); //DadosArquivoPisCofinsService.PersistirRegistro(reg0200); produtos.Add(new validacao { codEmp = codEmp, registro = reg0200 }); this.ProcessarUnidade(reg0200.UNID_INV, codEmp); } } }
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 } }
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(); } }
// Bloco 0 public static void GerarBloco0() { EmpresaVO Empresa = new EmpresaController().PegaEmpresa(FCaixa.Configuracao.IdEmpresa); ContadorVO Contador = new ContadorController().PegaContador(); List <UnidadeProdutoVO> ListaUnidade = new UnidadeController().UnidadeSPED(DataInicial, DataFinal); List <ProdutoVO> ListaProduto = new ProdutoController().ConsultaProdutoSPED(DataInicial, DataFinal, PerfilApresentacao); List <ClienteVO> ListaCliente = new ClienteController().ConsultaClienteSPED(DataInicial, DataFinal); if ((ListaUnidade == null) || (ListaProduto == null)) { MessageBox.Show("Não há venda no período selecionado" + "\r" + "e ou a data informada é inválida", "Informação do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } var Bloco0 = FDataModule.ACBrSpedFiscal.Bloco_0; // Registro0000 - Dados da Empresa var Registro0000 = Bloco0.Registro0000; switch (VersaoLeiaute) { case 0: Registro0000.COD_VER = ACBrFramework.Sped.VersaoLeiaute.Versao100; break; case 1: Registro0000.COD_VER = ACBrFramework.Sped.VersaoLeiaute.Versao101; break; case 2: Registro0000.COD_VER = ACBrFramework.Sped.VersaoLeiaute.Versao102; break; case 3: Registro0000.COD_VER = ACBrFramework.Sped.VersaoLeiaute.Versao103; break; } switch (FinalidadeArquivo) { case 0: Registro0000.COD_FIN = ACBrFramework.Sped.CodFinalidade.Original; break; case 1: Registro0000.COD_FIN = ACBrFramework.Sped.CodFinalidade.Substituto; break; } switch (PerfilApresentacao) { case 0: Registro0000.IND_PERFIL = ACBrFramework.Sped.Perfil.PerfilA; break; case 1: Registro0000.IND_PERFIL = ACBrFramework.Sped.Perfil.PerfilB; break; case 2: Registro0000.IND_PERFIL = ACBrFramework.Sped.Perfil.PerfilC; break; } Registro0000.NOME = Empresa.RazaoSocial; Registro0000.CNPJ = Empresa.Cnpj; Registro0000.CPF = ""; Registro0000.UF = Empresa.Uf; Registro0000.IE = Empresa.InscricaoEstadual; Registro0000.COD_MUN = Empresa.CodigoIbgeCidade; Registro0000.IM = Empresa.InscricaoMunicipal; Registro0000.SUFRAMA = Empresa.Suframa; // 0 - Industrial ou equiparado a industrial; // 1 - Outros. Registro0000.IND_ATIV = ACBrFramework.Sped.Atividade.Outros; // Registro0001 var Registro0001 = Bloco0.Registro0001; // Indicador de movimento: Registro0001.IND_MOV = ACBrFramework.Sped.IndicadorMovimento.ComDados; //Registro0005 - FILHO - Dados complementares da Empresa var Registro0005 = Registro0001.Registro0005; Registro0005.FANTASIA = Empresa.NomeFantasia; Registro0005.CEP = Empresa.Cep; Registro0005.ENDERECO = Empresa.Logradouro; Registro0005.NUM = Empresa.Numero; Registro0005.COMPL = Empresa.Complemento; Registro0005.BAIRRO = Empresa.Bairro; Registro0005.FONE = Empresa.Fone; Registro0005.FAX = Empresa.Fax; Registro0005.EMAIL = Empresa.Email; //Registro0100 - FILHO - Dados do contador. var Registro0100 = Registro0001.Registro0100; Registro0100.NOME = Contador.Nome; Registro0100.CPF = Contador.CPF; Registro0100.CRC = Contador.CRC; Registro0100.CNPJ = Contador.CNPJ; Registro0100.CEP = Contador.CEP; Registro0100.ENDERECO = Contador.Logradouro; Registro0100.NUM = Convert.ToString(Contador.Numero); Registro0100.COMPL = Contador.Complemento; Registro0100.BAIRRO = Contador.Bairro; Registro0100.FONE = Contador.Fone; Registro0100.FAX = Contador.Fax; Registro0100.EMAIL = Contador.Email; Registro0100.COD_MUN = Contador.CodigoMunicipio; // Lista de cliente da nfe //Registro0150 if (ListaCliente != null) { for (int i = 0; i <= ListaCliente.Count - 1; i++) { var Registro0150 = new Registro0150(); Registro0150.COD_PART = Convert.ToString(ListaCliente[i].Id); Registro0150.NOME = ListaCliente[i].Nome; Registro0150.COD_PAIS = "01058"; if (ListaCliente[i].TipoPessoa == "F") { Registro0150.CPF = ListaCliente[i].CpfOuCnpj; } else { Registro0150.CNPJ = ListaCliente[i].CpfOuCnpj; } Registro0150.IE = ListaCliente[i].InscricaoEstadual; Registro0150.COD_MUN = ListaCliente[i].CodigoIbgeCidade.Value; Registro0150.SUFRAMA = ""; Registro0150.ENDERECO = ListaCliente[i].Logradouro; Registro0150.NUM = ListaCliente[i].Numero; Registro0150.COMPL = ListaCliente[i].Complemento; Registro0150.BAIRRO = ListaCliente[i].Bairro; Registro0001.Registro0150.Add(Registro0150); } } // FILHO - Identificação das unidades de medida //Registro0190 for (int i = 0; i <= ListaUnidade.Count - 1; i++) { var Registro0190 = new Registro0190(); Registro0190.UNID = Convert.ToString(ListaUnidade[i].Id); Registro0190.DESCR = ListaUnidade[i].Nome; Registro0001.Registro0190.Add(Registro0190); } // FILHO - Tabela de Identificação do Item (Produtos e Serviços) //Registro0200 for (int i = 0; i <= ListaProduto.Count - 1; i++) { var Registro0200 = new Registro0200(); Registro0200.COD_ITEM = Convert.ToString(ListaProduto[i].Id); Registro0200.DESCR_ITEM = ListaProduto[i].Nome; Registro0200.COD_BARRA = ListaProduto[i].GTIN; Registro0200.COD_ANT_ITEM = ""; Registro0200.UNID_INV = Convert.ToString(ListaProduto[i].IdUnidade); switch (Convert.ToInt32(ListaProduto[i].TipoItemSped)) { case 0: Registro0200.TIPO_ITEM = TipoItem.MercadoriaRevenda; break; case 1: Registro0200.TIPO_ITEM = TipoItem.MateriaPrima; break; case 2: Registro0200.TIPO_ITEM = TipoItem.Embalagem; break; case 3: Registro0200.TIPO_ITEM = TipoItem.ProdutoProcesso; break; case 4: Registro0200.TIPO_ITEM = TipoItem.ProdutoAcabado; break; case 5: Registro0200.TIPO_ITEM = TipoItem.Subproduto; break; case 6: Registro0200.TIPO_ITEM = TipoItem.ProdutoIntermediario; break; case 7: Registro0200.TIPO_ITEM = TipoItem.MaterialConsumo; break; case 8: Registro0200.TIPO_ITEM = TipoItem.AtivoImobilizado; break; case 9: Registro0200.TIPO_ITEM = TipoItem.Servicos; break; case 10: Registro0200.TIPO_ITEM = TipoItem.OutrosInsumos; break; case 99: Registro0200.TIPO_ITEM = TipoItem.Outras; break; } Registro0200.COD_NCM = ListaProduto[i].NCM; Registro0200.EX_IPI = ""; Registro0200.COD_GEN = ListaProduto[i].NCM.Substring(2, 1); Registro0200.COD_LST = ""; Registro0200.ALIQ_ICMS = ListaProduto[i].AliquotaICMS; Registro0001.Registro0200.Add(Registro0200); } }