Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

  • Fundadores
Postado

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.

Postado (editado)

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
Postado

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

 

  • Fundadores
Postado

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.

  • Moderadores
Postado
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

Postado (editado)

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
  • Moderadores
Postado

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

Postado (editado)

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
  • Moderadores
Postado (editado)

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

Postado

so me responde uma coisa, supomos um cliente com 6 checkouts, movimento enorme, vai ser assim mesmo, gerar MF total a cada virada de mes.

como vai ficar, "PROGRAMA PAROU DE RESPONDER" usuario vai ter de desligar no botao da CPU, pq cá entre nos, isso é inviável

  • Moderadores
Postado

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

  • 2 meses depois ...
Postado
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.

Postado
15 horas atrás, Pedro E. Braga disse:

Artur Alencar, fizemos dessa forma com base na orientação do órgão homologador.

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

  • Moderadores
Postado (editado)
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

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