Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }
Пример #5
0
        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);
        }
Пример #6
0
        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);
        }
Пример #7
0
        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);
        }
Пример #8
0
        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);
        }
Пример #9
0
        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);
        }
Пример #10
0
        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);
        }