Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado (editado)

Caros,

 

Realizei alguns ajustes nas rotina que geram o SPED e SINTEGRA dos fabricantes Bematech e Daruma, são eles:

 

Bematech: Não estava gerando os arquivos esperados (SPED e SINTEGRA) quando especificado estes tipos de arquivos para rotina ArquivoMFD_DLL(DataInicial, DataFinal: TDateTime;

  NomeArquivo: AnsiString; Documentos: TACBrECFTipoDocumentoSet; Finalidade: TACBrECFFinalizaArqMFD).
 
Daruma: ArquivoMFD_DLL mesmo overload da Bematech: Ajuste nos nomes dos arquivos gerados.
 
 
Observação: Realizei as alterações somente neste overload com intuito de aguardar a aprovação da moderação, caso aprovem eu realizo nas demais chamadas para este método.
 
Lembrando que atualizei os componentes antes de criar o patch em anexo.
 
Att
Eric Serafim
Sidicom Software

ACBrSerial.patch.txt

Editado por ericserafim
  • Curtir 1

Eric Serafim
Gerente de Análise e Desenvolvimento
Sidicom Sistemas de Informação
Empresa Certificada ISO 9001
Fone: 51 3219-9499

[email protected]
www.sidicom.com.br
www.facebook.com/SidicomErp
www.twitter.com/SidicomErp

logoDelphi.pnglogoIso.jpg

  • Fundadores
Postado

As modificações parecem corretas...

Em relação a linha:

       finNFP, finNFPTDM: raise EACBrECFErro.Create( ACBrStr( 'Utilize o método PafMF_GerarCAT52.'));

 

Acha que poderíamos remover ?  Creio que isso pode quebrar código de quem já está usando...

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)

Olá Daniel,

 

Acredito que sim, apenas inclui esta segurança com intuito de avisar o pessoal de que o resultado esperado não será atingido invocando este método com os parâmetros acima.

Então acredito que podemos retirar sem problemas.

 

Att

Eric Serafim

Sidicom Software

Editado por ericserafim

Eric Serafim
Gerente de Análise e Desenvolvimento
Sidicom Sistemas de Informação
Empresa Certificada ISO 9001
Fone: 51 3219-9499

[email protected]
www.sidicom.com.br
www.facebook.com/SidicomErp
www.twitter.com/SidicomErp

logoDelphi.pnglogoIso.jpg

Postado (editado)

Estamos juntos !

 

Daniel,

 

Para não deixar os demais overloads dessa rotina "bugados" vou revisá-los e viabilizar a atualização deles também, mas só conseguirei fazer isso na semana do dia 30/06/2014.

 

Quanto a versão do SVN, conferi e está tudo certo.

Editado por ericserafim

Eric Serafim
Gerente de Análise e Desenvolvimento
Sidicom Sistemas de Informação
Empresa Certificada ISO 9001
Fone: 51 3219-9499

[email protected]
www.sidicom.com.br
www.facebook.com/SidicomErp
www.twitter.com/SidicomErp

logoDelphi.pnglogoIso.jpg

  • 1 mês depois ...
  • 4 meses depois ...
  • Membros Pro
Postado (editado)

Boa tarde, estou utilizando o comando:

 

ecf.ACBrECF.ArquivoMFD_DLL(DataIni, DataFim, sFile, [docTodos], finSPED);

 

Sendo:

DataIni = '01/11/2014'

DataFim = '30/11/2014'

sFile = 'SPED_000000000004122014153355.txt'

 

Para gerar o SPED na Bematech MP-2100 TH FI.

 

Estou recebendo o erro:

 

"Erro ao executar xBematech_FI_GerarRegistrosSpedCompleto. Cod: -2 - Parâmetro Inválido"

 

Estou com a BemaFI32.dll de 02/07/2014.

 

Para utilizar essa procedure preciso modificar as informações em outro lugar? Estou passando algum valor errado acima?

 

Desde já agradeço.

