aopack / sintegrabr.net Goto Github PK
View Code? Open in Web Editor NEWBiblioteca gratuita para geração dos arquivos SINTEGRA.
License: MIT License
Biblioteca gratuita para geração dos arquivos SINTEGRA.
License: MIT License
Samuel,
nosso Devops encontrou algumas inconsistência na biblioteca. Segue abaixo o que modificarão para que seja corrigido ok.
Depois podemos olhar uma forma de testes para que estes tipos de erros não aconteça, facilitando assim o devel mesmo, pois isto acaba atrasando todo o processo, pois sempre achamos que a culpa é da parte criadora e não da DLL pronta em si. O que acha da ideia?
Segue:
(1) - LINHAS 75,82 e 88 da classe EscreveCamposSintegraByAttribute
do projeto SintegraBr.Common:
- Onde estava:
sb.Append(...).Replace(...).PadRight(sintegraCampoAttr.Tamanho, '0'));
- Foi substituído por ->
sb.Append(...).Replace(...).PadLeft(sintegraCampoAttr.Tamanho, '0'));
(2) - LINHA 97 da classe EscreveCamposSintegraByAttribute
do projeto SintegraBr.Common:
- Onde estava:
if(isCode)sb.Append(propertyValue.ToString().PadRight(sintegraCampoAttr.Tamanho, ' '));
- Foi adicionado em seguida:
else if(isCode) sb.Append(' ');
- Esta alteração permite que os quando o parâmetro é código (representa caractere) porém não tem valor, é inserido um espaço em branco. Esta alteração trata o campo 10 do registro 50: Emitente da Nota Fiscal (P-próprio/T-terceiros) -> (MANUAL DO SINTEGRA) 11.1.9.2 No caso de Nota Fiscal, modelo 1 e 1-A (código 01), preencher com brancos.
- Antes quando enviava um espaço em branco (' ') o SintegraBR substituía por nenhum espaço (''), porém o tópico do manual afirma que deve ser substituído por ' '.
No registro54, o modelo não está na ordem correta. Ele está na ultima posição, enquanto deveria estar na terceira posição. Fizemos a seguinte alteração que resolveu o problema:
- Na classe Registro54 linha 24: Onde era -> [SintegraCampos(3, "MODELO", "N", 2, 0, true)]
- Foi substituído por -> [SintegraCampos(2, "MODELO", "N", 2, 0, true)]
- Foi alterada a ordem do modelo onde a nova ordem é igual a ordem de todos os campos do registro54 (ordem = 2).
- Logo, o modelo que antes estava sendo impresso no fim, agora está sendo impresso na posição correta.
Outra alteração foi na da quantidade de casas decimais para o campo quantidade.
Este campo precisa de 3 casas decimais, portanto o valor exibido no arquivo sintegra não tinha nenhuma casa decimal (embora o atributo casas decimais ser igual 3).
- Foi alterado o tipo do atributo quantidade da classe Registro54.
- Antes era do tipo long
, passou a ser do tipo decimal
(igual aos tipos dos outros atributos, como valorProduto, valorDesconto).
Algumas correções que fizemos em nosso sistema que na verdade creio que poderia ser tratado pela DLL, fica a dica:
(1) - O SintegraBR não trata cnpj null, portanto em nosso sistema gerador sintegra foi adicionado um cnpj zerado (assim como foi dito para fazer no manual do sintegra) antes que fosse enviado para o a função de escrita do SintegraBR.
(2) - O SintegraBR não refatora tamanho da inscrição estadual, portanto em nosso sistema gerador sintegra foi removido casas decimais que sobram a esquerda antes que fosse enviado para o a função de escrita do SintegraBR.
Em anexo envio ai .cs que foram alterados, facilitando ainda mais a atualização dos mesmos
Arquivo gerado de teste
Linha do erro 15 , esse registro 53 da linha 15 deveria ser vinculado ao registro 50 da linha 4
ai queria saber qual o vinculo entre os dois para estar corrigindo o mesmo
Quando insiro um telefone (campo fax no registro 10) com tamanho maior do que 10 posições, por exemplo 12 posições, então é gerado no arquivo do sintegra as 12 posições enquanto deveria ser refatorado para o tamanho 10.
NF-e com 3 itens, sendo que dois itens tem o mesmo CFOP e um dos itens CFOP diferente
e os três tem alíquotas diferentes
Como gero o Registro 50 com base nisso?
Tenho uma revenda que me passou o seguinte
Gerar 3 Registros 50 são idênticos quase
Dois teriam o mesmo CFOP
Um teria o CFOP diferente
Os três teriam alíquotas diferentes
e se por caso os três tivessem alíquotas iguais
eu teria que gerar 2 Registros 50
Mudando apenas o CFOP
Isso se aplica a tudo? Digo tem base de calculo também isso se aplica lá também?
Realmente e assim?
Bom para gerar Sintegra preciso dos registros 61 é 61R para NFC-e.
Até então tudo bem, la nesses registros que vou adicionar somente NFC-e Autorizadas.
Onde devo lançar NFC-e Cancelada, Denegada é Numeração Inutilizada para NFC-e ?
Bom dia,
Conhece alguma biblioteca C# para gerar os arquivo nesse layou ?
Registro E05, E08, E09, E10,E11,E12, E13, E14
https://www.confaz.fazenda.gov.br/legislacao/atos/2004/ac017_04
Como faço para utilizar essa biblioteca em meu sistema ?
Quais classes devo usar para pegar os dados do BD e gerar o arquivo.
Bom dia @samuelrochaoliveira
Este projeto está em produção?
Olá,
A quantidade de casas decimais em valor de venda bruta R60M deve ser 2, porém está 0. Linha 76 Registro60M.
No manual não fala a quantidade porém é um numérico e dá erro se não colocar, portanto é bem provável que seja com 2 casas decimais mesmo. Testei com 2 casas e deu certo aqui!
Desde já obrigado.
Olá.
Sobre a quantidade de casas decimais do campo receita bruta e totalizador geral (R60R), o correto não seria tamanho 16 com 2 casas decimais? Na ultima versão o tamanho está 14. Rodei aqui e deu certo nas linhas do registro R60R.
Att,
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.