Ir para conteúdo
  • Cadastre-se

dev botao

arquivo mf e mfd apos primeira reducao


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

Recommended Posts

  • Fundadores

Ok, finalmente consegui concluir...  As modificações irão quebrar a compatibilidade

Citar

-- ACBrDevice --
[+] Adicionado o tipo: TACBrECFTipoDownloadMFD = (tdmfdTotal, tdmfdData, tdmfdCOO);

-- ACBrECF --
[*] Método "ArquivoMF_DLL(NomeArquivo: AnsiString)", renomeado para:
    "ArquivoMF_Binario_DLL(NomeArquivo: AnsiString)"
[*] Método "ArquivoMFD_DLL(NomeArquivo: AnsiString)", renomeado para:
    "ArquivoMFD_Binario_DLL(NomeArquivo: AnsiString)"
[+] Adicionado os métodos:
   ArquivoMFD_Binario_DLL(NomeArquivo: AnsiString; DataInicial, DataFinal: TDateTime);
   ArquivoMFD_Binario_DLL(NomeArquivo: AnsiString; COOInicial, COOFinal: Integer);
[*] Método "PafMF_Binario(const PathArquivo: String)", removido. Use o método:
    "PafMF_ArqMF_Binario"
[*] Método "PafMF_ArqMF", renomeado para "PafMF_ArqMF_Binario"
[*] Método "PafMF_ArqMFD", renomeado para "PafMF_ArqMFD_Binario", e assinatura
    modificada para:
    procedure PafMF_ArqMFD_Binario(const APathArquivo: String; DataInicial: TDateTime = 0;
      DataFinal: TDateTime = 0; Assinar: Boolean = True);

-- ACBrECFBematech, ACBrECFDaruma, ACBrECFEpson, ACBrECFEscECF, ACBrECFSwedaSTX --
[*] Aplicada modificações em "ArquivoMFD_Binario_DLL", para o funcionamento por
    Periodo de Data e Intervalo de COO

-- ACBrECFEpson --
[*] Ajuste para que métodos da DLL, para geração de MF, MFD não gravem a linha de EAD
[*] Ajuste no Path informado para a DLL, segundo recomendações da Epson

-- ACBrECFFiscNET --
[+] Implementação inicial dos métodos: "ArquivoMF_Binario_DLL" e "ArquivoMFD_Binario_DLL"

  (Por: Pedro Braga e DSA)
  http://www.projetoacbr.com.br/forum/topic/32980-arquivo-mf-e-mfd-apos-primeira-reducao/

 

  • Curtir 1
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

Link para o comentário
Compartilhar em outros sites

PafMF_ArqMF_Binario  como gerar esse aqui por data? pois no paf tem de gerar MFD E MF por data referente ao mes inferior a data da reducao da virada do mes.

 

 

2. O PAF-ECF deve, quando da emissão da primeira Redução Z de cada mês, comandar automaticamente a gravação de arquivo eletrônico no formato binário com dados extraídos do dispositivo de Memória Fiscal do ECF, relativo ao mês imediatamente anterior. 
3. O PAF-ECF deve, quando da emissão da primeira Redução Z de cada mês, comandar automaticamente a gravação de arquivo eletrônico no formato binário com dados extraídos do dispositivo de Memória de Fita Detalhe do ECF, relativo ao mês imediatamente anterior. 

se eu estive enganado me corrija, mais vi que apenas o PafMF_ArqMFD_Binario tem opcao de data, e quando ao MF?

Editado por gss200610
Link para o comentário
Compartilhar em outros sites

ja tinha implementado e testado, atualizei agora, e perdir as alteracoes feitas, vou analizar novamente, fazê-las e posta aqui, incluvise no meu post ai tem as units alteradas sem afetar o acbr. incluir ate novas funcoes de validacoes na integra pra daruma de erros extendidos. se puderem analizar. fico grato.

as units estao anexado no post anterior. e testei e estao funcionando

 

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Não parece correto... você está chamando a geração do TXT da MFD.. e não do Binário da MF...

procedure TACBrECF.PafMF_ArqMF(const NomeArquivo: String;
DataInicial, DataFinal: TDateTime;Assinar: Boolean  );
var
  EADStr: String;
begin
  if (not fsAtivo) then
     raise EACBrECFNaoInicializado.create( ACBrStr(cACBrECFNaoInicializadoException) );

  Self.ArquivoMFD_DLL(DataInicial, DataFinal, NomeArquivo,
                      [ docTodos], finMF);

  if not FileExists(NomeArquivo) then
    raise EACBrEADException.CreateFmt('Arquivo MFD: "%s" não foi gerado', [NomeArquivo]);

  if Assinar then
  begin
    // assinar o arquivo baixado da impressora
    EADStr := 'EAD' + GetACBrEAD.CalcularEADArquivo(NomeArquivo);

    // gravar o arquivo texto com a assinatura EAD
    WriteToTXT(ChangeFileExt(NomeArquivo, '.TXT'), EADStr, False, True);
  end

