public void GerarBlocoC() { consultaSql = "from EcfNotaFiscalCabecalhoDTO where DataEmissao BETWEEN " + Biblioteca.QuotedStr(DataInicial) + " and " + Biblioteca.QuotedStr(DataFinal); IList <EcfNotaFiscalCabecalhoDTO> ListaNF2Cabecalho = new NHibernateDAL <EcfNotaFiscalCabecalhoDTO>(Session).SelectListaSql <EcfNotaFiscalCabecalhoDTO>(consultaSql); consultaSql = "from EcfNotaFiscalCabecalhoDTO where Cancelada='S' and DataEmissao BETWEEN " + Biblioteca.QuotedStr(DataInicial) + " and " + Biblioteca.QuotedStr(DataFinal); IList <EcfNotaFiscalCabecalhoDTO> ListaNF2CabecalhoCanceladas = new NHibernateDAL <EcfNotaFiscalCabecalhoDTO>(Session).SelectListaSql <EcfNotaFiscalCabecalhoDTO>(consultaSql); consultaSql = "from NfeCabecalhoDTO where DataHoraEmissao BETWEEN " + Biblioteca.QuotedStr(DataInicial) + " and " + Biblioteca.QuotedStr(DataFinal); IList <NfeCabecalhoDTO> ListaNFeCabecalho = new NHibernateDAL <NfeCabecalhoDTO>(Session).SelectListaSql <NfeCabecalhoDTO>(consultaSql); var BlocoC = sped.getBlocoC(); // REGISTRO C001: ABERTURA DO BLOCO C sped.getBlocoC().getRegistroC001().setIndMov(0); // REGISTRO C010: IDENTIFICAÇÃO DO ESTABELECIMENTO sped.getBlocoC().getRegistroC010().setCnpj(Empresa.Cnpj); sped.getBlocoC().getRegistroC010().setIndEscri("2"); // 1 – Apuração com base nos registros de consolidaçãodas operações por NF-e (C180 e C190) e por ECF (C490); // 2 – Apuração com base no registro individualizado de NF-e (C100 e C170) e de ECF (C400) if (ListaNFeCabecalho != null) { RegistroC100 registroC100; foreach (NfeCabecalhoDTO NFeCabecalho in ListaNFeCabecalho) { registroC100 = new RegistroC100(); registroC100.setIndOper(NFeCabecalho.TipoOperacao.Value.ToString()); registroC100.setIndEmit("0"); // 0 - Emissao Propria if (NFeCabecalho.Cliente != null) { registroC100.setCodPart("C" + NFeCabecalho.Cliente.Id.ToString()); } else if (NFeCabecalho.Fornecedor != null) { registroC100.setCodPart("F" + NFeCabecalho.Fornecedor.Id.ToString()); } registroC100.setCodMod(NFeCabecalho.CodigoModelo); /* * 4.1.2- Tabela Situação do Documento * Código Descrição * 00 Documento regular * 01 Documento regular extemporâneo * 02 Documento cancelado * 03 Documento cancelado extemporâneo * 04 NFe denegada * 05 Nfe – Numeração inutilizada * 06 Documento Fiscal Complementar * 07 Documento Fiscal Complementar extemporâneo. * 08 Documento Fiscal emitido com base em Regime Especial ou Norma Específica */ if (NFeCabecalho.StatusNota.Equals("5")) { registroC100.setCodSit("00"); } else if (NFeCabecalho.StatusNota.Equals("6")) { registroC100.setCodSit("02"); } registroC100.setSer(NFeCabecalho.Serie); registroC100.setNumDoc(NFeCabecalho.Numero); registroC100.setChvNfe(NFeCabecalho.ChaveAcesso); registroC100.setDtDoc(NFeCabecalho.DataHoraEmissao.Value); registroC100.setDtES(NFeCabecalho.DataHoraEntradaSaida.Value); registroC100.setVlDoc(NFeCabecalho.ValorTotal.Value); registroC100.setIndPgto(NFeCabecalho.IndicadorFormaPagamento.Value.ToString()); registroC100.setVlDesc(NFeCabecalho.ValorDesconto.Value); registroC100.setVlAbatNt(0); registroC100.setVlMerc(NFeCabecalho.ValorTotalProdutos.Value); NfeTransporteDTO Transporte = new NHibernateDAL <NfeTransporteDTO>(Session).SelectId <NfeTransporteDTO>(1); if (Transporte != null) { registroC100.setIndFrt(Transporte.ModalidadeFrete.Value.ToString()); } registroC100.setVlFrt(NFeCabecalho.ValorFrete.Value); registroC100.setVlSeg(NFeCabecalho.ValorSeguro.Value); registroC100.setVlOutDa(NFeCabecalho.ValorDespesasAcessorias.Value); registroC100.setVlBcIcms(NFeCabecalho.BaseCalculoIcms.Value); registroC100.setVlIcms(NFeCabecalho.ValorIcms.Value); registroC100.setVlBcIcmsSt(NFeCabecalho.BaseCalculoIcmsSt.Value); registroC100.setVlIcmsSt(NFeCabecalho.ValorIcmsSt.Value); registroC100.setVlIpi(NFeCabecalho.ValorIpi.Value); registroC100.setVlPis(NFeCabecalho.ValorPis.Value); registroC100.setVlPisSt(0); registroC100.setVlCofins(NFeCabecalho.ValorCofins.Value); registroC100.setVlCofinsSt(0); // REGISTRO C110: COMPLEMENTO DO DOCUMENTO - INFORMAÇÃO COMPLEMENTAR DA NOTA FISCAL (CÓDIGOS 01, 1B, 04 e 55) //{ Não Implementado } // REGISTRO C111: PROCESSO REFERENCIADO //{ Não Implementado } // REGISTRO C120: COMPLEMENTO DO DOCUMENTO - OPERAÇÕES DE IMPORTAÇÃO (CÓDIGO 01) //{ Não Implementado } // REGISTRO C170: COMPLEMENTO DO DOCUMENTO - ITENS DO DOCUMENTO (CÓDIGOS 01, 1B, 04 e 55) consultaSql = "from ViewSpedNfeDetalheDTO where IdNfeCabecalho = " + NFeCabecalho.Id; IList <ViewSpedNfeDetalheDTO> ListaNFeDetalhe = new NHibernateDAL <ViewSpedNfeDetalheDTO>(Session).SelectListaSql <ViewSpedNfeDetalheDTO>(consultaSql); RegistroC170 registroC170; if (ListaNFeDetalhe != null) { foreach (ViewSpedNfeDetalheDTO NFeDetalhe in ListaNFeDetalhe) { registroC170 = new RegistroC170(); registroC170.setNumItem(NFeDetalhe.NumeroItem.ToString()); registroC170.setCodItem(NFeDetalhe.Gtin); registroC170.setDescrCompl(NFeDetalhe.NomeProduto); registroC170.setQtd(NFeDetalhe.QuantidadeComercial); registroC170.setUnid(Convert.ToString(NFeDetalhe.IdUnidadeProduto)); registroC170.setVlItem(NFeDetalhe.ValorTotal); registroC170.setVlDesc(NFeDetalhe.ValorDesconto); registroC170.setIndMov(0); registroC170.setCstIcms(NFeDetalhe.CstIcms); registroC170.setCfop(Convert.ToString(NFeDetalhe.Cfop)); registroC170.setCodNat(Convert.ToString(NFeDetalhe.IdTributOperacaoFiscal)); registroC170.setVlBcIcms(NFeDetalhe.BaseCalculoIcms); registroC170.setAliqIcms(NFeDetalhe.AliquotaIcms); registroC170.setVlIcms(NFeDetalhe.ValorIcms); registroC170.setVlBcIcmsSt(NFeDetalhe.ValorBaseCalculoIcmsSt); registroC170.setAliqSt(NFeDetalhe.AliquotaIcmsSt); registroC170.setVlIcmsSt(NFeDetalhe.ValorIcmsSt); registroC170.setIndApur(0); registroC170.setCstIpi(NFeDetalhe.CstIpi); registroC170.setCodEnq(NFeDetalhe.EnquadramentoIpi); registroC170.setVlBcIpi(NFeDetalhe.ValorBaseCalculoIpi); registroC170.setAliqIpi(NFeDetalhe.AliquotaIpi); registroC170.setVlIpi(NFeDetalhe.ValorIpi); registroC170.setCstPis(NFeDetalhe.CstPis); registroC170.setVlBcPis(NFeDetalhe.ValorBaseCalculoPis); registroC170.setAliqPisPerc(NFeDetalhe.AliquotaPisPercentual); registroC170.setQuantBcPis(NFeDetalhe.QuantidadeVendidaPis); registroC170.setAliqPisR(NFeDetalhe.AliquotaPisReais); registroC170.setVlPis(NFeDetalhe.ValorPis); registroC170.setCstCofins(NFeDetalhe.CstCofins); registroC170.setVlBcCofins(NFeDetalhe.BaseCalculoCofins); registroC170.setAliqCofinsPerc(NFeDetalhe.AliquotaCofinsPercentual); registroC170.setQuantBcCofins(NFeDetalhe.QuantidadeVendidaCofins); registroC170.setAliqCofinsR(NFeDetalhe.AliquotaCofinsReais); registroC170.setVlCofins(NFeDetalhe.ValorCofins); registroC170.setCodCta(""); registroC100.getRegistroC170List().Add(registroC170); } } // REGISTRO C175: REGISTRO ANALÍTICO DO DOCUMENTO (CÓDIGO 65) // { Será analisado após a implementação da NFC-e } // REGISTRO C180: CONSOLIDAÇÃO DE NOTAS FISCAIS ELETRÔNICAS EMITIDAS PELA PESSOA JURÍDICA (CÓDIGOS 55 e 65) – OPERAÇÕES DE VENDAS // REGISTRO C181: DETALHAMENTO DA CONSOLIDAÇÃO – OPERAÇÕES DE VENDAS – PIS/PASEP // REGISTRO C185: DETALHAMENTO DA CONSOLIDAÇÃO – OPERAÇÕES DE VENDAS – COFINS // REGISTRO C188: PROCESSO REFERENCIADO // { Não Implementados } // REGISTRO C190: CONSOLIDAÇÃO DE NOTAS FISCAIS ELETRÔNICAS (CÓDIGO 55) – OPERAÇÕES DE AQUISIÇÃO COM DIREITO A CRÉDITO, E OPERAÇÕES DE DEVOLUÇÃO DE COMPRAS E VENDAS. // REGISTRO C191: DETALHAMENTO DA CONSOLIDAÇÃO – OPERAÇÕES DE AQUISIÇÃO COM DIREITO A CRÉDITO, E OPERAÇÕES DE DEVOLUÇÃO DE COMPRAS E VENDAS – PIS/PASEP // REGISTRO C195: DETALHAMENTO DA CONSOLIDAÇÃO - OPERAÇÕES DE AQUISIÇÃO COM DIREITO A CRÉDITO, E OPERAÇÕES DE DEVOLUÇÃO DE COMPRAS E VENDAS – COFINS // REGISTRO C198: PROCESSO REFERENCIADO // REGISTRO C199: COMPLEMENTO DO DOCUMENTO - OPERAÇÕESDE IMPORTAÇÃO (CÓDIGO 55) // { Não Implementados } } } // REGISTRO C380: NOTA FISCAL DE VENDA A CONSUMIDOR (CÓDIGO 02) - CONSOLIDAÇÃO DE DOCUMENTOS EMITIDOS. consultaSql = "from ViewSpedC300DTO where DataEmissao BETWEEN " + Biblioteca.QuotedStr(DataInicial) + " and " + Biblioteca.QuotedStr(DataFinal); IList <ViewSpedC300DTO> ListaC300 = new NHibernateDAL <ViewSpedC300DTO>(Session).SelectListaSql <ViewSpedC300DTO>(consultaSql); if (ListaC300 != null) { RegistroC380 registroC380; foreach (ViewSpedC300DTO C380 in ListaC300) { registroC380 = new RegistroC380(); registroC380.setCodMod("2"); registroC380.setNumDocIni(C380.Id.ToString()); // Como pegar o número inicial? registroC380.setNumDocFin(C380.Id.ToString()); // Como pegar o número Final? registroC380.setDtDocIni(C380.DataEmissao); // Como pegar a data inicial? registroC380.setDtDocFin(C380.DataEmissao); // Como pegar a data Final? registroC380.setVlDoc(C380.SomaTotalNf); registroC380.setvlDocCanc(C380.SomaTotalNf); // Como pegar os valores cancelados? // REGISTRO C381: DETALHAMENTO DA CONSOLIDAÇÃO – PIS/P ASEP // REGISTRO C385: DETALHAMENTO DA CONSOLIDAÇÃO – COFINS // { Exercício: implementar } // REGISTRO C395: NOTAS FISCAIS DE VENDA A CONSUMIDOR(CÓDIGOS 02, 2D, 2E e 59) – AQUISIÇÕES/ENTRADAS COM CRÉDITO. // REGISTRO C396: ITENS DO DOCUMENTO (CÓDIGOS 02, 2D, 2E e 59) – AQUISIÇÕES/ENTRADAS COM CRÉDITO // { Não Implementados } } } IList <EcfImpressoraDTO> ListaImpressora = new NHibernateDAL <EcfImpressoraDTO>(Session).Select(new EcfImpressoraDTO()); if (ListaImpressora != null) { RegistroC400 registroC400; foreach (EcfImpressoraDTO Impressora in ListaImpressora) { // REGISTRO C400: EQUIPAMENTO ECF (CÓDIGO 02, 2D e 60). registroC400 = new RegistroC400(); registroC400.setCodMod(Impressora.ModeloDocumentoFiscal); registroC400.setEcfMod(Impressora.Modelo); registroC400.setEcfFab(Impressora.Serie); registroC400.setEcfCx(Impressora.Numero.ToString()); // verifica se existe movimento no periodo para aquele ECF consultaSql = "from EcfR02DTO where IdImpressora=" + Impressora.Id + " and DataEmissao BETWEEN " + Biblioteca.QuotedStr(DataInicial) + " and " + Biblioteca.QuotedStr(DataFinal); IList <EcfR02DTO> ListaR02 = new NHibernateDAL <EcfR02DTO>(Session).SelectListaSql <EcfR02DTO>(consultaSql); if (ListaR02 != null) { // REGISTRO C405: REDUÇÃO Z (CÓDIGO 02, 2D e 60). RegistroC405 registroC405; foreach (EcfR02DTO R02 in ListaR02) { registroC405 = new RegistroC405(); registroC405.setDtDoc(R02.DataMovimento.Value); registroC405.setCro(R02.Cro.Value); registroC405.setCrz(R02.Crz.Value); registroC405.setNumCooFin(R02.Coo.Value); registroC405.setGtFin(R02.GrandeTotal.Value); registroC405.setVlBrt(R02.VendaBruta.Value); // REGISTRO C481: RESUMO DIÁRIO DE DOCUMENTOS EMITIDOSPOR ECF – PIS/PASEP (CÓDIGOS 02 e 2D). // REGISTRO C485: RESUMO DIÁRIO DE DOCUMENTOS EMITIDOSPOR ECF – COFINS (CÓDIGOS 02 e 2D) // {Exercício: Implementar} registroC400.getRegistroC405List().Add(registroC405); } // REGISTRO C489: PROCESSO REFERENCIADO // { Não Implementado } // REGISTRO C490: CONSOLIDAÇÃO DE DOCUMENTOS EMITIDOS POR ECF (CÓDIGOS 02, 2D, 59 e 60) // REGISTRO C491: DETALHAMENTO DA CONSOLIDAÇÃO DE DOCUMENTOS EMITIDOS POR ECF (CÓDIGOS 02, 2D e 59) – PIS/PASEP // REGISTRO C495: DETALHAMENTO DA CONSOLIDAÇÃO DE DOCUMENTOS EMITIDOS POR ECF (CÓDIGOS 02, 2D e 59) – COFINS // REGISTRO C499: PROCESSO REFERENCIADO // { Não Implementados } } // REGISTRO C495: RESUMO MENSAL DE ITENS DO ECF POR ESTABELECIMENTO (CÓDIGO 02 e 2D). // Implementado a critério do Participante do T2Ti ERP } } // REGISTRO C500: NOTA FISCAL/CONTA DE ENERGIA ELÉTRICA (CÓDIGO 06), NOTA FISCAL/CONTA DE FORNECIMENTO D'ÁGUA CANALIZADA (CÓDIGO 29) E NOTA FISCAL CONSUMO FORNECIMENTO DE GÁS (CÓDIGO 28) E NF-e (CÓDIGO 55)– DOCUMENTOS DE ENTRADA/AQUISIÇÃO COM CRÉDITO // REGISTRO C501: COMPLEMENTO DA OPERAÇÃO (CÓDIGOS 06,28 e 29) – PIS/PASEP // REGISTRO C505: COMPLEMENTO DA OPERAÇÃO (CÓDIGOS 06,28 e 29) – COFINS // REGISTRO C509: PROCESSO REFERENCIADO // REGISTRO C600: CONSOLIDAÇÃO DIÁRIA DE NOTAS FISCAIS/CONTAS EMITIDAS DE ENERGIA ELÉTRICA (CÓDIGO 06), NOTA FISCAL/CONTA DE FORNECIMENTO D'ÁGUA CANALIZADA (CÓDIGO 29) E NOTA FISCAL/CONTA DE FORNECIMENTO DE GÁS (CÓDIGO 28) (EMPRESAS OBRIGADAS OU NÃO OBRIGADAS AO CONVENIO ICMS 115/03) – DOCUMENTOS DE SAÍDA // REGISTRO C601: COMPLEMENTO DA CONSOLIDAÇÃO DIÁRIA (CÓDIGOS 06, 28 e 29) – DOCUMENTOS DE SAÍDAS - PIS/PASEP // REGISTRO C605: COMPLEMENTO DA CONSOLIDAÇÃO DIÁRIA (CÓDIGOS 06, 28 e 29) – DOCUMENTOS DE SAÍDAS – COFINS // REGISTRO C609: PROCESSO REFERENCIADO // { Não Implementados } // REGISTRO C800: CUPOM FISCAL ELETRÔNICO (CÓDIGO 59) // REGISTRO C810: DETALHAMENTO DO CUPOM FISCAL ELETRÔNICO (CÓDIGO 59) – PIS/PASEP E COFINS // REGISTRO C820: DETALHAMENTO DO CUPOM FISCAL ELETRÔNICO (CÓDIGO 59) – PIS/PASEP E COFINS APURADO POR UNIDADE DE MEDIDA DEPRODUTO // REGISTRO C830: PROCESSO RERENCIADO // REGISTRO C860: IDENTIFICAÇÃO DO EQUIPAMENTO SAT-CF-E // REGISTRO C870: RESUMO DIÁRIO DE DOCUMENTOS EMITIDOS POR EQUIPAMENTO SAT-CF-E (CÓDIGO 59) – PIS/PASEP E COFINS // REGISTRO C880: RESUMO DIÁRIO DE DOCUMENTOS EMITIDOS POR EQUIPAMENTO SAT-CF-E (CÓDIGO 59) – PIS/PASEP E COFINS APURADO POR UNIDADE DE MEDIDA DE PRODUTO // REGISTRO C890: PROCESSO REFERENCIADO // (* Serão analisados após implementação do SAT *) }
private void CriaBlocoC() { int INotas; int IItens; int NNotas; int BNotas; // Alimenta o componente com informações para gerar todos os registros do // Bloco C. btnB_C.Enabled = false; btnB_D.Enabled = true; NNotas = Convert.ToInt32(edNotas.Text); BNotas = Convert.ToInt32(edBufNotas.Text); ProgressBar1.Visible = cbConcomitante.Checked; ProgressBar1.Maximum = NNotas; ProgressBar1.Value = 0; var blocoC = ACBrSPEDFiscal1.Bloco_C; var registroC001 = blocoC.RegistroC001; registroC001.IND_MOV = IndicadorMovimento.ComDados; for (INotas = 1; INotas <= NNotas; INotas++) { var registroC100 = new RegistroC100(); registroC100.IND_OPER = TipoOperacao.EntradaAquisicao; registroC100.IND_EMIT = Emitente.EmissaoPropria; registroC100.COD_PART = "001"; registroC100.COD_MOD = ""; registroC100.COD_SIT = SituacaoDocto.Regular; registroC100.SER = ""; registroC100.NUM_DOC = string.Format("11{0:000000}", INotas); registroC100.CHV_NFE = ""; registroC100.DT_DOC = blocoC.DT_INI.AddDays(INotas); registroC100.DT_E_S = blocoC.DT_INI.AddDays(INotas); registroC100.VL_DOC = 0; registroC100.IND_PGTO = TipoPagamento.SemPagamento; registroC100.VL_DESC = 0; registroC100.VL_ABAT_NT = 0; registroC100.VL_MERC = 0; registroC100.IND_FRT = TipoFrete.SemCobrancaFrete; registroC100.VL_SEG = 0; registroC100.VL_OUT_DA = 0; registroC100.VL_BC_ICMS = 0; registroC100.VL_ICMS = 0; registroC100.VL_BC_ICMS_ST = 0; registroC100.VL_ICMS_ST = 0; registroC100.VL_IPI = 0; registroC100.VL_PIS = 0; registroC100.VL_COFINS = 0; registroC100.VL_PIS_ST = 0; registroC100.VL_COFINS_ST = 0; registroC001.RegistroC100.Add(registroC100); // Gera registros específicos para notas emitidas por terceiros if (registroC100.IND_EMIT == Emitente.Terceiros) { var registroC110 = new RegistroC110(); registroC110.COD_INF = "000001"; registroC110.TXT_COMPL = ""; registroC100.RegistroC110.Add(registroC110); } // Gera o registro de importação apenas para notas de entrada if (registroC100.IND_OPER == TipoOperacao.EntradaAquisicao) { var registroC120 = new RegistroC120(); registroC120.COD_DOC_IMP = DoctoImporta.SimplificadaImport; registroC120.NUM_DOC__IMP = "1024879531"; registroC120.PIS_IMP = 0.00M; registroC120.COFINS_IMP = 0.00M; registroC120.NUM_ACDRAW = ""; registroC100.RegistroC120.Add(registroC120); } // Gera registros específicos para notas emitidas por terceiros e de prestação if ((registroC100.IND_EMIT == Emitente.Terceiros) && (registroC100.IND_OPER == TipoOperacao.SaidaPrestacao)) { var registroC130 = new RegistroC130(); registroC130.VL_SERV_NT = 10.12M; registroC130.VL_BC_ISSQN = 10.12M; registroC130.VL_ISSQN = 10.12M; registroC130.VL_BC_IRRF = 10.12M; registroC130.VL_IRRF = 10.12M; registroC130.VL_BC_PREV = 10.12M; registroC130.VL_PREV = 10.12M; registroC100.RegistroC130.Add(registroC130); } // REGISTRO C170: ITENS DO DOCUMENTO (CÓDIGO 01, 1B, 04 e 55). for (IItens = 1; IItens <= 10; IItens++) { var registroC170 = new RegistroC170(); // Inicio Adicionar os Itens: registroC170.NUM_ITEM = string.Format("{0:000}", IItens); registroC170.COD_ITEM = string.Format("{0:000000}", registroC170.NUM_ITEM); registroC170.DESCR_COMPL = string.Format("11{0:000000} ITEM {1}", INotas, registroC170.COD_ITEM); registroC170.QTD = 1; registroC170.UNID = "UN"; registroC170.VL_ITEM = 0; registroC170.VL_DESC = 0; registroC170.IND_MOV = MovimentacaoFisica.Nao; registroC170.CST_ICMS = "001"; registroC170.CFOP = "1252"; registroC170.COD_NAT = "64"; registroC170.VL_BC_ICMS = 0; registroC170.ALIQ_ICMS = 0; registroC170.VL_ICMS = 0; registroC170.VL_BC_ICMS_ST = 0; registroC170.ALIQ_ST = 0; registroC170.VL_ICMS_ST = 0; registroC170.IND_APUR = ApuracaoIPI.Mensal; registroC170.CST_IPI = ipiEntradaIsenta; registroC170.COD_ENQ = ""; registroC170.VL_BC_IPI = 0; registroC170.ALIQ_IPI = 0; registroC170.VL_IPI = 0; registroC170.CST_PIS = pisOutrasOperacoes; registroC170.VL_BC_PIS = 0; registroC170.ALIQ_PIS_PERC = 0; registroC170.QUANT_BC_PIS = 0; registroC170.ALIQ_PIS_R = 0; registroC170.VL_PIS = 0; registroC170.CST_COFINS = cofinsOutrasOperacoes; registroC170.VL_BC_COFINS = 0; registroC170.ALIQ_COFINS_PERC = 0; registroC170.QUANT_BC_COFINS = 0; registroC170.ALIQ_COFINS_R = 0; registroC170.VL_COFINS = 0; registroC170.COD_CTA = "000"; registroC100.RegistroC170.Add(registroC170); } // REGISTRO C170: ITENS DO DOCUMENTO (CÓDIGO 01, 1B, 04 e 55). for (IItens = 1; IItens <= 10; IItens++) { var registroC190 = new RegistroC190(); registroC190.CST_ICMS = "040"; registroC190.CFOP = "1252"; registroC190.ALIQ_ICMS = 0; registroC190.VL_OPR = 0; registroC190.VL_BC_ICMS = 0; registroC190.VL_ICMS = 0; registroC190.VL_BC_ICMS_ST = 0; registroC190.VL_ICMS_ST = 0; registroC190.VL_RED_BC = 0; registroC190.VL_IPI = 0; registroC190.COD_OBS = "000"; registroC100.RegistroC190.Add(registroC190); } } var registroC400 = new RegistroC400(); registroC400.COD_MOD = "2D"; registroC400.ECF_MOD = "DARUMA FS600"; registroC400.ECF_FAB = "21098765432123456789"; registroC400.ECF_CX = "001"; registroC001.RegistroC400.Add(registroC400); var registroC405 = new RegistroC405(); registroC405.DT_DOC = blocoC.DT_FIN; registroC405.CRO = 1; registroC405.CRZ = 1; registroC405.NUM_COO_FIN = 1; registroC405.GT_FIN = 105.00M; registroC405.VL_BRT = 105.00M; registroC400.RegistroC405.Add(registroC405); var registroC410 = new RegistroC410(); registroC410.VL_PIS = 0.00M; registroC410.VL_COFINS = 0.00M; registroC405.RegistroC410.Add(registroC410); var registroC420 = new RegistroC420(); registroC420.COD_TOT_PAR = "T1700"; registroC420.VLR_ACUM_TOT = 100.00M; registroC420.NR_TOT = 1; registroC420.DESCR_NR_TOT = "TOTALIZADOR T1700"; registroC405.RegistroC420.Add(registroC420); //Gera este registro somente para empresas do pergil B de apresentação if (ACBrSPEDFiscal1.Bloco_0.Registro0000.IND_PERFIL == Perfil.PerfilB) { var registroC425 = new RegistroC425(); registroC425.COD_ITEM = "000001"; registroC425.QTD = 1; registroC425.UNID = "PC"; registroC425.VL_ITEM = 100.00M; registroC425.VL_PIS = 0.00M; registroC425.VL_COFINS = 0.00M; registroC420.RegistroC425.Add(registroC425); } if (ACBrSPEDFiscal1.Bloco_0.Registro0000.IND_PERFIL != Perfil.PerfilB) { var registroC460 = new RegistroC460(); registroC460.COD_MOD = "2D"; registroC460.COD_SIT = SituacaoDocto.Regular; registroC460.NUM_DOC = "000001"; registroC460.DT_DOC = Convert.ToDateTime("30/11/2011"); registroC460.VL_DOC = 100.00M; registroC460.VL_PIS = 0.00M; registroC460.VL_COFINS = 0.00M; registroC460.CPF_CNPJ = "33333333333"; registroC460.NOM_ADQ = "TESTE"; registroC405.RegistroC460.Add(registroC460); var registroC470 = new RegistroC470(); registroC470.COD_ITEM = "000001"; registroC470.QTD = 1; registroC470.QTD_CANC = 0; registroC470.UNID = "UN"; registroC470.VL_ITEM = 100.00m; registroC470.CST_ICMS = "000"; registroC470.CFOP = "5102"; registroC470.ALIQ_ICMS = 17.00m; registroC470.VL_PIS = 0.00m; registroC470.VL_COFINS = 0.00m; registroC460.RegistroC470.Add(registroC470); } var registroC490 = new RegistroC490(); registroC490.CST_ICMS = "000"; registroC490.CFOP = "5102"; registroC490.ALIQ_ICMS = 17.00M; registroC490.VL_OPR = 100.00M; registroC490.VL_BC_ICMS = 100.00M; registroC490.VL_ICMS = 17.00M; registroC490.COD_OBS = "000001"; registroC405.RegistroC490.Add(registroC490); //Só envia este registro se o contribuinte for da BA if (ACBrSPEDFiscal1.Bloco_0.Registro0000.UF == "BA") { var registroC495 = new RegistroC495(); registroC495.ALIQ_ICMS = 17.00M; registroC495.COD_ITEM = "000001"; registroC495.QTD = 1.00M; registroC495.QTD_CANC = 0.00M; registroC495.UNID = "UN"; registroC495.VL_ITEM = 100.00M; registroC495.VL_DESC = 0.00M; registroC495.VL_CANC = 0.00M; registroC495.VL_ACMO = 0.00M; registroC495.VL_BC_ICMS = 100.00M; registroC495.VL_ICMS = 17.00M; registroC495.VL_ISEN = 0.00M; registroC495.VL_ICMS_ST = 0.00M; } }