Ir para conteúdo
  • Cadastre-se

dev botao

Alterações para atender validações do registro C181 (EFD ICMS/IPI 2023)


Datacamp
Ver Solução Respondido por EliasCesar,
  • Este tópico foi criado há 503 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro

Considerando a seguinte regra do registro C181 (Página 96 do Guia Prático do EFD 2023)

Campo 02 (COD_MOT_REST_COMPL) - Validação: o valor informado deve estar de acordo com a tabela 5.7 publicada pela UF do informante do arquivo com o terceiro caractere for igual a 5, 6, 7 ou 8. Para os campos de valores unitários não obrigatórios, se o terceiro caractere do código preenchido no campo “COD_MOT_REST_COMPL” for:

a) igual a 5, os campos 13, 14 e 15 devem ser preenchidos e os campos 16 a 21 não devem ser preenchidos.

b) igual a 6, os campos 13, 14, 15, 16, 20 e 21 devem ser preenchidos e os campos 17, 18 e 19 não devem ser preenchidos.

c) igual a 7, os campos 13, 14, 15, 17, 20 e 21 devem ser preenchidos e os campos 18 e 19 não devem ser preenchidos.

d) igual a 8, os campos 13, 14, 15, 16, 18 e 19 devem ser preenchidos e os campos 17, 20 e 21 não devem ser preenchidos.

OBS: Tive que zipar, o ACBRUtil.base estava dando erro no Upload mesmo renomeando e tirando o ".".

Realizei algumas alterações porém que tiveram alguns detalhes que talvez estejam duplicados ou fora do padrão, seguem descrição das alterações e justificativas:

ACBrUtil.Base

Criei duas funções:

EstaVazio(AValue : Variant) sobrecarga

- Fiz essa sobrecarga pois não encontrei função análoga que pegasse um dado Variant e retorna-se dessa forma sobre essas condições porém acredito que já deva existir, ele engloba os valores de string vazia, Null, Unassigned e Undefined, se fez necessário por conta que as validações no bloco C (só alterei as do C181) estavam fazendo o seguinte:

Considerando o DFill(double, boolean)

Estava assim:

DFill (campo_variant, VarIsNull(campo_variant))

Na hora de criar o objeto com atributo Variant o atributo vem com Unassigned, ai o VarIsNull não pega ele, e caso force como null a função DFill dá problema por conta da conversão Variant -> Double resulta em erro.

forceDouble(AValue : Variant)

- O forceDouble pega uma Variant e caso seja string vazia, Null, Unassigned e Undefined ele retorna 0 para não quebrar a função DFill.

 

Assim ficando:

DFill(forceDouble(campo_variant), EstaVazio(campo_variant))

 

Garantindo que o campo não será preenchido nesses casos, uma vez que os campos que alterei no C181 estavam com essa validação e os acima deles já estavam com 0 -> deixar vazio, porém nesse caso acredito ser melhor validar dessa forma.

 

Obs2: Não alterei outros registros pois primeiro gostaria de ver se as alterações são válidas para que no futuro possa repassar nos outros campos e atualiza-los para essa lógica.

ACBR_Sped_Fiscal_c181.rar

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Consultores

Tópico movido para a área do SAC, para que o SLA de respostas seja considerado

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • Consultores

Obrigado pela contribuição, em breve será validada para possível inclusão ao svn #TK-3349

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois ...
  • Administradores

Bom dia,

Devido a haver outras mudanças no SPED além desta, o time está fazendo todos os ajustes e antes do fim desta semana será enviado ao repositório.

At.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • Consultores
  • Solution

Olá pessoal, 

Acabei de enviar um commit ajustando os campos modificados pela versão 3.1.0 do Guia Prático da EFD-ICMS/IPI

Os Registros alterados foram: C181, C330, C380, C430, C480, C815, C880 e C185.

Disponível no SVN, Rev: 27928.

  • Curtir 2
Consultor SAC ACBr

Elias César Vieira
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil
Assine o
SAC

 
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.