orochasamuel / fiscalbr-net

Para facilitar seu dia a dia como desenvolvedor \o/
MIT License
91 stars 48 forks source link

TODO: Simplificar preenchimento do Registro 0000 (SPED) #81

Closed orochasamuel closed 12 months ago

orochasamuel commented 1 year ago

Para geração do Registro 0000 a propriedade "CodVer" deve ser populada manualmente.

Mas o CodVer já é informado no método EscreverCampos - se não for informado deverá usar a última versão do layout disponível na biblioteca.

orochasamuel commented 12 months ago
Feature exclusiva do ArquivoEFDFiscalV2.

Agora o Registro0000 é criado no construtor da classe ArquivoEFDFiscalV2 com as informações da empresa e tipo/perfil do arquivo.


public ArquivoEFDFiscalV2(
    Empresa dadosEmpresa,
    DateTime dataInicial,
    DateTime dataFinal,
    IndCodFinalidadeArquivo finalidadeArquivo = IndCodFinalidadeArquivo.RemessaArquivoOriginal,
    IndPerfilArquivo perfilArquivo = IndPerfilArquivo.A,
    TipoAtivSpedFiscal tipoAtividade = TipoAtivSpedFiscal.Outros,
    VersaoLeiauteSped versaoLeiaute = VersaoLeiauteSped.V17
    ) : base(
        LeiauteArquivoSped.EFDFiscal,
        versaoLeiaute
        )
{
    if (this.Bloco0 is null)
        this.Bloco0 = new FiscalBr.EFDFiscal.Bloco0();

    if (this.Bloco0.Reg0000 is null)
        this.Bloco0.Reg0000 = new FiscalBr.EFDFiscal.Bloco0.Registro0000();

    this.Bloco0.Reg0000.CodVer = (CodVersaoSpedFiscal)ObterEnumVersaoLeiaute();
    this.Bloco0.Reg0000.CodFin = finalidadeArquivo;
    this.Bloco0.Reg0000.DtIni = dataInicial;
    this.Bloco0.Reg0000.DtFin = dataFinal;
    this.Bloco0.Reg0000.Nome = dadosEmpresa.RazaoSocial;

    if (dadosEmpresa.CpfCnpj.EhCpf)
        this.Bloco0.Reg0000.Cpf = dadosEmpresa.CpfCnpj.Numero;
    else
        this.Bloco0.Reg0000.Cnpj = dadosEmpresa.CpfCnpj.Numero;

    this.Bloco0.Reg0000.Ie = dadosEmpresa.InscEstadual;
    this.Bloco0.Reg0000.Im = dadosEmpresa.InscMunicipal;
    this.Bloco0.Reg0000.Suframa = dadosEmpresa.InscSuframa;

    this.Bloco0.Reg0000.Uf = dadosEmpresa.SiglaUf;
    this.Bloco0.Reg0000.CodMun = dadosEmpresa.CodMunicipio;

    this.Bloco0.Reg0000.IndPerfil = perfilArquivo;
    this.Bloco0.Reg0000.IndAtiv = tipoAtividade;
}