public static int CriarRegistroTipo74(string Cd_empresa, DateTime Dt_fin, ref string Ret) { List <CamadaDados.Fiscal.Sintegra.Tipo74> retorno = new CamadaDados.Fiscal.Sintegra.TCD_Tipo74().Select(Cd_empresa, Dt_fin.ToString()); Linha ln = string.Empty; retorno.ForEach(p => { //Tipo ln += p.Tipo.Trim(); //Data Inventario ln += Dt_fin.ToString("yyyyMMdd"); //Codigo Produto ln += p.Cd_produto.Trim().FormatStringDireita(14, ' '); //Quantidade Produto ln += string.Format("{0:N3}", p.Quantidade).ToString().SoNumero().FormatStringEsquerda(13, '0'); //Valor Produto ln += string.Format("{0:N2}", p.Vl_produto).ToString().SoNumero().FormatStringEsquerda(13, '0'); //Codigo de posse ln += "1";//Mercadoria de propriedade da empresa //CNPJ do Possuidor ln += "0".FormatStringEsquerda(14, '0'); //Insc. do Possuidor ln += "".FormatStringDireita(14, ' '); //UF Possuidor ln += "".FormatStringDireita(2, ' '); //Espacos Brancos ln += "".FormatStringDireita(45, ' '); ln += "\r\n"; }); Ret = ln.ToString(); return(retorno.Count); }
public static int CriarRegistroTipo75(string Cd_empresa, DateTime Dt_ini, DateTime Dt_fin, DateTime?Dt_inventario, ref string Ret) { List <CamadaDados.Fiscal.Sintegra.Tipo75> retorno = new CamadaDados.Fiscal.Sintegra.TCD_Tipo75().Select(Cd_empresa, Dt_ini, Dt_fin, Dt_inventario); Linha ln = string.Empty; retorno.ForEach(p => { //Tipo ln += p.Tipo.Trim(); //Data inicial ln += Dt_ini.ToString("yyyyMMdd"); //Data final ln += Dt_fin.ToString("yyyyMMdd"); //Codigo Produto ln += p.Cd_produto.Trim().FormatStringDireita(14, ' '); //Codigo NCM ln += p.Ncm.Trim().FormatStringDireita(8, ' '); //Descricao do produto ln += p.Ds_produto.Trim().FormatStringDireita(53, ' '); //Unidade de Medida ln += p.Sigla.Trim().FormatStringDireita(6, ' '); //Aliquota de IPI do produto ln += string.Format("{0:N2}", p.Pc_aliquota_ipi).ToString().SoNumero().FormatStringEsquerda(5, '0'); //Aliquota do ICMS do produto ln += string.Format("{0:N2}", p.Pc_aliquota_icms).ToString().SoNumero().FormatStringEsquerda(4, '0'); //Reducao da base de calculo do icms ln += string.Format("{0:N2}", p.Pc_reducao_basecalcicms).ToString().SoNumero().FormatStringEsquerda(5, '0'); //Base de calculo do icms substituicao tributaria ln += string.Format("{0:N2}", p.Base_calc_icms_substtrib).ToString().SoNumero().FormatStringEsquerda(13, '0'); ln += "\r\n"; }); Ret = ln.ToString(); return(retorno.Count); }
public static int CriarRegistroTipo54(string Cd_empresa, DateTime Dt_ini, DateTime Dt_fin, ref string Ret) { List <CamadaDados.Fiscal.Sintegra.Tipo54> retorno = new CamadaDados.Fiscal.Sintegra.TCD_Tipo54().Select( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + Cd_empresa.Trim() + "'" }, new TpBusca() { vNM_Campo = "convert(datetime, floor(convert(decimal(30,10), a.dt_emissao_recebimento)))", vOperador = ">=", vVL_Busca = "'" + string.Format(new System.Globalization.CultureInfo("en-US", true), Convert.ToDateTime(Dt_ini).ToString("yyyyMMdd")) + "'" }, new TpBusca() { vNM_Campo = "convert(datetime, floor(convert(decimal(30,10), a.dt_emissao_recebimento)))", vOperador = "<=", vVL_Busca = "'" + string.Format(new System.Globalization.CultureInfo("en-US", true), Convert.ToDateTime(Dt_fin).ToString("yyyyMMdd")) + "'" } }, 0, string.Empty); if (retorno.Count > 0) { if (retorno.Count > 0) { Linha ln = string.Empty; retorno.ForEach(p => { //Tipo Registro ln += p.Tipo.Trim(); //Cnpj ln += p.Cnpj.Trim().SoNumero().FormatStringEsquerda(14, '0'); //Modelo Nf ln += p.Cd_modelo.Trim().SoNumero().FormatStringEsquerda(2, '0'); //Serie Nf ln += p.Nr_serie.Trim().FormatStringDireita(3, ' '); //Numero Nf ln += p.Nr_notafiscal.Value.ToString().Length > 6 ? p.Nr_notafiscal.Value.ToString().Substring(p.Nr_notafiscal.Value.ToString().Length - 6, 6) : p.Nr_notafiscal.Value.ToString().SoNumero().FormatStringEsquerda(6, '0'); //Cfop ln += p.Cd_cfop.Trim().SoNumero().FormatStringEsquerda(4, '0'); //Codigo Situacao Tributaria ln += p.Cd_st.Trim().SoNumero().FormatStringEsquerda(3, '0'); //Codigo do Item ln += p.Id_nfitem.Value.ToString().SoNumero().FormatStringEsquerda(3, '0'); //Codigo do produto ln += p.Cd_produto.Trim().FormatStringDireita(14, ' '); //Quantidade ln += string.Format("{0:N3}", p.Quantidade).ToString().SoNumero().FormatStringEsquerda(11, '0'); //SubTotal ln += string.Format("{0:N2}", p.Vl_subtotal).ToString().SoNumero().FormatStringEsquerda(12, '0'); //Valor do desconto ln += string.Format("{0:N2}", decimal.Zero).ToString().SoNumero().FormatStringEsquerda(12, '0'); //Valor Base Calc ICMS ln += string.Format("{0:N2}", p.Vl_basecalc_icms).ToString().SoNumero().FormatStringEsquerda(12, '0'); //Base Calc ICMS SubstTrib ln += string.Format("{0:N2}", p.Vl_basecalc_icmssubsttrib).ToString().SoNumero().FormatStringEsquerda(12, '0'); //Valor IPI ln += string.Format("{0:N2}", decimal.Zero).ToString().SoNumero().FormatStringEsquerda(12, '0'); //% ICMS ln += string.Format("{0:N2}", p.Pc_aliquotaicms).ToString().SoNumero().FormatStringEsquerda(4, '0'); ln += "\r\n"; }); Ret = ln.ToString(); } } return(retorno.Count); }
public static int CriarRegistroTipo51(string Cd_empresa, DateTime Dt_ini, DateTime Dt_fin, ref string Ret) { List <CamadaDados.Fiscal.Sintegra.Tipo51> retorno = new CamadaDados.Fiscal.Sintegra.TCD_Tipo51().Select( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + Cd_empresa.Trim() + "'" }, new TpBusca() { vNM_Campo = "convert(datetime, floor(convert(decimal(30,10), a.dt_emissao_recebimento)))", vOperador = ">=", vVL_Busca = "'" + string.Format(new System.Globalization.CultureInfo("en-US", true), Convert.ToDateTime(Dt_ini).ToString("yyyyMMdd")) + "'" }, new TpBusca() { vNM_Campo = "convert(datetime, floor(convert(decimal(30,10), a.dt_emissao_recebimento)))", vOperador = "<=", vVL_Busca = "'" + string.Format(new System.Globalization.CultureInfo("en-US", true), Convert.ToDateTime(Dt_fin).ToString("yyyyMMdd")) + "'" } }, 0, string.Empty); Linha ln = string.Empty; retorno.ForEach(p => { //Tipo Registro ln += p.Tipo.Trim(); //Cnpj do remetente na entrada ou do destinatario na saida ln += p.Cnpj.Trim().SoNumero().FormatStringEsquerda(14, '0'); //Inscricao estadual do remetente na entrada ou do destinatario na saida ln += p.Insc_estadual.Trim().FormatStringDireita(14, ' '); //Data emissao na saida ou recebimento na entrada ln += p.Dt_emissao_recebimento.Value.ToString("yyyyMMdd"); //Sigla unidade da federacao do remetente na entrada ou do destinatario na saida ln += p.Uf.Trim().FormatStringDireita(2, ' '); //Serie da nota fiscal ln += p.Nr_serie.Trim().FormatStringDireita(3, ' '); //Numero da nota fiscal ln += p.Nr_notafiscal.Value.ToString().Length > 6 ? p.Nr_notafiscal.Value.ToString().Substring(p.Nr_notafiscal.Value.ToString().Length - 6, 6) : p.Nr_notafiscal.Value.ToString().SoNumero().FormatStringEsquerda(6, '0'); //Cfop ln += p.Cd_cfop.Trim().SoNumero().FormatStringEsquerda(4, '0'); //Valor total da nf ln += string.Format("{0:N2}", p.Vl_totalnota).ToString().SoNumero().FormatStringEsquerda(13, '0'); //Valor total do IPI ln += string.Format("{0:N2}", p.Vl_ipi).ToString().SoNumero().FormatStringEsquerda(13, '0'); //Valor isento ou nao tributado ln += string.Format("{0:N2}", p.Vl_isento_naotributado).ToString().SoNumero().FormatStringEsquerda(13, '0'); //Valor que nao confira credito ou debito do IPI ln += string.Format("{0:N2}", p.Vl_outros).ToString().SoNumero().FormatStringEsquerda(13, '0'); //Espacos em branco ln += " ".FormatStringDireita(20, ' '); //Situacao da nota fiscal quanto cancelamento ln += p.Situacao.Trim().FormatStringDireita(1, ' '); ln += "\r\n"; }); Ret = ln.ToString(); return(retorno.Count); }
public static int CriarRegistroTipo71(string Cd_empresa, DateTime Dt_ini, DateTime Dt_fin, ref string Ret) { List <CamadaDados.Fiscal.Sintegra.Tipo71> retorno = new CamadaDados.Fiscal.Sintegra.TCD_Tipo71().Select( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + Cd_empresa.Trim() + "'" }, new TpBusca() { vNM_Campo = "convert(datetime, floor(convert(decimal(30,10), a.dt_emissao_recebimento)))", vOperador = ">=", vVL_Busca = "'" + string.Format(new System.Globalization.CultureInfo("en-US", true), Convert.ToDateTime(Dt_ini).ToString("yyyyMMdd")) + " 00:00:00'" }, new TpBusca() { vNM_Campo = "convert(datetime, floor(convert(decimal(30,10), a.dt_emissao_recebimento)))", vOperador = "<=", vVL_Busca = "'" + string.Format(new System.Globalization.CultureInfo("en-US", true), Convert.ToDateTime(Dt_fin).ToString("yyyyMMdd")) + " 23:59:59'" } }, 0, string.Empty); Linha ln = string.Empty; retorno.ForEach(p => { ln += p.Tipo.Trim(); //Cnpj do tomador ln += p.Cnpj_tomador.Trim().SoNumero().FormatStringEsquerda(14, '0'); //Inscricao estadual tomador ln += p.Insc_estadual_tomador.Trim().FormatStringDireita(14, ' '); //Data emissao ctrc ln += p.Dt_emissao_ctrc.Value.ToString("yyyyMMdd"); //Uf do tomador ln += p.Uf_tomador.Trim().FormatStringDireita(2, ' '); //Modelo do ctrc ln += p.Cd_modelo_ctrc.Trim().SoNumero().FormatStringEsquerda(2, '0'); //Serie do ctrc ln += p.Nr_serie_ctrc.Trim().FormatStringDireita(1, ' '); //Subserie do ctrc ln += p.Nr_subserie_ctrc.Trim().FormatStringDireita(2, ' '); //Numero do ctrc ln += p.Nr_ctrc.Value.ToString().SoNumero().FormatStringEsquerda(6, '0'); //Uf do remetente ln += p.Uf_remetente.Trim().FormatStringDireita(2, ' '); //Cnpj do remetente ln += p.Cnpj_remetente.Trim().SoNumero().FormatStringEsquerda(14, '0'); //Inscricao estadual do remetente ln += p.Insc_estadual_remetente.Trim().FormatStringDireita(14, ' '); //Data emissao da nf ln += p.Dt_emissao_nf.Value.ToString("yyyyMMdd"); //Modelo da Nf ln += p.Cd_modelo_nf.Trim().FormatStringEsquerda(2, ' '); //Serie da Nf ln += p.Nr_serie_nf.Trim().FormatStringDireita(3, ' '); //Numero da nota fiscal ln += p.Nr_notafiscal.Value.ToString().SoNumero().FormatStringEsquerda(6, '0'); //Valor total da nota ln += string.Format("{0:N2}", p.Vl_total_nf).ToString().SoNumero().FormatStringEsquerda(14, '0'); //Espacos em branco ln += " ".FormatStringDireita(12, ' '); ln += "\r\n"; }); Ret = ln.ToString(); return(retorno.Count); }
public static int CriarRegistroTipo53(string Cd_empresa, DateTime Dt_ini, DateTime Dt_fin, ref string Ret) { List <CamadaDados.Fiscal.Sintegra.Tipo53> retorno = new CamadaDados.Fiscal.Sintegra.TCD_Tipo53().Select( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + Cd_empresa.Trim() + "'" }, new TpBusca() { vNM_Campo = "convert(datetime, floor(convert(decimal(30,10), a.dt_emissao_recebimento)))", vOperador = ">=", vVL_Busca = "'" + string.Format(new System.Globalization.CultureInfo("en-US", true), Convert.ToDateTime(Dt_ini).ToString("yyyyMMdd")) + "'" }, new TpBusca() { vNM_Campo = "convert(datetime, floor(convert(decimal(30,10), a.dt_emissao_recebimento)))", vOperador = "<=", vVL_Busca = "'" + string.Format(new System.Globalization.CultureInfo("en-US", true), Convert.ToDateTime(Dt_fin).ToString("yyyyMMdd")) + "'" } }, 0, string.Empty); Linha ln = string.Empty; retorno.ForEach(p => { //Tipo Registro ln += p.Tipo.Trim(); //Cnpj do remetente na entrada ou do destinatario na saida ln += p.Cnpj.Trim().SoNumero().FormatStringEsquerda(14, '0'); //Inscricao estadual do remetente na entrada ou do destinatario na saida ln += p.Insc_estadual.Trim().FormatStringDireita(14, ' '); //Data emissao na saida ou recebimento na entrada ln += p.Dt_emissao_recebimento.Value.ToString("yyyyMMdd"); //Sigla unidade da federacao do remetente na entrada ou do destinatario na saida ln += p.Uf.Trim().FormatStringDireita(2, ' '); //Modelo documento Fiscal ln += p.Cd_modelo.Trim().FormatStringEsquerda(2, ' '); //Serie da nota fiscal ln += p.Nr_serie.Trim().FormatStringDireita(3, ' '); //Numero da nota fiscal ln += p.Nr_notafiscal.Value.ToString().Length > 6 ? p.Nr_notafiscal.Value.ToString().Substring(p.Nr_notafiscal.Value.ToString().Length - 6, 6) : p.Nr_notafiscal.Value.ToString().SoNumero().FormatStringEsquerda(6, '0'); //Cfop ln += p.Cd_cfop.Trim().SoNumero().FormatStringEsquerda(4, '0'); //Tipo emissao Nota P-Propria T-Terceiro ln += p.Tp_nota.Trim(); //Valor Base Calc ICMS ln += string.Format("{0:N2}", p.Vl_basecalc).ToString().SoNumero().FormatStringEsquerda(13, '0'); //Valor ICMS ln += string.Format("{0:N2}", p.Vl_icms).ToString().SoNumero().FormatStringEsquerda(13, '0'); //Valor despesas ln += string.Format("{0:N2}", p.Vl_despesas).ToString().SoNumero().FormatStringEsquerda(13, '0'); //Situacao da Nota ln += p.Situacao.Trim().FormatStringDireita(1, ' '); //Codigo tipo antecipacao tributaria ln += " "; //Espacos em branco ln += " ".FormatStringDireita(29, ' '); ln += "\r\n"; }); Ret = ln.ToString(); return(retorno.Count); }
public Linha CriarRegistroTipo90() { //Tipo registro Linha ln = this.Tipo.Trim(); //Cnpj do informante ln += this.Cnpj.Trim().SoNumero().FormatStringEsquerda(14, '0'); //Inscricao estadual do informante ln += this.Insc_estadual.Trim().FormatStringDireita(14, ' '); if (this.Count50 > 0) { ln += "50"; ln += string.Format("{0:N0}", this.Count50).SoNumero().FormatStringEsquerda(8, '0'); this.Total_geral += this.Count50; } if (this.Count51 > 0) { ln += "51"; ln += string.Format("{0:N0}", this.Count51).SoNumero().FormatStringEsquerda(8, '0'); this.Total_geral += this.Count51; } if (this.Count53 > 0) { ln += "53"; ln += string.Format("{0:N0}", this.Count53).SoNumero().FormatStringEsquerda(8, '0'); this.Total_geral += this.Count53; } if (this.Count54 > 0) { ln += "54"; ln += string.Format("{0:N0}", this.Count54).SoNumero().FormatStringEsquerda(8, '0'); this.Total_geral += this.Count54; } if (this.Count60M > 0) { ln += "60"; ln += string.Format("{0:N0}", this.Count60M + this.Count60A + this.Count60D + this.Count60I + this.Count60R).SoNumero().FormatStringEsquerda(8, '0'); this.Total_geral += this.Count60M + this.Count60A + this.Count60D + this.Count60I + this.Count60R; } if (this.Count70 > 0) { ln += "70"; ln += string.Format("{0:N0}", this.Count70).SoNumero().FormatStringEsquerda(8, '0'); this.Total_geral += this.Count70; } if (this.Count71 > 0) { ln += "71"; ln += string.Format("{0:N0}", this.Count71).SoNumero().FormatStringEsquerda(8, '0'); this.Total_geral += this.Count71; } if (this.Count74 > 0) { ln += "74"; ln += string.Format("{0:N0}", this.Count74).SoNumero().FormatStringEsquerda(8, '0'); this.Total_geral += this.Count74; } if (this.Count75 > 0) { ln += "75"; ln += string.Format("{0:N0}", this.Count75).SoNumero().FormatStringEsquerda(8, '0'); this.Total_geral += this.Count75; } //Total geral ln += "99" + string.Format("{0:N0}", this.Total_geral).SoNumero().FormatStringEsquerda(8, '0'); ln += " ".FormatStringDireita(125 - ln.ToString().Length, ' '); //Numero registro tipo 90 ln += string.Format("{0:N0}", this.Numero_registro).SoNumero().FormatStringEsquerda(1, '0'); ln += "\r\n"; return(ln); }
public static Linha CriarRegistroTipo10_11(string Cd_empresa, DateTime Dt_ini, DateTime Dt_fin, Finalidades Finalidade) { Tipo10_11 tp_registro = new TCD_Tipo10_11().Select( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + Cd_empresa.Trim() + "'" } }, 0, string.Empty); if (tp_registro == null) { throw new Exception("Não existe dados da empresa " + Cd_empresa.Trim() + " para montar registro 10 e 11"); } tp_registro.Data_final = Dt_fin; tp_registro.Data_inicial = Dt_ini; tp_registro.Finalidade = Finalidade; #region "Registro 10" //Tipo do Registro Linha ln = "10"; //CNPJ do estabelecimento informante ln += tp_registro.Cnpj.Trim().SoNumero().FormatStringEsquerda(14, '0'); //Inscricao estadual do estabelecimento informante ln += tp_registro.Insc_estadual.Trim().FormatStringDireita(14, ' '); //Razao social do contribuinte ln += tp_registro.Nome_contribuinte.Trim().FormatStringDireita(35, ' '); //Municipio do contribuinte ln += tp_registro.Municipio_contribuinte.Trim().FormatStringDireita(30, ' '); //Unidade da federacao do contribuinte ln += tp_registro.Uf.Trim().FormatStringDireita(2, ' '); //Telefone do contribuinte ln += tp_registro.Fone.SoNumero().FormatStringEsquerda(10, '0'); //Data inicial do periodo referente as informacoes prestadas ln += tp_registro.Data_inicial.Value.ToString("yyyyMMdd"); //Data final do periodo referente as informacoes prestadas ln += tp_registro.Data_final.Value.ToString("yyyyMMdd"); //Codigo do convenio utilizado no arquivo magnetico ln += tp_registro.Codigo_convenio == IdentificacaoEstruturas.ICMS_CONVENIO_5795_30_02 ? "1" : tp_registro.Codigo_convenio == IdentificacaoEstruturas.ICMS_CONVENIO_5795_142_02 ? "2" : tp_registro.Codigo_convenio == IdentificacaoEstruturas.ICMS_CONVENIO_5795_76_03 ? "3" : string.Empty; //Codigo de identificacao da natureza das operacoes informadas ln += tp_registro.Codigo_identificacao == IdentificacaoNaturezaOperacoes.COM_SUBSTITUICAO_TRIBUTARIA ? "1" : tp_registro.Codigo_identificacao == IdentificacaoNaturezaOperacoes.SEM_SUBSTITUICAO_TRIBUTARIA ? "2" : tp_registro.Codigo_identificacao == IdentificacaoNaturezaOperacoes.TOTALIDADE_OPERACOES ? "3" : string.Empty; //Codigo finalidade do arquivo ln += tp_registro.Finalidade == Finalidades.NORMAL ? "1" : tp_registro.Finalidade == Finalidades.RETIFICACAO_TOTAL ? "2" : tp_registro.Finalidade == Finalidades.RETIFICACAO_ADITIVA ? "3" : tp_registro.Finalidade == Finalidades.RETIFICACAO_CORRETIVA ? "4" : tp_registro.Finalidade == Finalidades.DESFAZIMENTO ? "5" : string.Empty; ln += "\r\n"; #endregion #region "Registro 11" //Tipo do Registro ln += "11"; //Logradouro da Empresa ln += tp_registro.Logradouro.Trim().FormatStringDireita(34, ' '); //Numero endereco da empresa ln += tp_registro.Numero.Trim().SoNumero().FormatStringEsquerda(5, '0'); //Complemento ln += tp_registro.Complemento.Trim().FormatStringDireita(22, ' '); //Bairro ln += tp_registro.Bairro.Trim().FormatStringDireita(15, ' '); //CEP ln += tp_registro.Cep.Trim().SoNumero().FormatStringEsquerda(8, '0'); //Nome Contato ln += tp_registro.Contato.Trim().FormatStringDireita(28, ' '); //Telefone ln += tp_registro.Fone.Trim().SoNumero().FormatStringEsquerda(12, '0'); ln += "\r\n"; #endregion return(ln); }
public static int CriarRegistroTipo60M(string Cd_empresa, DateTime Dt_ini, DateTime Dt_fin, bool St_tipo60D, bool St_tipo60I, ref string Ret) { List <CamadaDados.Fiscal.Sintegra.Tipo60M> retorno = new CamadaDados.Fiscal.Sintegra.TCD_Tipo60M().Select( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + Cd_empresa.Trim() + "'" }, new TpBusca() { vNM_Campo = "convert(datetime, floor(convert(decimal(30,10), a.dt_mapa)))", vOperador = ">=", vVL_Busca = "'" + string.Format(new System.Globalization.CultureInfo("en-US", true), Convert.ToDateTime(Dt_ini).ToString("yyyyMMdd")) + "'" }, new TpBusca() { vNM_Campo = "convert(datetime, floor(convert(decimal(30,10), a.dt_mapa)))", vOperador = "<=", vVL_Busca = "'" + string.Format(new System.Globalization.CultureInfo("en-US", true), Convert.ToDateTime(Dt_fin).ToString("yyyyMMdd")) + "'" } }, 0, string.Empty); Linha ln = string.Empty; int cont = 0; retorno.ForEach(p => { //Tipo Registro ln += p.Tipo.Trim(); //Sub Tipo ln += p.Subtipo.Trim(); //Data de emissao na saida ou de entrada no recebimento ln += p.Dt_emissao.Value.ToString("yyyyMMdd"); //Numero de serie do equipamento ln += p.Nr_serie_equipamento.Trim().FormatStringDireita(20, ' '); //Id equipamento ln += p.Id_equipamento.Value.ToString().FormatStringEsquerda(3, '0'); //Modelo da Nota Fiscal ln += p.Cd_modelo.Trim().SoNumero().FormatStringEsquerda(2, '0'); //COO Inicial ln += p.Nr_coo_inicial.Value.ToString().SoNumero().FormatStringEsquerda(6, '0'); //COO Final ln += p.Nr_coo_final.Value.ToString().SoNumero().FormatStringEsquerda(6, '0'); //Contador Reducao Z ln += p.Contador_reducaoZ.Value.ToString().SoNumero().FormatStringEsquerda(6, '0'); //Contador Reinicio Operacao ln += p.Contador_reinicio_operacao.Value.ToString().SoNumero().FormatStringEsquerda(3, '0'); //Valor venda bruta ln += string.Format("{0:N2}", p.Vl_vendabruta).SoNumero().FormatStringEsquerda(16, '0'); //Valor Total Geral ln += string.Format("{0:N2}", p.Vl_totalgeral).SoNumero().FormatStringEsquerda(16, '0'); //Brancos ln += "".FormatStringDireita(37, ' '); ln += "\r\n"; cont++; //Buscar registro Analiticos new CamadaDados.Fiscal.Sintegra.TCD_Tipo60A().Select(p.Id_mapa.Value.ToString(), p.Id_equipamento.Value.ToString()).ForEach(v => { //Tipo Registro ln += v.Tipo.Trim(); //Sub Tipo ln += v.Subtipo.Trim(); //Data de emissao na saida ou de entrada no recebimento ln += v.Dt_emissao.Value.ToString("yyyyMMdd"); //Numero de serie do equipamento ln += v.Nr_serie_equipamento.Trim().FormatStringDireita(20, ' '); //Situacao Tributaria ln += v.Situacao_tributaria.FormatStringDireita(4, ' '); //Valor Acumulado no Totalizador ln += string.Format("{0:N2}", v.Vl_totalizador).SoNumero().FormatStringEsquerda(12, '0'); //Brancos ln += "".FormatStringDireita(79, ' '); ln += "\r\n"; cont++; }); //Buscar Lista de Cupons List <CamadaDados.Fiscal.Sintegra.Tipo60> l60 = new List <CamadaDados.Fiscal.Sintegra.Tipo60>(); if (St_tipo60D || St_tipo60I) { l60 = new CamadaDados.Fiscal.Sintegra.TCD_Tipo60().Select( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + Cd_empresa.Trim() + "'" }, new TpBusca() { vNM_Campo = "a.id_equipamento", vOperador = "=", vVL_Busca = p.Id_equipamento.Value.ToString() }, new TpBusca() { vNM_Campo = "a.ID_COO_ECF", vOperador = "between", vVL_Busca = p.Nr_coo_inicial.Value.ToString() + " and " + p.Nr_coo_final.Value.ToString() } }, 0, string.Empty); } if (St_tipo60D) { var sql = from a in l60 group a by new { a.Cd_produto, a.Pc_aliquota, a.Situacao_tributaria, a.St_substtrib } into g select new { g.Key.Cd_produto, g.Key.Pc_aliquota, g.Key.Situacao_tributaria, g.Key.St_substtrib, Quantidade = (g.Sum(v => ((System.Decimal?)v.Quantidade ?? (System.Decimal?) 0)) ?? 0), Vl_subtotal = (g.Sum(v => ((System.Decimal?)v.Vl_subtotal ?? (System.Decimal?) 0)) ?? 0), Vl_basecalc = (g.Sum(v => ((System.Decimal?)v.Vl_basecalc ?? (System.Decimal?) 0)) ?? 0), Vl_icms = (g.Sum(v => ((System.Decimal?)v.Vl_icms ?? (System.Decimal?) 0)) ?? 0) }; sql.ToList().ForEach(v => { //Tipo Registro ln += "60"; //Sub Tipo ln += "D"; //Data de emissao na saida ou de entrada no recebimento ln += p.Dt_emissao.Value.ToString("yyyyMMdd"); //Numero de serie do equipamento ln += p.Nr_serie_equipamento.Trim().FormatStringDireita(20, ' '); //Codigo Produto ln += v.Cd_produto.FormatStringDireita(14, ' '); //Quantidade Produto ln += string.Format("{0:N3}", v.Quantidade).SoNumero().FormatStringEsquerda(13, '0'); //Valor Produto ln += string.Format("{0:N2}", v.Vl_subtotal).SoNumero().FormatStringEsquerda(16, '0'); //Base Calculo ln += string.Format("{0:N2}", v.Vl_basecalc).SoNumero().FormatStringEsquerda(16, '0'); //Situacao Tributaria/Aliquota ln += v.Situacao_tributaria; //Valor ICMS ln += string.Format("{0:N2}", v.Vl_icms).SoNumero().FormatStringEsquerda(13, '0'); //Brancos ln += "".FormatStringDireita(19, ' '); ln += "\r\n"; cont++; }); } if (St_tipo60I) { l60.ForEach(v => { //Tipo Registro ln += "60"; //Sub Tipo ln += "I"; //Data de emissao na saida ou de entrada no recebimento ln += p.Dt_emissao.Value.ToString("yyyyMMdd"); //Numero de serie do equipamento ln += p.Nr_serie_equipamento.Trim().FormatStringDireita(20, ' '); //Modelo Documento Fiscal ln += v.Cd_modelo.Trim().FormatStringDireita(2, ' '); //COO Cupom ln += v.Id_coo_ecf.Value.ToString().FormatStringEsquerda(6, '0'); //Numero ordem do item ln += v.Nr_sequencial_ecf.Value.ToString().FormatStringEsquerda(3, '0'); //Codigo Produto ln += v.Cd_produto.FormatStringDireita(14, ' '); //Quantidade Produto ln += string.Format("{0:N3}", v.Quantidade).SoNumero().FormatStringEsquerda(13, '0'); //Valor Produto ln += string.Format("{0:N2}", v.Vl_subtotal).SoNumero().FormatStringEsquerda(13, '0'); //Base Calculo ln += string.Format("{0:N2}", v.Vl_basecalc).SoNumero().FormatStringEsquerda(12, '0'); //Situacao Tributaria/Aliquota ln += v.Situacao_tributaria; //Valor ICMS ln += string.Format("{0:N2}", v.Vl_icms).SoNumero().FormatStringEsquerda(12, '0'); //Brancos ln += "".FormatStringDireita(16, ' '); ln += "\r\n"; cont++; }); } }); Ret = ln.ToString(); return(cont); }
public static int CriarRegistroTipo70(string Cd_empresa, DateTime Dt_ini, DateTime Dt_fin, ref string Ret) { List <CamadaDados.Fiscal.Sintegra.Tipo70> retorno = new CamadaDados.Fiscal.Sintegra.TCD_Tipo70().Select( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + Cd_empresa.Trim() + "'" }, new TpBusca() { vNM_Campo = "convert(datetime, floor(convert(decimal(30,10), a.dt_emissao_recebimento)))", vOperador = ">=", vVL_Busca = "'" + string.Format(new System.Globalization.CultureInfo("en-US", true), Convert.ToDateTime(Dt_ini).ToString("yyyyMMdd")) + "'" }, new TpBusca() { vNM_Campo = "convert(datetime, floor(convert(decimal(30,10), a.dt_emissao_recebimento)))", vOperador = "<=", vVL_Busca = "'" + string.Format(new System.Globalization.CultureInfo("en-US", true), Convert.ToDateTime(Dt_fin).ToString("yyyyMMdd")) + "'" } }, 0, string.Empty); Linha ln = string.Empty; retorno.ForEach(p => { //Tipo Registro ln += p.Tipo.Trim(); //Cnpj ln += p.Cnpj.Trim().SoNumero().FormatStringEsquerda(14, '0'); //Inscricao estadual ln += p.Insc_estadual.Trim().FormatStringDireita(14, ' '); //Data emissao / utilizacao ln += p.Dt_emissao_utilizacao.Value.ToString("yyyyMMdd"); //Uf ln += p.Uf.Trim().FormatStringDireita(2, ' '); //Modelo Documento ln += p.Cd_modelo.Trim().SoNumero().FormatStringEsquerda(2, '0'); //Serie Documento ln += p.Nr_Serie.Trim().FormatStringDireita(1, ' '); //Sub serie documento ln += p.Nr_subserie.Trim().FormatStringDireita(2, ' '); //Numero documento ln += p.Nr_documento.Value.ToString().SoNumero().FormatStringEsquerda(6, '0'); //Cfop ln += p.Cd_cfop.Trim().SoNumero().FormatStringEsquerda(4, '0'); //Valor total do documento ln += string.Format("{0:N2}", p.Vl_documento).SoNumero().FormatStringEsquerda(13, '0'); //Valor da base de calculo ln += string.Format("{0:N2}", p.Vl_basecalcicms).SoNumero().FormatStringEsquerda(14, '0'); //Valor do ICMS ln += string.Format("{0:N2}", p.Vl_icms).SoNumero().FormatStringEsquerda(14, '0'); //Valor isento ou nao tributado ln += string.Format("{0:N2}", decimal.Zero).SoNumero().FormatStringEsquerda(14, '0'); //Valor que nao confira debito ou credito do ICMS ln += string.Format("{0:N2}", decimal.Zero).SoNumero().FormatStringEsquerda(14, '0'); //Tipo de frete ln += p.Tp_frete == CamadaDados.Fiscal.Sintegra.Modalidade_frete.CIF ? "1" : p.Tp_frete == CamadaDados.Fiscal.Sintegra.Modalidade_frete.FOB ? "2" : "0"; //Situacao do documento ln += p.Situacao.Trim().FormatStringDireita(1, ' '); ln += "\r\n"; }); Ret = ln.ToString(); return(retorno.Count); }