Free Trial

Fórum

EFD Fiscal

Prezados, estou com dificuldade para quebrar um arquivo de EFD FISCAL no alteryx. 

alguem poderia me ajudar ?

24 RESPOSTAS 24
CainaClimaco
Átomo

Fábio, boa noite.

 

Poderia fornecer mais detalhes? Não estou conseguindo replicar o fluxo. 

Devo ter errado alguma fórmula...

 

Obrigado.

fabioabr
Meteoro

Olá,

 

Se quiser, pode compartilhar seu workflow q posso dar uma olhada

 

@CainaClimaco 

 

T+

CainaClimaco
Átomo

Olá Fábio, bom dia.

 

Estou compartilhando dois fluxos:

 

1 - o que eu tentei reperfomar; 2 - o que eu tentei fazer uma quebra diferente.

 

O arquivo em si não é um txt de sped fiscal.. é um exemplo de contribuições maaaaas que eu adicionei um c100 e c170 pra fingir. Pois não tenho acesso a txt de empresas.

 

Se puder dar uma olhada eu agradeço.

 

Obrigado

fabioabr
Meteoro

Olá @CainaClimaco 

 

Aparentemente voce fez tudo certo no fluxo 1 que vc mandou (Quebra Sped.yxmd)...

 

Só restou vc separar os campos desejados usando filtros no campo "First_RegistroSPED" e depois renomear cada um dos resultados de acordo com os campos que constam no manual.

 

Exemplo do Trecho:

 

 

Saqueador
fabioabr_0-1596640810100.png

 

Exemplo 0150 :

 

Saqueador
fabioabr_0-1596640932056.png

 

O Manual do SPED onde consta as informações de cada registro pode ser encontrado neste link:

http://sped.rfb.gov.br/arquivo/download/4202

 

Espero ter ajudado!!!

 

T+

 

 

CainaClimaco
Átomo

Achei que havia errado algo em relação aos IDs Pai e ID...

 

Uma dúvida mesmo, o segundo fluxo não faz a mesma coisa? Tentei deixar ele mais simples mas não sei se o resultado ficou satisfatório. O problema é que seria bem mais manual: (select de colunas para cada registro, renomear cada registro, etc)

fabioabr
Meteoro

Olá...

 

Na verdade existem algumas coisas que podem ser feitas para vc evitar o trabalho de renomear os campos um por um...

 

Vamos lá,

 

Eu criei uma tabela contendo os nomes dos campos para os registro que eu uso aqui.

 

Saqueador
fabioabr_0-1596641611666.png

 

Neste arquivo eu aplico uma formula para transformar a ORDEM 1 em 2. Pq isso? Se vc reparar a linha do SPED começa com o PIPE, fazendo com que o 1 campo seja sempre vazio e o REG fique no campo 2.

 

Basta colocar uma formula para ajustar este campo:

ORDEM = ToString([ORDEM] + 1)

 

Em paralelo, quebrarmos o arquivo inteiro do sped usando o componente Texto para Colunas

 

fabioabr_1-1596642088602.png

E depois usamos uma ferramenta para transpor as colunas em um formato Chave/Valor. Lembra que a quebra de Texto para Colunas gerou colunas denominadas 1, 2, 3 ,4 ,5 ,6, 7.... etc?

 

Então... agora basta fazer uma Junção entre o resultado da Quebra e o Arquivo de nomenclatura de campos.... usando os campos

A.REG = B.REG AND A.ORDEM = B.Name (Campo gerado no Transpor)

 

Fazendo isso vc vai ter uma tabela contendo alguns campos. Porém 3 campos são importantes neste caso....

São Eles :

 

- CAMPO

- Name

- Value

 

neste momento vc vai ter encontrado o nome do CAMPO para os valores extraídos na ferramenta Transpor.

 

Agora basta FILTRAR o registro que vc quer... e então usar uma ferramenta 'Tabela de Referencia Cruzada' para fazer tudo virar uma tabela denovo.

 

Deu pra entender essa bagunça toda? kkkkk

 

T+

 

FláviaB
Alteryx Community Team
Alteryx Community Team

Obrigada por toda a ajuda @fabioabr

 

@CainaClimaco nos avise se conseguiu dar uma olhadinha nas recomendações do Fabio ou se ainda tem alguma dúvida. 😉 

Flávia Brancato
fabioabr
Meteoro

Ahhh... só mais uma coisinha...

 

Quando houver necessidade de unir registros pais e filhos... (por exemplo C100 e C170)

 

é necessario usar o JOIN da sequinte forma:

 

Filho.IDPai = Pai.ID AND

Filho.IDSped = Pai.IDSped

 

(Usamos o IDSped também pois podemos importar mais de 1 arquivo)

 

fabioabr_0-1596641221302.png

 

T+

CainaClimaco
Átomo

Oi gente. Desculpem a demora.

 

Preciso analisar melhor a dica, por enquanto estou usando dynamic rename pros campos de 0150, C100, etc.

 

Acredito que desse jeito eu não irei precisar criar um dynamic para cada um dos registros do manual. O que iria facilitar bastante.. Assim que conseguir analisar melhor passo aqui para dar um feedback.

 

Sobre os registros Pais e Filhos acredito que deu tudo certo. Havia ficado um pouco confuso mas deu tudo certo. Foi apenas uma questão de aplicação do meu Join..

 

Obrigado pela disposição e valiosas dicas, Fábio.

FláviaB
Alteryx Community Team
Alteryx Community Team

Perfeito, @CainaClimaco

 

Continuamos por aqui se precisar de alguma coisa. Apenas como referência, aqui está a documentação de ajuda da Ferramenta Junção (Join). 😉 

Flávia Brancato
Rótulos