end;

 

Esse foi justamente o motivo de eu ter modificado o nome dos métodos... (confusão entre Binário e TXT)

 

 

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

Link para o comentário
Compartilhar em outros sites

  • Moderadores
1 minuto atrás, gss200610 disse:

entao como diz no ato cotepe é prar o binario com extensao MF e gerar o txt com a assinatura dessse MF

Sim, no Ato Cotepe pede para gerar o arquivo binário e um TXT a parte com a assinatura EAD do respectivo binário, isso se deve para não invalidar o binário colocando o EAD no mesmo.

Pedro E. Braga

Product Owner/ System Analyst / Programmer

WhatsApp (47) 98925-0951

E-mail: [email protected]

Skype: [email protected]

http://bragatec.blogspot.com.br

Link para o comentário
Compartilhar em outros sites

Sim, no Ato Cotepe pede para gerar o arquivo binário e um TXT a parte com a assinatura EAD do respectivo binário, isso se deve para não invalidar o binário colocando o EAD no mesmo.

 

segue arquivo da MF por data gerado com metodo, que falei, observe que nao esta assinado dentro do binario e sim criado um txt com a assinatura do binario

12025620131100405572_20161123_142640_142640.MF

12025620131100405572_20161123_142640_142640.TXT

Editado por gss200610
Link para o comentário
Compartilhar em outros sites

  • Moderadores

O Arquivo gerado não é o arquivo binário do ECF é o arquivo Cotepe da MF utilizado para atender programas como Nota fiscal paulista dentre outros, utilize para o processo de geração dos arquivos MF e MFD os novos métodos criados pelo Daniel, assim atenderá a legislação, Homologamos o PAF Ontem utilizando os mesmos a geração foi realizada com sucesso.

 

Pedro E. Braga

Product Owner/ System Analyst / Programmer

WhatsApp (47) 98925-0951

E-mail: [email protected]

Skype: [email protected]

http://bragatec.blogspot.com.br

Link para o comentário
Compartilhar em outros sites

mais qual voce usou pra gerar MF -> por data , pq nos metodos ai, so vi pra gerar total, e no ato é claro pra gerar referente ao mes anterior , ou seja do dia 01 a final do mes e nao total

 

se puder postar ai a geracao do arquivo binario MF gerado por data, agradeço

Editado por gss200610
Link para o comentário
Compartilhar em outros sites

  • Moderadores

O MF apenas a Epson possibilita geração por período, assim geramos de forma total a MF.

O MFD fiz a implementação o qual o Daniel realizou algumas mudanças e utilizamos a mesma assim gerando por período.

 

Vale lembrar que se o fabricante do ECF não dispor de função para geração do arquivo binário por período deve-se gerar de forma total.

Editado por Pedro E. Braga
  • Curtir 1

Pedro E. Braga

Product Owner/ System Analyst / Programmer

WhatsApp (47) 98925-0951

E-mail: [email protected]

Skype: [email protected]

http://bragatec.blogspot.com.br

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Olha temos ecf de desenvolvimento que chega a levar quase 1 hora pra gerar o arquivo, agora não temos o que fazer pois se a legislação está exigindo so nos resta atender, quanto a aplicação vc pode deixar uma mensagem informando que o processo é bem lento e indicando a legislação correspondente que está atendendo.

Pedro E. Braga

Product Owner/ System Analyst / Programmer

WhatsApp (47) 98925-0951

E-mail: [email protected]

Skype: [email protected]

http://bragatec.blogspot.com.br

Link para o comentário
Compartilhar em outros sites

  • 2 meses depois ...
Em 23/11/2016 at 14:13, Pedro E. Braga disse:

O MF apenas a Epson possibilita geração por período, assim geramos de forma total a MF.

O MFD fiz a implementação o qual o Daniel realizou algumas mudanças e utilizamos a mesma assim gerando por período.

 

Vale lembrar que se o fabricante do ECF não dispor de função para geração do arquivo binário por período deve-se gerar de forma total.

Mas isso não vai contra o item 5 deste mesmo requisito???

5. Em relação aos itens 2 e 3 deste requisito, sempre que a função não for disponibilizada pelo software básico do ECF, o PAF-ECF deve gerar um arquivo de log, contendo uma linha com o número de fabricação do ECF e versão do software básico deste e outra linha contendo a assinatura digital do PAF-ECF com o registro tipo EAD especificado no requisito XXXI.

Link para o comentário
Compartilhar em outros sites

  • Moderadores
5 minutos atrás, Artur Alencar disse:

Então na verdade devemos ignorar o item 5, ou confirmar com o nosso homologador?

Recomendo confirmar com o Homologador pois cada um pode interpretar de uma forma esse requisito.

Editado por Pedro E. Braga

Pedro E. Braga

Product Owner/ System Analyst / Programmer

WhatsApp (47) 98925-0951

E-mail: [email protected]

Skype: [email protected]

http://bragatec.blogspot.com.br

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2613 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.