Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 3767 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Olá pessoal, não sei como gerar o registro que pede o requisito abaixo:

REQUISITO X
1. O PAF-ECF utilizado no Distrito Federal, quando imprimir no Cupom Fiscal o CPF ou o CNPJ do
adquirente ou tomador deverá:
2. Gerar obrigatoriamente, os seguintes registros previstos no Ato COTEPE/ICMS 35/2005: A020, A300,
A350, C020, C550 ou C600, conforme o caso.
3. Gerar facultativamente, os seguintes registros previstos no Ato COTEPE/ICMS 35/2005: A310, A360,
C555 ou C605.
4. Utilizar máscaras no formato xxx.xxx.xxx/xx para CPF e yy.yyy.yyy/yyyy-yy para CNPJ, onde x
representa dígito do CPF e y representa dígito do CNPJ digitados pelo operador da frente de caixa.
5. Calcular o tributo a ser debitado, conforme definido na legislação tributária do Distrito Federal, por
Cupom Fiscal, aplicando as situações tributárias definidas em cada item de mercadoria ou serviços do
cupom, e, no caso de haver desconto ou acréscimo em subtotal, deverá ajustar o valor, truncando ou
arredondando, conforme disposto no item 3.11 do Ato COTEPE/ICMS 16/09.
6. Imprimir a expressão “NL”, entre aspas, imediatamente após os caracteres hexadecimal do código
MD5 de identificação do PAF-ECF no Cupom Fiscal, a que se refere a alínea “c” do Item 1 do requisito
XI.

 

Procurei no fórum, li bastante, abri o exemplo do sped, me desculpem mas não compreendi como é feita a geração, segundo os tópicos não tem exemplo dele pois é muito parecido com o sped, o problema é que não gerei arquivos do sped usando o acbr, então fiz tudo diferente, claro que nem se compara a produtividade que vou ter usando o acbr, por isso peço ajuda aos colegas pra me esclarecerem ou se puderem mandar um trecho de código de como iniciar a geração.

Obrigado.

Rafa

Postado

Olá Régys, veja esse código:

    with ACBrLFD1.Bloco_A do begin
        with RegistroA020New do begin
            DT_INI := StrToDate('01/01/2014');
            DT_FIN := StrToDate('01/03/2014');
            with RegistroA020New do begin
                IND_OPER.tplSaidaPrestacao := '';
                IND_EMIT := '';
                COD_PART := '';
                COD_MOD := '';
                COD_SIT := '';
                SER := '';
                SUB := '';
                DT_DOC := '';
                cpfs // não encontrei a propriedade
                COD_MUN_SERV := '';
                COD_NAT := '';
                VL_DOC := '';
                IND_PGTO := '';
                VL_SUB := ''; // é o mesmo que Vl_sub_tot ?
                VL_DESC := '';
                VL_SERV := '';
                VL_MAT_PROP := '';
                VL_MAT_TERC := '';
                VL_DA := '';
                VL_BC_ISS := '';
                VL_ISS := '';
                VL_BC_RT_ISS := '';
                vl_iss_rt // não encontrei a propriedade
                COD_INF_OBS := '';
            end;
        end;
    end;

 

É isso que devo fazer mais ou menos? Acontece que tem algumas informações que não encontrei conforme está comentado no código acima, por isso estou receoso em avançar, me diga se é mais ou menos esse o caminho a seguir, agradeço imensamente mais uma vez.

Rafa

Postado

Régys, obrigado, não encontrei essas duas propriedades/campos vl_iss_rt que é o valor retiro pelo tomador e o campo cfps que é o código fiscal de prestação de serviço, vou tentar gerar o arquivo assim, qualquer coisa volto a pedir ajuda.

Obrigado.

Rafa

  • 3 semanas depois ...
Postado

Bom dia pessoal.

Também estou com dificuldades na geração do arquivo 35/205 A020, A030...pelo ACBrLFD1

Quando compilo do Delphi XE, me retorna o erro da imagem abaixo. 

Talvez seja algo simples que eu nem tenho me ligado.

 

 

Atenciosamente

Caetano

post-3710-0-86463800-1380722679.png

Atenciosamente

Caetano

'Juntos podemos mais'

Postado

Entendo Juliomar,

só joguei vazio para o exemplo, o correto seria como abaixo mas mesmo assim da erro. É usado alguma conversão ou estou esquecendo de adiciona algo na uses? 

IND_OPER := tpEntradaAquisicao;

[DCC Error] UMenuFiscal.pas(2234): E2003 Undeclared identifier: 'tpEntradaAquisicao'

 

Att;

Atenciosamente

Caetano

'Juntos podemos mais'

  • Moderadores
Postado

Esse é o tipo e falta a uses dele

caso não acha é simples segura o Ctrl e clica com o mouse em cima do nome da propriedade ele vai ir até a classe

depois faça o mesmo para o tipo da propriedade e você vai saber a uses que deve de adicionar a sua unit

