private void GerarBloco0() { //Endereco entidade OpenPOS.Model.Cadastro.Pessoa.IEndereco endereco = Settings.EmpresaAtual.Enderecos.First(w => w.Principal) ?? new OpenPOS.Data.Cadastro.Pessoa.Endereco(); //Canais de comunicao da Entidade ICanalComunicacao canalfone = Settings.EmpresaAtual.CanaisComunicacao.FirstOrDefault(w => w.Principal && w.TipoCanal == Enuns.Cadastro.Pessoa.TipoCanal.Telefone) ?? new OpenPOS.Data.Cadastro.Pessoa.CanalComunicacao(); ICanalComunicacao canalfax = Settings.EmpresaAtual.CanaisComunicacao.FirstOrDefault(w => w.Principal && w.TipoCanal == Enuns.Cadastro.Pessoa.TipoCanal.Fax) ?? new OpenPOS.Data.Cadastro.Pessoa.CanalComunicacao(); ICanalComunicacao canalemail = Settings.EmpresaAtual.CanaisComunicacao.FirstOrDefault(w => w.Principal && w.TipoCanal == Enuns.Cadastro.Pessoa.TipoCanal.EMail) ?? new OpenPOS.Data.Cadastro.Pessoa.CanalComunicacao(); //Contador endereco OpenPOS.Model.Cadastro.Pessoa.IEndereco contadorendereco = Settings.EmpresaAtual.Contador.Enderecos.FirstOrDefault(w => w.Principal) ?? new OpenPOS.Data.Cadastro.Pessoa.Endereco(); //Canais de comunicao do Contator ICanalComunicacao canalcontadorfone = Settings.EmpresaAtual.Contador.CanaisComunicacao.FirstOrDefault(w => w.Principal && w.TipoCanal == Enuns.Cadastro.Pessoa.TipoCanal.Telefone) ?? new OpenPOS.Data.Cadastro.Pessoa.CanalComunicacao(); ICanalComunicacao canalcontadorfax = Settings.EmpresaAtual.Contador.CanaisComunicacao.FirstOrDefault(w => w.Principal && w.TipoCanal == Enuns.Cadastro.Pessoa.TipoCanal.Fax) ?? new OpenPOS.Data.Cadastro.Pessoa.CanalComunicacao(); ICanalComunicacao canalcontadoremail = Settings.EmpresaAtual.Contador.CanaisComunicacao.FirstOrDefault(w => w.Principal && w.TipoCanal == Enuns.Cadastro.Pessoa.TipoCanal.EMail) ?? new OpenPOS.Data.Cadastro.Pessoa.CanalComunicacao(); // BLOCO 0: ABERTURA, IDENTIFICAÇÃO E REFERÊNCIAS. ACBrSPED.Bloco_0.Registro0000.COD_VER = ACBrFramework.Sped.VersaoLeiaute.Versao106; ACBrSPED.Bloco_0.Registro0000.COD_FIN = ACBrFramework.Sped.CodFinalidade.Original; ACBrSPED.Bloco_0.Registro0000.DT_INI = ACBrSPED.DT_INI; ACBrSPED.Bloco_0.Registro0000.DT_FIN = ACBrSPED.DT_FIN; ACBrSPED.Bloco_0.Registro0000.NOME = Settings.EmpresaAtual.RazaoSocial; ACBrSPED.Bloco_0.Registro0000.CNPJ = Unimake.Utilities.OnlyNumbers(Settings.EmpresaAtual.Juridica.CNPJ, "-.", false).ToString(); ACBrSPED.Bloco_0.Registro0000.CPF = null; ACBrSPED.Bloco_0.Registro0000.UF = endereco.Endereco.Municipio.Estado.UF; ACBrSPED.Bloco_0.Registro0000.IE = Utilities.OnlyNumbers(Settings.EmpresaAtual.Juridica.IE, "-", false).ToString(); ACBrSPED.Bloco_0.Registro0000.COD_MUN = Unimake.Convert.ToInt(endereco.Endereco.Municipio.CodigoIBGE); ACBrSPED.Bloco_0.Registro0000.IM = Settings.EmpresaAtual.Juridica.IM; ACBrSPED.Bloco_0.Registro0000.SUFRAMA = Settings.EmpresaAtual.Juridica.ISuf; ACBrSPED.Bloco_0.Registro0000.IND_PERFIL = ACBrFramework.Sped.Perfil.PerfilA; ACBrSPED.Bloco_0.Registro0000.IND_ATIV = ACBrFramework.Sped.Atividade.Outros; //REGISTRO 0001: ABERTURA DO BLOCO 0 // Nao precisa gerar pois o proprio ja gera esse registro //REGISTRO 0005: DADOS COMPLEMENTARES DA ENTIDADE ACBrSPED.Bloco_0.Registro0001.Registro0005.FANTASIA = Settings.EmpresaAtual.NomeFantasia; ACBrSPED.Bloco_0.Registro0001.Registro0005.CEP = Utilities.OnlyNumbers(endereco.Endereco.CEP, "-", false).ToString(); ACBrSPED.Bloco_0.Registro0001.Registro0005.ENDERECO = endereco.Endereco.Logradouro.Descricao; ACBrSPED.Bloco_0.Registro0001.Registro0005.NUM = endereco.Numero.ToString(); ACBrSPED.Bloco_0.Registro0001.Registro0005.COMPL = endereco.Complemento; ACBrSPED.Bloco_0.Registro0001.Registro0005.BAIRRO = endereco.Endereco.Bairro.Descricao; ACBrSPED.Bloco_0.Registro0001.Registro0005.FONE = Utilities.OnlyNumbers(canalfone.IdentificadorCanal, false).ToString(); ACBrSPED.Bloco_0.Registro0001.Registro0005.FAX = Utilities.OnlyNumbers(canalfax.IdentificadorCanal, false).ToString(); ACBrSPED.Bloco_0.Registro0001.Registro0005.EMAIL = canalemail.IdentificadorCanal; //REGISTRO 0100: DADOS DO CONTABILISTA ACBrSPED.Bloco_0.Registro0001.Registro0100.NOME = Settings.EmpresaAtual.Contador.NomeFantasia; ACBrSPED.Bloco_0.Registro0001.Registro0100.CPF = Utilities.OnlyNumbers(Settings.EmpresaAtual.Contador.GetCPFCNPJ(), "-.", false).ToString(); ACBrSPED.Bloco_0.Registro0001.Registro0100.CRC = Utilities.OnlyNumbers(Settings.EmpresaAtual.Contador.CRC, false).ToString(); ACBrSPED.Bloco_0.Registro0001.Registro0100.CNPJ = Utilities.OnlyNumbers(Settings.EmpresaAtual.Contador.Juridica.CNPJ, "-.", false).ToString(); ACBrSPED.Bloco_0.Registro0001.Registro0100.CEP = Utilities.OnlyNumbers(contadorendereco.Endereco.CEP, "-", false).ToString(); ACBrSPED.Bloco_0.Registro0001.Registro0100.ENDERECO = contadorendereco.Endereco.Endereco; ACBrSPED.Bloco_0.Registro0001.Registro0100.NUM = contadorendereco.Numero.ToString(); ACBrSPED.Bloco_0.Registro0001.Registro0100.COMPL = contadorendereco.Complemento; ACBrSPED.Bloco_0.Registro0001.Registro0100.BAIRRO = contadorendereco.Endereco.Bairro.Descricao; ACBrSPED.Bloco_0.Registro0001.Registro0100.FONE = Utilities.OnlyNumbers(canalcontadorfone.IdentificadorCanal, "-", false).ToString(); ACBrSPED.Bloco_0.Registro0001.Registro0100.FAX = Utilities.OnlyNumbers(canalcontadorfax.IdentificadorCanal, "-", false).ToString(); ACBrSPED.Bloco_0.Registro0001.Registro0100.EMAIL = canalcontadoremail.IdentificadorCanal; ACBrSPED.Bloco_0.Registro0001.Registro0100.COD_MUN = 0; // TODO: osmir Convert.ToInt(contadorendereco.Endereco.Municipio.CodigoIBGE); var clientes = (from c in Cupons group c by c.DadoPessoa.Cliente.GUID into g select new { cliente = g.First().DadoPessoa.Cliente }); foreach(var c in clientes) { IPessoa cliente = c.cliente; ACBrFramework.Sped.Registro0150 reg = new ACBrFramework.Sped.Registro0150(); Model.Cadastro.Pessoa.IEndereco enderecoCli = cliente.Enderecos.FirstOrDefault(w => w.Principal) ?? new Data.Cadastro.Pessoa.Endereco(); reg.COD_PART = cliente.EGUID; reg.NOME = cliente.RazaoSocial; reg.COD_PAIS = "01058"; reg.CNPJ = Utilities.OnlyNumbers(cliente.Juridica.CNPJ, "-.", false).ToString(); reg.CPF = Utilities.OnlyNumbers(cliente.Fisica.CPF, ".-", false).ToString(); reg.IE = Utilities.OnlyNumbers(cliente.Juridica.IE.IE, "-.", false).ToString(); reg.COD_MUN = Unimake.Convert.ToInt(enderecoCli.Endereco.Municipio.CodigoIBGE); reg.SUFRAMA = cliente.Juridica.ISuf; reg.ENDERECO = String.Format("{0} {1}", enderecoCli.Endereco.Logradouro, enderecoCli.Endereco.Endereco); reg.NUM = enderecoCli.Numero.ToString(); reg.COMPL = null; reg.BAIRRO = null; ACBrSPED.Bloco_0.Registro0001.Registro0150.Add(reg); } #region 190 //REGISTRO 0190: IDENTIFICAÇÃO DAS UNIDADES DE MEDIDA ACBrSPED.Bloco_0.Registro0001.Registro0190.AddRange((from c in Cupons from i in c.Itens group i by i.Unidade.Prefixo into g select new Registro0190 { UNID = g.Key, DESCR = g.First().Unidade.Descricao, }).ToArray<Registro0190>()); #endregion #region 0200 //REGISTRO 0200: TABELA DE IDENTIFICAÇÃO DO ITEM (PRODUTO E SERVIÇOS) var itens = (from c in Cupons from i in c.Itens group i by i.ItemMovimentado.GUID into g select new { produto = g.First().ItemMovimentado }); foreach(var i in itens) { Model.Cadastro.Item.Produto.IProduto item = i.produto as Model.Cadastro.Item.Produto.IProduto; ACBrFramework.Sped.Registro0200 reg = new ACBrFramework.Sped.Registro0200(); reg.COD_ITEM = item.EGUID; reg.DESCR_ITEM = item.Descricao; reg.COD_BARRA = item.CodigosBarras.First(w => w.Tipo == Enuns.Cadastro.Item.TipoCodigoBarra.GTIN_13).Codigo; reg.COD_ANT_ITEM = null; reg.UNID_INV = item.Unidade.Prefixo; reg.TIPO_ITEM = ACBrFramework.Sped.TipoItem.ProdutoAcabado; reg.COD_NCM = Utilities.OnlyNumbers(item.NCM, false).ToString(); reg.EX_IPI = null; reg.COD_GEN = null; reg.COD_LST = null; reg.ALIQ_ICMS = 0; ACBrSPED.Bloco_0.Registro0001.Registro0200.Add(reg); } #endregion }
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(); } }