-
Total de ítens
26.258 -
Registro em
-
Última visita
-
Days Won
749
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Posts postados por Daniel Simoes
-
-
Por esse motivo, que eu acabei optando por "bufferizar" todas as formas de pagamento em Cartão de Crédito (TEF), e deixo a cargo do componente ACBerTEFD imprimir a somatória delas em uma única forma de pagamento, e na sequencia, abre-se um vinculado e imprime todos os comprovantes, de todas as transações pendentes, dentro do mesmo vinculado... Assim o cancelamento de cupom sempre funciona...
-
Certifique-se de que você tem a última versão dos fontes no SVN, e siga as intruções do arquivo: LEIA-ME.TXT
-
Tópico dividido para uma melhor compreensão...
-
Lucio,
SIM, basta substituir o .EXE... mas gerar o instalador é bem simples... vc precisará compilar o programa ECFTeste da pasta: \ACBr\trunk\Exemplos\ACBrECF\Lazarus e copia-lo para a mesma pasta do ACBrMonitor... depois disso, Use o InnoSetup para compilar o script ACBrMonitor.iss
Cada pasta de conjunto de componentes tem um arquivo ACBr***-Change-Log.txt (embora em tenha esquecido de atualizar o change-log do ACBrSerial )
-
Tente uma compilação completa com Clean
Entre em Tools -> Configure Build Lazarus.
Selecione a opção "Clean Up + Build All" e marque a caixa "Clean All" em Target OS (abaixo)... depois disso clique no botão "Build" e aguarde
-
Implementei as novas propriedades na Epson... mas assim como na Bematech não encontrei a CCDC
-
Oi Elton,
Acho que seria bom anexar uma mini explicação sobre a finalidade de cada um desses registradores novos... Pois alguns manuais de ECF podem chama-los de outras siglas..
-
Lucio Mauro,
Provavelmente é o LazReport...
Acho que faltou instalar o PowerPDF... Você pode encontra-lo na CCR...
Link para Dowload via SVN, de todos os componentes da CCR
-
Eu nunca fui reprovado... mas sempre precisei ajustar algo no momento da homologação ... Mas notei nas vezes que estive lá, que a média de aprovação é de apenas 50%
Basta você aplicar com bastante atenção os testes do roteiro de pre-teste, que tudo vai bem... e sempre que ficar uma "duvidazinha" é importante ligar nos homologadores ou solicitar ajuda no forum...
Não há custo para homologar o TEF discado... (apenas despesas de viagem/hospedagem)
Para o dedicado, vc tb pode se isentar de custos, se homologar junto a um parceiro como por exemplo a DataRegis ou SkyTEF
-
Bom... demorou um pouco mais, mas finalmente consegui fazer um Merge das alterações propostas pelo Franklin e modificadas pelo Elton...
Modifiquei alguns poucos detalhes como:
- Todas as variáveis de parâmetros do evento são declaradas como "const"
- todos eventos começam com TACBrECF (e não epenas TACBr)
- Removi alguns eventos repetidos
Achei a modificação significativa o suficiente para promover o ACBrECF para a versão 1.0.0
Será bem mais simples implementar rotinas para gravar tudo que o ECF faz, usando os eventos... e com isso atender aos requisitos do PAF-ECF
(Elton, por favor edite o Change-Log.txt com as modificações que vc fez, (com as novas propriedades e métodos))
-
SIM... devo lançar a 0.9.2 em breve...
Mas vamos lá... qual foi a dificuldade que você teve com o Lazarus ?
Seria bom você mesmo conseguir compilar o ACBrMonitor... com isso vc poderá se beneficiar das melhorias implementadas no SVN
-
Você já estudou o Demo da pasta
\ACBr\trunk\Exemplos\ACBrTEFD
Porém, antes de tudo, é fundamental ler o Guia do Gerenciador Padrão (mesmo para quem vai homologar Dedicado)
-
Finalmente consegui um tempo para me dedicar a essa questão...
Apliquei uma modificação no ACBrECF.pas, que verifica se o Gerencial foi fechado, caso a impressão da Linha do Gerencial falhe... e se for o caso, Abre um novo gerencial e continua com a Impressão...
o método ficou:
procedure TACBrECF.LinhaRelatorioGerencial(const Linha: AnsiString;
const IndiceBMP: Integer);
Var
Texto, Buffer : String ;
Lin : Integer ;
SL : TStringList ;
Procedure TentaImprimirLinhas( Texto: AnsiString; IndiceBMP: Integer ) ;
var
Est : TACBrECFEstado ;
OldTimeOut : LongInt ;
begin
ComandoLOG := 'LinhaRelatorioGerencial( "'+Texto+'", '+IntToStr(IndiceBMP)+' )';
try
fsECF.LinhaRelatorioGerencial( Texto, IndiceBMP ) ;
except
// Não conseguiu imprimir ? Verifique se o relatório foi fechado pelo ECF //
OldTimeOut := TimeOut;
TimeOut := max(TimeOut,5); // Tenta ler o Estado por 5 seg ou mais
try
Est := Estado; // Lendo o estado do ECF
if Est = estLivre then
begin
// Está Livre, provavelmente foi fechado por longo tempo de
// impressao... (O ECF é obrigado a fechar o Gerencial após 2
// minutos de Impressão). Vamos abrir um Novo Gerencial e Tentar
// novamente
AbreRelatorioGerencial(fsIndiceGerencial);
fsECF.LinhaRelatorioGerencial( Texto, IndiceBMP );
end ;
finally
TimeOut := OldTimeOut;
end ;
end ;
end ;
begin
if MaxLinhasBuffer begin
ComandoLOG := 'LinhaRelatorioGerencial( "'+Texto+'", '+IntToStr(IndiceBMP)+' )';
fsECF.LinhaRelatorioGerencial( Texto, IndiceBMP ) ;
end
else
begin
Texto := '' ;
Buffer := AjustaLinhas(Linha, Colunas) ;
SL := TStringList.Create ;
try
SL.Text := Buffer ;
For Lin := 0 to SL.Count - 1 do
begin
Texto := Texto + SL[Lin] + sLineBreak;
if (Lin mod MaxLinhasBuffer) = 0 then
begin
TentaImprimirLinhas( Texto, IndiceBMP ) ;
Texto := '' ;
end ;
end ;
if Texto '' then
TentaImprimirLinhas( Texto, IndiceBMP ) ;
finally
SL.Free ;
end ;
end ;
{$IFNDEF CONSOLE}
if MemoAssigned then
begin
fsMemoOperacao := 'linharelatoriogerencial' ;
Buffer := AjustaLinhas( Linha, fsMemoColunas) ;
MemoAdicionaLinha( Buffer );
end ;
{$ENDIF}
end;
[/code]Já está "comitado" no SVN
-
Vc não pode vincular uma forma de pagamento a uma bandeira específica... os homologadores vão pedir para vc mudar isso... e ainda tem outra questão...
- E se os 2 clientes tiverem VISA ?
- E se o estabelecimento aceitar mais cartoes que o limite das formas de pagamento (O SiTEF aceita mais de 100 tipos de cartões)
A forma de pagamento dever ser genérica... algo como:
CARTAO
TEF
-
Forneça mais dados...
Qual a versão do ACBr ? Qual a versão da sua IDE ?
Qual é o modelo e versão do ECF ?
-
Oi Andrews,
Me desculpe pela demora na resposta...
Acho que seria traumático mudar isso novamente... a não ser que na PPLB seja necessário o uso de Strings...
Achei melhor mudar para Integer, para garantir que a passagem de parâmetros seja facilmente mais acertada...
Em relação a PPLA... inseri a seguinte rotina:
function TACBrETQPpla.ConverteMultiplicador(Multiplicador : Integer) : String ;
begin
if (Multiplicador >= 0) and (Multiplicador Result := IntToStr(Multiplicador)
else if Multiplicador Result := chr(Multiplicador+55) //Ex: 10 + 55 = 65 = A
else
Raise Exception.Create(ACBrStr('Informe um valor entre 0 e 24 para Multiplicador'));
end ;
[/code] -
A meu ver sua lógica está incorreta... A cada forma de pagamento informada, é necessário abrir consulta TEF para verificar se ela é válida...
Mas recomendo que você ligue nas homologadoras e faça uma consulta...
-
Os Pacotes mudaram completamente... Veja o arquivo LEIA-ME.TXT
O ACBrTEFD pode ser usado com o ACBrECF ou com as DLLs dos fabricantes... basta você programar corretamente os eventos
-
A Synapse e Lazarus "casam" muito bem... é o substituto natural para quem usa Indy
Vc poderia usar a Synapse com Web_Service_Toolkit para fazer múltiplas-camadas usando WebServices
Sobre conexão segura com a Synapse veja essa página:
-
Caso relacionado:
-
É comum usar PChar em DLLs, pois devemos informar o início do Buffer onde a DLL irá ler/escrever, ou seja, um ponteiro para o inicio da String, e a String deve ter o tamanho suficiente (já alocado) para que a DLL possa escrever em sua área de memória com segurança....
No D2010 a tradução natural de PChar seria PAnsiChar... portanto para mim parece estar correto...
-
Provavelmente é um problema no sensor de Papel... isso é muito comum...
Teste com o Emulador, e verifique que essa propriedade funciona corretamente...
-
Olá pessoal,
Alguem está tendo problemas nos métodos ArquivoMFD_DLL e EspelhoMFD_DLL com a Daruma ?
Recebi o seguinte e-mail... mas não apliquei por achar que poderia causar problemas nos usuários de D2010
Caro Daniel, eu estava tendo uns problemas aqui no acbrecfDaruma para gerar o arquivo daruma dll pois estava alterando o registro da daruma mas passando o path através do PANSICHAR nisso o Path só recebia a primeira letra do diretório, alterei para PANSISTRING, agora passando o caminho completo do diretório salvo.Criei uma função para apagar arquivos onde podemos apagar arquivos com conteúdo coringa (*.*) o qual é utilizado para apagar os arquivos *.mfd no diretório e também coloquei para apagar através do deletefile o arquivo RETORNO.bin.
Segue em anexo o arquivo modificado pelo Rómulo
-
Informação interessante...
Parece coisa de um futuro distante... mas está próxima de se tornar uma realidade...
Existe mesmo a homologacao TEF remota via vespague ????
em Dúvidas sobre TEF
Postado
Oi JMC,
Sim, ela existe
Entre em contato diretamente com o pessoal da V&SPague - http://www.vespague.com.br/
Acredito que sejam necessários pequenos ajustes no ACBrTEFD para homologar com o V&SPague... Eu estava pretendendo realizar minha homologação com eles, mas acabei adiando por ter assuntos mais urgentes (sempre tem algo que fura a fila)
Se precisar de alguma ajuda com os ajustes no ACBrTEFD é só postar aqui no forum