Entendo Juliomar,

só joguei vazio para o exemplo, o correto seria como abaixo mas mesmo assim da erro. É usado alguma conversão ou estou esquecendo de adiciona algo na uses? 

IND_OPER := tpEntradaAquisicao;

[DCC Error] UMenuFiscal.pas(2234): E2003 Undeclared identifier: 'tpEntradaAquisicao'

 

Att;

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Postado

Então Juliomar. Agradecendo dese já.

Sei que pode ser perguntas de principiante, porém mesmo eu colocando o código dentro do exemplo do SpeedFiscal, ele não compila, a minha dificuldade é que não estou encontrando o tipo de alimentação para os campos.

 

Acho que agora ficou melhor explicado.

 

Grato

Atenciosamente

Caetano

'Juntos podemos mais'

Postado

Olá Caetano;

Seria isso?

 

IND_OPER := tplSaidaPrestacao;
IND_EMIT := edlEmissaoPropria;
 
Abraço

Maiquel Parisotto

 

"Ora, a fé é o firme fundamento das coisas que se esperam, e a prova das coisas que se não vêem"

Postado

Olá pessoal, mudei o foco da programação, desisti pois não consegui entender a geração desses registros, a propósito pelo que vi tem mais gente com dificuldade, o que gostaria de saber é se tem alguem que pode dar uma explicada melhor, estive observando a dias atrás e realmente não entendi, olhando o exemplo do sped fiscal consegui ter um entendimento melhor, mas trazendo pra esses registros não consegui entender, e quando não se consegue entender complica, fiz homologação em janeiro no paf 01.13 e os registros RXX, EXX, PXX fiz tudo na unha, realmente o trabalho é imenso mas consegui fazer e tá rodando, agora estou refazendo o processo de homologação e resolvi partir pro acbr de forma maciça, estou contribuindo com o pouco que posso atualmente assinando o sac, pretendo assim que a empresa "se pagar" ser um fiel contribuinte financeiro com o projeto, afinal me ajudou e me ajuda muito, porém estou vendo que por falta de conhecimento e incapacidade minha de entender como o acbr funciona pra gerar esses registros que o DF pede vou ter que fazer manualmente, se alguma boa alma puder dar um passo a passo ou uma explicação acho que vou conseguir, e também o Caetano conseguirá e quem mais tiver com dificuldade.
Daqui uns dias volto nesse mesmo foco de programação e volto a me aprofundar no assunto.

Agradeço mais uma vez.

Rafa

  • Moderadores
Postado

Uma pergunta você gerou o arquivo do layout do sped vendas do período usando o ACBrSpedFiscal?

se sim ele é o mesmo principio pois foi baseado nele, então é só seguir o manual vendo os registros e ir adicionando os blocos

quanto as tipagens de dados é só adicionar as units que ele necessita usando uma pesquisa rápida vai achar quais são 

não tem segredo 

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Postado

Olá Juliomar, obrigado pela resposta, infelizmente na versão 01.13 do paf-ecf fiz tudo manual, só usei o acbr pra impressão de cupom fiscal, agora gostaria de gerar todos arquivos pelo acbr que sem dúvida alguma é bem menos moroso, prova disso é a geração dos registros de paf-ecf do menu fiscal, na versão, pra ter ideia, o item do menu fiscal vendas no periodo não sofreu mudanças do paf 01.13 pra 2.01 então vou manter, mas devagar quero migrar, por isso do pedido de ajuda, conforme o Maiquel colocou pro Caetano achei os tipos, mas ele ainda não está gerando certo registros, olha o código como está:

  with ACBrLFD1.Bloco_A do begin
          DT_INI := StrToDate('01/09/2013');
          DT_FIN := StrToDate('30/09/2013');
         with RegistroA020New do begin
            IND_OPER := tplEntradaAquisicao;
            IND_EMIT := edlTerceiros;
            COD_PART := 'teste part';
            COD_MOD := 'teste mod';
            COD_SIT := sdlRegular;
            SER := '1';
            SUB := 'xcvcxv';
            NUM_DOC := 1;
            DT_DOC := DT_INI;
            COD_MUN_SERV := 101;
            COD_NAT := '';
            VL_DOC := 1.11;
            IND_PGTO := tplVista;
            VL_SUB := 1.11;
            VL_DESC := 1.11;
            VL_SERV := 1.11;
            VL_MAT_PROP := 1.11;
            VL_MAT_TERC := 1.11;
            VL_DA := 1.11;
            VL_BC_ISS := 1.11;
            VL_ISS := 1.11;
            VL_BC_RT_ISS := 1.11;
            VL_RT_ISS := 1.11;
            COD_INF_OBS := 'observacao';
         end;
   end;
   ACBrLFD1.IniciaGeracao;
   ACBrLFD1.SaveFileTXT;

 

O arquivo gerado está saindo assim:

