orochasamuel / fiscalbr-net

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

Duvida - SINTEGRA #54

Closed marceloxavier9644 closed 1 year ago

marceloxavier9644 commented 2 years ago

Olá, tem algum exemplo de como gerar sintegra?

Em MG ainda utilizamos sintegra e estou precisando muito, obg.

FabioDlink commented 2 years ago

@marceloxavier9644 conseguiu gerar o Sintegra. Tem algum exemplo?

marceloxavier9644 commented 2 years ago

Aprendi como gerar, nao testei tudo pq meu sistema está em desenvolvimento ainda.

FabioDlink commented 2 years ago

Conseguir aqui. Tudo certo. Obrigado.

marceloxavier9644 commented 2 years ago

@FabioDlink como vc gerou o registro 90 ? nao estou conseguindo escrever ele.

orochasamuel commented 2 years ago

@marceloxavier9644 @FabioDlink tudo na paz?

O Registro 90 do SINTEGRA é o único registro que o FiscalBR gera "automagicamente", você só precisar informar as linhas previamente geradas.

Na geração do Registro 90 eu verifico quais registros estão no arquivo para totalizar as linhas de cada registro.

image

Após instanciar a classe use o método EscreverRegistro90( ).

PS: Qualquer dúvida adicional é só postar aqui ou se preferir, entre em contato.

Vida longa e próspera 🖖

devcristopher commented 1 year ago

@orochasamuel bom dia, beleza? Consegue me ajudar?

Populei todos os registros, agora para gerar o arquivo eu preciso popular o R90 conforme sua resposta ali em cima? Como eu passo os registros que populei se o parametro é uma lista de string?

orochasamuel commented 1 year ago

Fala @devcristopher tudo na paz?

Imagino que você populou todos os registros e já está no final do seu método de geração agora, basta escrever as linhas para uma lista de strings e fazer a chamada do método.

devcristopher commented 1 year ago

@orochasamuel tudo bem! E com você?

Certo... eu populei, por exemplo, o registro 10:

var registro10 = new Registro10(empresa.CnpjCpf,
                                                empresa.IE,
                                                empresa.RazaoSocial,
                                                empresa.Cidade,
                                                empresa.Estado,
                                                empresa.Telefone1,
                                                model.DataInicio,
                                                model.DataFinal,
                                                (CodFinalidadeArquivo)model.Finalidade,
                                                (CodEstruturaArquivo)model.ConvenioIcms,
                                                (CodNaturezaOperacoes)model.Operacao);

Então criou-se o objeto de Registro10, esse registro que é a ''linha'' e que devo converter json/string? Se sim, fiz o seguinte:

 string registroAux = JsonConvert.SerializeObject(registro10, Newtonsoft.Json.Formatting.Indented);
 linhas.Add(registroAux);
 var sintegra = new Registro90(empresa.CnpjCpf, empresa.IE, linhas);

Mas a variavel sintegra retorna vazia...

orochasamuel commented 1 year ago

@devcristopher depois de instanciar o Registro90 você precisa chamar o método de escrita.


            var linhas = new List<string>();

            var source = new FiscalBr.Sintegra.Registro10(
                "00000000000191",
                "123456789",
                "BANCO DO BRASIL S.A.",
                "",
                "",
                "",
                initialDate,
                finalDate,
                FiscalBr.Sintegra.CodFinalidadeArquivo.Cod1,
                FiscalBr.Sintegra.CodEstruturaArquivo.Cod3,
                FiscalBr.Sintegra.CodNaturezaOperacoes.Cod3
                );

            var linhaEscrita = Common.Sintegra.EscreverCamposSintegra.EscreverCampos(source);

            linhas.Add(linhaEscrita);

            var reg90 = new FiscalBr.Sintegra.Registro90(
                "CNPJ",
                "IE",
                linhas
                );

            var reg90Escrito = reg90.EscreverRegistro90();

            // Adiciona Registro 90 escrito nas linhas
            linhas.Add(reg90Escrito);

As linhas passadas como parâmetro do construtor já devem ser todas as outras linhas do arquivo, após instanciar o R90 chame o método EscreverRegistro90 e adicione o resultado nas linhas e salve no arquivo, exporte, dê o tratamento que desejar.

Tente desta forma e me retorne qualquer dúvida.

Vida longa e próspera 🖖

devcristopher commented 1 year ago

@orochasamuel Entendi! Muito obrigado, deu certo.

orochasamuel commented 1 year ago

De nada ✌️