In case you missed the announcement: Alteryx One is here, and so is the Spring Release! Learn more about these new and exciting releases here!

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
Autores com maior número de soluções