|0000|LFPD|001|0|00|||2|0||||0|||0000000|||

 

ele não gera o registro a020, o que está de errado, o que está faltando?
|0001|0|
|0005|TESTE|00000000|||||00000000|||||
|0100||||||00000000|||||00000000|||||
|0125|||||||
|0990|6|
|A001|1|0000000|
|A990|2|
|B001|1|0000000|
|B990|2|
|C001|1|
|C990|2|
|D001|1|
|D990|2|
|E001|1|
|E300|||
|E360|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|
|E500|||
|E530|0|0|0|0|0|0|0|
|E990|6|
|H001|1|
|H020||0|
|H990|3|
|8001|1|DF|
|8990|2|
|9001|0|
|9900|0000|1|
|9900|0001|1|
|9900|0005|1|
|9900|0100|1|
|9900|0125|1|
|9900|0990|1|
|9900|A001|1|
|9900|A990|1|
|9900|B001|1|
|9900|B990|1|
|9900|C001|1|
|9900|C990|1|
|9900|D001|1|
|9900|D990|1|
|9900|E001|1|
|9900|E990|1|
|9900|H001|1|
|9900|H020|1|
|9900|H990|1|
|9900|8001|1|
|9900|8990|1|
|9900|9001|1|
|9900|9900|25|
|9900|9990|1|
|9900|9999|1|
|9990|28|
|9999|53|
 

 

Obrigado.

Rafa

Postado

Bom dia.

Estou na mesma situação que o colega  Rafa;

Faço a seguinte rotina

-Inciageração

-with RegistroA020New

-ACBrLFD1.WriteBloco_A;

 

Mas não aparece o registro A020, o que faço de errado?

 

Agradeço

Atenciosamente

Caetano

'Juntos podemos mais'

Postado

 with ACBrLFD1.Bloco_A do begin
         with RegistroA001New do begin
         IND_MOV := imlComDados;
         for INotas := 1 to NNotas do begin
         with RegistroA020New do begin
            IND_OPER := tplEntradaAquisicao;
            IND_EMIT := edlTerceiros;
            end;
         end;
      end;

Atenciosamente

Caetano

'Juntos podemos mais'

Postado

Desculpa dei enter antes de terminar.

Quando adiciono a linha with RegistroA001New do begin para informar se tem dados, na hora que chega no código  ACBrLFD1.WriteBloco_A; retorna erro de acess violation

 

Agradeço

Caetano

Atenciosamente

Caetano

'Juntos podemos mais'

Postado

Boa tarde caetano;

Pelo que eu vejo, é um erro na montagem.

Faz o seguinte e retorna o resultado..

 

  with ACBrLFD1 do begin
      IniciaGeracao;
  end;
  with ACBrLFD1.Bloco_A do begin
       with RegistroA001New do begin
             IND_MOV := imlComDados;

             with RegistroA020New do begin
                 with RegistroA300New do begin
                 end;
                 with RegistroA350New do begin
                 end;
             end;
      end;
   ACBrLFD1.WriteBloco_A;

 

É só um pouco dificil de entender depois vai tranquilo

 

Abraço

Maiquel

Maiquel Parisotto

 

"Ora, a fé é o firme fundamento das coisas que se esperam, e a prova das coisas que se não vêem"

Postado

Ola Maiquel.

Deu certo. Muito obrigado mesmo, bem objetivo no que eu precisava. Eu não estava informando o A350, foi só alimentar que não ocorreu mais o erro.

Será que esta correto desta forma? é necessário informar os três registros para funcionar?

 

Agradeço a todos pela colaboração.

Caetano

Atenciosamente

Caetano

'Juntos podemos mais'

  • Moderadores
Postado

Ola Maiquel.

Deu certo. Muito obrigado mesmo, bem objetivo no que eu precisava. Eu não estava informando o A350, foi só alimentar que não ocorreu mais o erro.

Será que esta correto desta forma? é necessário informar os três registros para funcionar?

 

Agradeço a todos pela colaboração.

Caetano

No caso ele é igual ao Sped então tem uma certa hierarquia

pra casos que somente vai existir um registro se existirem os pais dele

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

  • 4 semanas depois ...
Postado

Olá pessoal,

Tudo bem?

 

Estou montando este arquivo do Requisito X do PAF-ECF agora, utilizando o ACBrLFD, até ai tudo bem...

 

Gostaria de saber se alguém tem um manual/layout de cada registro deste arquivo (A020, A350, C020, C550, etc...), assim como existe o do SPED.

 

Procurei pacas na internet e nada, gostaria de um layout que fala do campos que cada registro tem...

 

Se alguém tiver e me disponibilizar agradeço...

 

Abs

Júlio Cézar Mendonça

Connection System

Desenvolvimento de Sistemas e Consultoria em TI

www.connectionsystem.com.br

[email protected]

  • Este tópico foi criado há 3767 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.