Editado por Intelliware
  • Membros Pro
Postado

No caso, eu chamo esta procedure:

procedure TACBrECFBematech.ArquivoMFD_DLL(DataInicial, DataFinal: TDateTime;
  NomeArquivo: AnsiString; Documentos: TACBrECFTipoDocumentoSet;
  Finalidade: TACBrECFFinalizaArqMFD);

 

Os parâmetros DataInicial e DataFinal passados são do tipo TDateTime, porém dentro dela, há uma conversão para string (DiaIni   := FormatDateTime('dd"/"mm"/"yyyy', DataInicial) ) antes de serem chamados pela "xBematech_FI_GeraRegistrosSpedCompleto", local onde acusa o problema de parâmetro inválido. Você se refere a esta data mesmo?

  • Fundadores
Postado

Se você usa:

DataIni = '01/11/2014'
DataFim = '30/11/2014'
sFile = 'SPED_000000000004122014153355.txt'

ecf.ACBrECF.ArquivoMFD_DLL(DataIni, DataFim, sFile, [docTodos], finSPED);

Isso não é compatível com:

   Procedure ArquivoMFD_DLL( DataInicial, DataFinal : TDateTime;
       NomeArquivo : AnsiString; Documentos : TACBrECFTipoDocumentoSet = [docTodos];
       Finalidade: TACBrECFFinalizaArqMFD = finMFD ) ; overload ; 

Por favor tente reproduzir o mesmo problema com o Projeto ECFTeste

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

Caro amigo, desde que implementei a geração do SPED na bematech não tive problemas.

 

Te envio a dll que utilizo atualmente.

 

Lembrando que você precisa estar utilizando a impressora via serial, pois com conversor usb ou usb nem o próprio fabricante garante o funcionamento, as vezes funciona outras não.

No meu ambiente de testes, tem micro que funciona a geração do SPED ou Sintegra na Bematech usando USB já em outro somente via serial, mesma configuração em ambos.

BemaFI32.zip

Eric Serafim
Gerente de Análise e Desenvolvimento
Sidicom Sistemas de Informação
Empresa Certificada ISO 9001
Fone: 51 3219-9499

[email protected]
www.sidicom.com.br
www.facebook.com/SidicomErp
www.twitter.com/SidicomErp

logoDelphi.pnglogoIso.jpg

  • Membros Pro
Postado (editado)

Boa tarde,

 

    Na implementação acima, que está com o source no SVN:

   Resp := xBematech_FI_GeraRegistrosSpedCompleto('', NomeArquivo,
                                                      DiaIni, DiaFim,
                                                      'T', '5102', ' ',
                                                      '00,00', '00,00',
                                                      'TESTE', '1234567');

Os campos fixados acima, como:

 

'T', '00,00', '00,00', 'TESTE', '1234567'

 

São fixos para todos os clientes? Teria como alterar esses valores antes de invocar a função de dentro da DLL?

 

Isso porquê acessando a DLL eu consigo gerar normalmente passando os valores corretos de cada cliente, mas pela ACBr tenho erro de código inválido -2, onde o código do IBGE é inválido.

 

Daniel, desculpe, mas não consegui encontrar o procedimento para reproduzir pelo ECFTeste.

Editado por Intelliware
  • 2 semanas depois ...
  • Fundadores
Postado

Seria muito difícil implementar isso no método atual, pela passagem de parâmetros... pois quebraria a compatibilidade de todas as classes existentes...

 

Essas informações não podem ser ajustadas em algum .INI da DLL ?

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.

  • 3 semanas depois ...
  • Membros Pro
Postado

Bom dia Daniel, acabamos acessando a DLL diretamente e passando os parâmetros de acordo com cada cliente.

 

Pelo que verifiquei na "BemaFI32.INI" encontrei apenas a seção [softwareHouse] que refere-se ás informações da empresa desenvolvedora.

 

Agradeço.

  • Este tópico foi criado há 3610 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.

The popup will be closed in 10 segundos...