-
Total de ítens
954 -
Registro em
-
Última visita
-
Days Won
5
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que Valdir Dill postou
-
Sicoob - Arquivo Remessa CNAB 240 (Atualizado Julho/2017)
Valdir Dill replied to Paulo Nichio's tópico in ACBrBoleto
Bom dia, Atualizei os fontes e não fiquei um pouco perdido. A ACBrBoleto.pas era já para estar com alterações sugeridas pelo @Agnaldo Prates ? O que exatamente mudou nessa atualização em relação ao tamanho da conta? Pelo que eu havia entendido, a ideia seria para que pudéssemos mudar no componente a propriedade Banco.TamanhoConta, certo? Mas não é possível. Pelo menos nos testes que fiz não consegui. Obrigado! -
Bom dia, Sim. Talvez deixar a linha 1002 com um comentário avisando. Algo assim: nTamDescricao := maxCaracter - Length(LinhaItem); //não pode considerar o length de '[DesProd]' porque precisa ficar uma folga no final da linha tendo em vista q em algumas impressoras, a impressão ocupa mais espaço horizontal. Obrigado!
-
Beleza. Obrigado. Só tem um detalhe que eu não havia percebido antes, rs... Depois que enviei a sugestão, pedi para um cliente fazer outro teste em outra impressora. Ele tem uma Epson TM-20 e a linha acabou cortando no final. Talvez essa folga que era deixada no final das linhas dos itens, era justamente por causa disso. Creio que o problema esteja na fonte que, no layout já pronto da aCBrDANFCeFortesFr.dfm está com Courier New. Se fizer um preview, fica correto. Mas quando a impressão de fato é feita na impressora, acaba cortando no final. A impressora assume outra fonte maior. Será que é possível forçar a impressora a usar a fonte configurada no fortes (Courier New)? Anexos a imagem do print e da impressão. Obrigado.
-
Boa tarde, Anexei o arquivo errado. Desculpe-me. É Danfce mesmo. Agora vai o arquivo correto. Obrigado. ACBrDANFCeFortesFr.pas
-
Bom dia, O Danfe da NFCe, quando impresso com o componente ACBrNFeDANFCeFortes, está fazendo um cálculo errado do tamanho das linhas dos itens, o que deixa um espaço em branco desnecessário no final, o qual poderia ser utilizado para aumentar descrição. No cálculo para chegar o tamanho total da descrição do item (linha 1002 da ACBrDANFCeFortesFr.pas) é obtido o tamanho final de sDecricao desconsiderando o literal '[DesProd]'. No meu entender, esses 9 dígitos devem ser computados pois já estão sendo considerados em LinhaItem e serão descartados depois no StringReplace(linha 1005). Sugestão de alteração da linha 1002 ACBrDANFCeFortesFr.pas - Como está: nTamDescricao := maxCaracter - Length(LinhaItem)); - Como deve ficar: nTamDescricao := maxCaracter - Length(LinhaItem) + length('[DesProd]'); ou nTamDescricao := maxCaracter - Length(LinhaItem) + 9; Essa alteração fará com que a impressão dos dados dos itens ocupe toda a largura da bobina (maxCaracter), da mesma forma com o que acontece na impressão dos títulos no beforePrint da banda rlbLegenda. Fiz as adequações aqui e funcionou beleza! Em anexo a unit já alterada. Obrigado. ACBrBoletoFCFortesFr.pas
-
Boa tarde, Acabei de finalizar o desenvolvimento do TEF (por enquanto apenas Tef_Dial) no meu sistema utilizando o componente acbrTEFD. Apesar de ter estudado bastante o componente e o demo, acredito que eu ainda tenha bastante a aprender. A princípio está tudo funcionando, mas como sou iniciante nessa área, antes de partir para homologação, eu gostaria de um auxílio de algum colega que já tenha experiência com TEF e acbrTEFD para criticar as rotinas que implementei no sistema e ver se há algo que esteja faltando, errado ou que poderia ser melhorado. Quem interessar, por favor, contate em [email protected]. Obrigado.
-
Bom dia Temos tido problemas idênticos. Em todos os casos que investigamos a causa do problema era conexão instável (internet do usuário lenta).
-
Legal. Acho que entendi. Seria algo mais ou menos assim? procedure TForm2.ACBrTEFD1AntesFinalizarRequisicao(Req: TACBrTEFDReq); begin if Req.Header = 'CRT' then begin Req.GravaInformacao(800, 1, VMeuTipoCartao.toString); //0=crédito; 1=débito. Case VMeuTipoCartao of 0 : begin if VMinhaQtdeParc = 0 then Req.GravaInformacao(800, 2, '0') //0=à vista; 1=parcelado. else begin Req.GravaInformacao(800, 2, '1'); //parcelado Req.GravaInformacao(800, 3, VMeuTipoParcelado); //0=ADM (juros por conta do dono do cartão); 1=Loja (juros por conta da loja). Req.GravaInformacao(800, 4, VMinhaQtdeParc.ToString); end; end; 1 : Req.GravaInformacao(800, 2, '0'); //Se for C.D., só à vista. end; end; end; Obrigado!
-
Como alimentar tipo cartão, número de parcelas, ... no TEF via AC?
um tópico no fórum postou Valdir Dill Dúvidas sobre TEF
Bom dia, Estou usando ACBrTEFD e gostaria de saber se é possível o AC enviar as informações de tipo de cartão, tipo de parcelamento e número de parcelas ao TEF? Quando executo um ACBrTEFD1.CRT, só posso enviar os parâmetros Valor, IndiceFPG_ECF, DocumentoVinculado e Moeda, certo? Como posso alimentar o tipo de cartão (800-001), o tipo de operação (800-002), tipo de parcelamento (800-003) e quantidade de parcelas (800-004)? Segundo o manual de integração, se eu enviar ao TEF esses dados, o operador não precisará informá-los lá no TEF. Como eu já tenho essas informações no meu aplicativo, gostaria de alimentál-los. É possível. Obrigado! -
Fluxo de Execuções de Pagamentos TEF
Valdir Dill replied to Valdir Dill's tópico in Dúvidas sobre TEF
Bom dia Juliomar, Analisei o demo e me pareceu que o ACBRTefD tem bastante vínculo de rotinas do AcbrECF. Além disso eu quis fazer tudo meio estilo Cobol antigo ("no braço") rs, para me estudar bem todas as rotinas que estarão envolvidas. Mas possivelmente, antes de liberar, vou utilizar o componente sim. Obrigado. -
Fluxo de Execuções de Pagamentos TEF
Valdir Dill replied to Valdir Dill's tópico in Dúvidas sobre TEF
Bom dia, Sim, eles mandam toda documentação que você precisa para implementar seu código. Depois fazem uma revisão (homologação) para ver o teu sistema está fazendo tudo corretamente. Ainda não cheguei nessa parte, rs. Como vou usar apenas TEF, sem ECF, decidi implementar sem usar o AcbrTEFD diretamente. Estou fazendo tudo "no braço", hehe! Mas o demo do Acbr está me ajudando bastante a entender o processo de troca de arquivos. Estou criando uma classe e faço tudo com ela. Tabela de preços no anexo. Abraços. -
Fluxo de Execuções de Pagamentos TEF
Valdir Dill replied to Valdir Dill's tópico in Dúvidas sobre TEF
Bom dia, Não há nenhum tipo de exclusividade. Posso inclusive ter mais de um TEF, o deles e outros. Eu analisei a proposta da SkyTef também. Mas achei um pouco mais complicado. Tem que fazer um monte de testes. Para homologar precisa inclusive mandar cupons de testes pelos Correios e tem que homologar novamente todo ano. Além do preço ser bem mais salgado para o usuário final. Esse da TefExpress é apenas um código relativamente simples que precisa implementar para enviar/receber arquivos na C:\Tef_dial\. Achei mais simples. Mas como ainda estamos engatinhando nessa linha de TEF, sempre é bom "ouvir" os mestres antes de tomar uma decisão, hehe! Obrigado pelas dicas Daniel. Ajudou bastante. Abraços -
Fluxo de Execuções de Pagamentos TEF
Valdir Dill replied to Valdir Dill's tópico in Dúvidas sobre TEF
Certo. Ainda estou bastante "cru" em relação a TEF. Estamos pensando em uma parceria com uma empresa http://tefexpress.com.br. Pelo que entendi, nessa opção deles não precisa fazer homologação junto às bandeiras de cartão. Faz-se apenas a integração do nosso aplicativo com o TEF deles. Alguém teria informações sobre essa empresa? Recomendaria essa parceria? Obrigado! -
Boa tarde, Estou implementando rotinas de TEF, mas sem utilizar o componente AcbrTEFD. Minha dúvida é em relação à impressão do comprovante TEF. Tenho as seguintes rotinas prontas e funcionando para 1 cartão: 1 - Executa o CRT; 2 - Recebe confirmação do pagamento; 3 - Imprime o comprovante; 4 - Confirma executando o CNF. E quando forem 2 ou mais cartões? Como fazer? Devo executar todos os pagamentos primeiro e no final imprimir os comprovantes de todos os pagamentos ou executar o mesmo fluxo acima, ou seja, executa o CRT, imprime e confirma a cada pagamento realizado? Obrigado
-
Boa tarde, Caro moderador, não sei se é possível fazer isso. Se não for, me desculpe e pode excluir o post, sem problemas. Esse tópico eu já havia iniciado no fórum normal (não SAC), mas como preciso muito de uma posição, abro novamente aqui no SAC. Minha dúvida é em relação a alimentação do campo codigoCedente. Pelo que entendi, alguns bancos devo informar o DV desse dado. Já em outros, não posso informar. Vejamos dois casos/exemplos: 1 - Banco Bancoob function TACBrBancoob.MontarCampoCodigoCedente ( const ACBrTitulo: TACBrTitulo ) : String; var CodigoCedente: String; begin CodigoCedente := ACBrTitulo.ACBrBoleto.Cedente.CodigoCedente; Result := ACBrTitulo.ACBrBoleto.Cedente.Agencia + '/'+ copy(CodigoCedente,1,length(CodigoCedente)-1)+ '-'+ copy(CodigoCedente,length(CodigoCedente),1); end; 2 - Caixa Econômica function TACBrCaixaEconomica.MontarCampoCodigoCedente ( const ACBrTitulo: TACBrTitulo ) : String; begin Result := RightStr(ACBrTitulo.ACBrBoleto.Cedente.Agencia,4)+ '/' + ACBrTitulo.ACBrBoleto.Cedente.CodigoCedente+ '-' + CalcularDVCedente(ACBrTitulo); end; Para o Bancoob (exemplo 1) o Acbr considera o DV como sendo o último caractere do codigoCedente informado, ou seja, na alimentação desse campo devo obrigatoriamente concatenar código cedente + DV. Já no exemplo 2 (CEF), o acbr calcula acrescenta o DV ao código do cedente, ou seja, devo informar apenas o código cedente, sem DV. A dúvida é: como posso saber qual banco devo e qual banco NÃO devo alimentar o DV do código do cedente? Obrigado.
-
Sicoob - Arquivo Remessa CNAB 240 (Atualizado Julho/2017)
Valdir Dill replied to Paulo Nichio's tópico in ACBrBoleto
Boa tarde, Alguma novidade? Obrigado. -
Imprimir 2 Cópias NFCe
Valdir Dill replied to Valdir Dill's tópico in NFC-e - Nota Fiscal do Consumidor Eletrônica
Beleza Carlos, acabei fazendo fiz como você sugeriu e agora está tudo certo. Na verdade, do jeito inicial que eu estava querendo, mesmo que eu conseguisse imprimir 2 cópias do Danfe, ficaria errado, pois, ou ambas seriam "via consumidor" ou ambas seriam "via empresa". Com essa sua dica me fez "cair a ficha", rs.. Só para enriquecer o post para o caso de outro colega tiver situação parecida, deixo aqui a rotina final que ficou no meu sistema: ACBrNFCe.DANFE.ViaConsumidor := true; ACBrNFCe.NotasFiscais.Imprimir; //imprime a via consumidor, sempre. if VImprimindoDanfeOff then begin ACBrNFCe.DANFE.ViaConsumidor := false; ACBrNFCe.NotasFiscais.Imprimir; //se estiver em contingência off, imprime a via empresa. end; Obrigado! -
Imprimir 2 Cópias NFCe
Valdir Dill replied to Valdir Dill's tópico in NFC-e - Nota Fiscal do Consumidor Eletrônica
Sim, ambos atualizados e recompilados. Testei com Fast (TACBrNFeDANFEFRNFCe) e acontece a mesma situação. Mas beleza, vou fuçar mais aqui e ver se encontro uma solução. Obrigado. -
Imprimir 2 Cópias NFCe
Valdir Dill replied to Valdir Dill's tópico in NFC-e - Nota Fiscal do Consumidor Eletrônica
Sim, eu vi um post no fórum, mas lá naquele relato o problema era um pouco diferente, ou seja, setava-se para 2 a quantidade e imprimia 4 (o dobro). No meu caso alimento direto, sem printDialog. Exemplo: if VImprimindoOffLine then ACBrNFeDANFCeFortes1.NumCopias := 2 else ACBrNFeDANFCeFortes1.NumCopias := 1; Eu debuguei e lá no ACBrDANFCeFortesFr.pas, a linha RLPrinter.Copies := NumCopias está alimentado certo, ou seja, RLPrinter.Copies fica com valor 2, mas mesmo assim, imprime só uma cópia. Obrigado. -
Imprimir 2 Cópias NFCe
um tópico no fórum postou Valdir Dill NFC-e - Nota Fiscal do Consumidor Eletrônica
Boa tarde, Quero imprimir 2 ou mais cópias de um danfe de NFCe, mas não consigo. Seto ACBrNFeDANFCeFortes1.NumCopias := 2, mas não adianta, sempre imprime apenas 1 via. Fiz teste com preview=true para imprimir na tela e também false, para imprimir na impressora. Mas sempre gera apenas uma impressão. Posso inclusive colocar mais cópias (3, 4,..), sempre imprime uma só Alguma dica? Obrigado. -
Erro ao atualizar Captcha na consulta CNPJ e Consulta CPF
Valdir Dill replied to Matias.Pontes's tópico in ACBrTCP
De fato, estava faltando a libgcc_s_seh-1.dll . Copiei-a para a pasta da aplicação e agora está funcionando 100%. Essas .dll da pasta MingGW eu tenho que distribuir junto com a aplicação sempre? Ou há alguma outra forma de fazer, sem ter que enviar todas essas .dll junto? Obrigado. -
Erro ao atualizar Captcha na consulta CNPJ e Consulta CPF
Valdir Dill replied to Matias.Pontes's tópico in ACBrTCP
Boa tarde, Aqui estava funcionando. Aí fiz atualização dos fontes (agora pouco) e passou a da erro (print anexo). Alguma dica? Obrigado. -
Boa tarde, Minha dúvida é em relação a alimentação do campo codigoCedente. Pelo que entendi, alguns bancos devo informar o DV desse dado. Já em outros, não posso informar. Vejamos dois casos/exemplos: 1 - Banco Bancoob function TACBrBancoob.MontarCampoCodigoCedente ( const ACBrTitulo: TACBrTitulo ) : String; var CodigoCedente: String; begin CodigoCedente := ACBrTitulo.ACBrBoleto.Cedente.CodigoCedente; Result := ACBrTitulo.ACBrBoleto.Cedente.Agencia + '/'+ copy(CodigoCedente,1,length(CodigoCedente)-1)+ '-'+ copy(CodigoCedente,length(CodigoCedente),1); end; 2 - Caixa Econômica function TACBrCaixaEconomica.MontarCampoCodigoCedente ( const ACBrTitulo: TACBrTitulo ) : String; begin Result := RightStr(ACBrTitulo.ACBrBoleto.Cedente.Agencia,4)+ '/' + ACBrTitulo.ACBrBoleto.Cedente.CodigoCedente+ '-' + CalcularDVCedente(ACBrTitulo); end; Para o Bancoob (exemplo 1) o Acbr considera o DV como sendo o último caractere do codigoCedente informado, ou seja, na alimentação desse campo devo obrigatoriamente concatenar código cedente + DV. Já no exemplo 2 (CEF), o acbr calcula acrescenta o DV ao código do cedente, ou seja, devo informar apenas o código cedente, sem DV. A dúvida é: como posso saber qual banco devo e qual banco NÃO devo alimentar o DV do código do cedente? Obrigado.
-
- 1
-
Sicoob - Arquivo Remessa CNAB 240 (Atualizado Julho/2017)
Valdir Dill replied to Paulo Nichio's tópico in ACBrBoleto
Boa tarde, Em anexo a unit alteração sugerida que gera o código correto na linha detalhe para Cnab 400. Alteração na linha 89. Obrigado ACBrBancoBancoob.pas