Ir para conteúdo
  • Cadastre-se

Painel de líderes

Conteúdo popular

Showing content with the highest reputation on 30-03-2016 em Posts

  1. Leia as observações do TEFDDemo... Leia o último Documento Gravado no seu Banco de Dados, e verifique se o Cupom já foi finalizado,ou se já foi aberto um CCD ou Gerencial...Exemplo: procedure TForm1.ACBrTEFD1InfoECF(Operacao : TACBrTEFDInfoECF; var RetornoECF : String ); var ASubTotal: Double; begin try if not ACBrECF1.Ativo then ACBrECF1.Ativar ; except { Para CliSiTEF ou V&SPague aplique o IF abaixo em sua aplicação, que permite saber se o Cupom foi concluido mesmo com o ECF desligado } if (not ACBrTEFD1.TEF.Inicializado) and { Está na inicialização ? } (Operacao = ineEstadoECF) and { Quer Saber o estado do ECF ? (mas se chegou aqui é pq o ECF já está com problemas) } (ACBrTEFD1.GPAtual in [gpCliSiTef,gpVeSPague]) then begin { Leia o último Documento Gravado no seu Banco de Dados, e verifique se o Cupom já foi finalizado,ou se já foi aberto um CCD ou Gerencial... Exemplo: Documento.Le(0); if (Documento.Finalizado) or (pos(Documento.Denominacao,'CC|RG') > 0) then RetornoECF := 'R' else RetornoECF := 'O' ; } //RetornoECF := 'O'; // Executará CancelarTransacoesPendentes; RetornoECF := 'R'; // Executará ConfirmarESolicitarImpressaoTransacoesPendentes; exit ; end ; raise ; end; ......
    3 pontos
  2. Obrigado pela analise e correção.... Enviei para o SVN com pequenas modificações... Favor conferir se está tudo ok...
    3 pontos
  3. function CRTTocRegTrib(const t: TpcnCRT): TpcnRegTrib; begin if T = crtSimplesNacional then Result := RTSimplesNacional else Result := RTRegimeNormal; end; Revendo as opções existentes do Tipo "TpcnCRT" ... preferi implementar com um IF simples, principalmente por ser mais legível... Veem algum problema ?
    3 pontos
  4. Minha pequena contribuição. Segue anexo. ACBrBALSaturno.pas
    2 pontos
  5. Boa tarde Paulo, Esse é o problema de alterar o fonte do componente para tentar bular a validação e acaba provocando um outro erro, em vez de tentar solucionar o erro de validação. O erro de validação que você esta tendo é simples, basta você atualizar os schemas. Você encontra os schemas atualizados dentro da pasta Exemplos\Schemas\NFe
    2 pontos
  6. Partilha de ICMS e CEST ja contemplam ACBrMonitorPLUS. faz tempo.. Assine o SAC e baixe a ultima versão Ou baixe os fontes e compile pelo Lazarus Abs
    2 pontos
  7. Estou com o mesmo problema, porém, apenas atualizei os fontes do ACBr que já estavam no trunk 2. Para conseguir compilar tive que alterar as units ACBrDFeOpenSSL.pas e ACBrHTTPReqResp.pas conforme anexos. Tive que remover as verificações {$IFDEF DELPHI2009_UP} Na linha 756 da unit ACBrDFeOpenSSL.pas De {$IFDEF DELPHI2009_UP}AnsiStrings.{$ENDIF}StrPas( PAnsiChar(notAfter^.data) ); Para StrPas( PAnsiChar(notAfter^.data) ); Na linha 828 da unit ACBrDFeOpenSSL.pas De {$IFDEF DELPHI2009_UP}AnsiStrings.{$ENDIF}StrPas( PAnsiChar(SN^.data) ); Para StrPas( PAnsiChar(SN^.data) ); Na linha 213 da unit ACBrHTTPReqResp.pas De FHTTPResultCode := StrToIntDef( {$IFDEF DELPHI2009_UP}AnsiStrings.{$ENDIF}StrPas(aBuffer), 0); Para FHTTPResultCode := StrToIntDef( StrPas(aBuffer), 0); Alguém poderia explicar o porque do erro? Um chute, seria porque quem alterou deve estar utilizando o delphi 7 e o erro só ocorre quando a versão do delphi é superior a 2009 (no meu caso é 2010). ACBrDFeOpenSSL.pas ACBrHTTPReqResp.pas
    1 ponto
  8. É força do habito respostas com esse "Fico no aguardo de um retorno ", realmente foi deselegante de minha parte, isso para não dizer arrogante. Peço desculpas.
    1 ponto
  9. Parece correto... pois o problema.. irá ocorrer na chamada de "ACBrAnsiToUTF8", que chama o método do "LConvEncoding.ConvertEncoding"... e esse método do Lazarus, se receber o parâmetro como "ANSI", irá tentar descobrir qual é o Encoding do sistema operacional... que no seu caso, resultará em UTF8 Ou seja, o método " LConvEncoding.ConvertEncoding" não faz nada...se o parâmetro de "FromEncoding" for "ansi" Correção já está no SVN...
    1 ponto
  10. Muito bem observado a falta do cabeçalho... obrigado.. já está no SVN...
    1 ponto
  11. Se você fosse criar uma classe filha de DFe, nenhuma complicação desnecessária (como generics) seria necessário... Vou fechar o tópico... dou esse assunto como encerrado... Não está nos planos recentes do "ACBrTeam" o desenvolvimento dessa finalidade... Por favor seja mais cuidadoso, antes de se dispor a fazer algo e anunciar em um fórum público... fica deselegante voltar atrás..
    1 ponto
  12. Bom dia, Fiz a correção no código a ACBrMAil, segue anexo. Além dessa alteração, alterei também o código para salvar o MIMe do email, pois da forma que estava, estava sendo executado depois do clear e o savtofile original salvava o arquivo vazio. Outra alteração que fiz foi pra salvar o nome de quem estava enviando email, pois na exibição aparecia assim: Renato Pavan <[email protected]> ao invés de aparecer apenas Renato Pavan Para corrigir isto, apenas alterei a ordem da aps dupla no fonte conforme abaixo: De: fMIMEMess.Header.From := '"' + fFromName + ' <' + From + '>"' Para: fMIMEMess.Header.From := '"' + fFromName + '" <' + From + '>' []'s ACBrMail.pas
    1 ponto
  13. Segue mais algumas units para analise. Nas units ACBrETQEpl2 e ACBrETQPpla fiz o cast de PChar para PAnsiChar; Nas unit ACBrZLibExGZ uma conversão para AnsiString na saida da função. Na pcnAuxiliar da forma que a unit está escrita ela causa a mensagem do tipo W1010 é uma proposta e se aceita temos algumas outras units com o mesmo problema. ACBrETQEpl2.pas ACBrETQPpla.pas ACBrZLibExGZ.pas pcnAuxiliar.pas
    1 ponto
  14. Bom dia a todos, Até hoje não consegui entender porque muitos "desenvolvedores" insistem em alimentar o componente, gerar o XML salva-lo em disco e depois usar o LoadFromFile para carrega-lo a fim de envia-lo. É muito mais simples alimentar o componente com os dados pertinentes da venda e executar direto o Enviar, pois este se encarrega de gerar o XML, assinar, salvar em disco, validar, enviar, etc. Ficam inventando moda que deixa o processo mais demorado alem de criar brechas para erros cometidos pelo usuário. Pessoal vamos automatizar o processo?
    1 ponto
  15. Marcou a opção no instalador para copiar as dlls necessárias da openssl e do capicom para que funcione corretamente? caso negativo refaça a instalação marcando a opção logo na segunda tela do instalador
    1 ponto
  16. Desculpem-me pela demora... e MUITO Obrigado pela colaboração... já está no SVN...
    1 ponto
  17. Esta função Gera o Hint ? function CRTTocRegTrib(const t: TpcnCRT): TpcnRegTrib; begin case T of crtSimplesNacional: Result := RTSimplesNacional; crtSimplesExcessoReceita, crtRegimeNormal: Result := RTRegimeNormal; end; end; se sim Use function CRTTocRegTrib(const t: TpcnCRT): TpcnRegTrib; begin case t of crtSimplesExcessoReceita, crtRegimeNormal: Result := RTRegimeNormal; else Result := RTSimplesNacional; end; end; como um novo padrão.
    1 ponto
  18. Pessoal boa noite, Deveria ser alguma falha de instalação, reinstalei o acbr plus e tudo bunitinho................ Funcionou !!!! Obrigado.
    1 ponto
  19. Boa tarde Italo, eu percebi isso, também verifiquei que a má formação do retorno acontece apenas quando há algum erro no cancelamento, por incrível que pareça quando o cancelamento é homologado o retorno é parseado com sucesso e não há erros. Quanto ao suporte da betha, apenas as prefeituras, clientes diretos tem acesso ao suporte, os desenvolvedores tem no máximo acesso ao fórum da ferramenta, que não resolve quase nada. Não temos muito o que fazer indo por esse caminho, mesmo assim vou tentar reportar isso. Por enquanto vou tratar na minha aplicação quando houver erro de cancelamento. Outra coisa, percebi que o no ambiente de homologação da betha, quando a nfse é processada, no seu xml retornado são omitidas informações relacionadas ao prestador, portando quando fazemos um LoadFromFile no cancelamento, não são carregadas informações importantes como código do município, inscrição municipal do prestador, de forma que o pedido de cancelamento é formado sem essas informações. A solução que achei pra testar em homologação foi após o LoadFromFile, escrever diretamente no objeto as informações que faltam, segue um exemplo: with ACBrNFSe1.NotasFiscais.Add do begin NFSe.Numero := nfseNumero; NFSe.IdentificacaoRps.Numero := rpsNumero; NFSe.IdentificacaoRps.Serie := serie; NFSe.IdentificacaoRps.Tipo := trRPS; NFSe.PrestadorServico.IdentificacaoPrestador.Cnpj := dm.cnpj; NFSe.PrestadorServico.IdentificacaoPrestador.InscricaoMunicipal:= dm.im; NFSe.PrestadorServico.Endereco.CodigoMunicipio := dm.cMunicipio; NFSe.MotivoCancelamento := sMotivo; end; espero que essas informações possam ser úteis a alguém, obrigado.
    1 ponto
  20. STDCALL, e você precisará da DLL da TANCA
    1 ponto
  21. Entendi e resolvido mt obrigado.
    1 ponto
  22. Tive esse problema com a Bematech, o problema estava no modelo da dll, ACBrSAT => Inicialização => Modelo
    1 ponto
  23. @Fausto , leia o manual de integração .. a geração da chave de nfe.
    1 ponto
  24. Se você usa impressão no Fortes (Spool do Windows)... então todo o trabalho é feito pelo Driver do fabricante... Ou seja, você precisa falar com o Fabricante...
    1 ponto
  25. Boa tarde, se tiver como incluir essas units no projeto seria muito bom, pois cada atualizacao precisamos cuidar para nao perder essas infomações, segue em anexo para analise. Modelos: TACBrBALModelo = (balNenhum, balFilizola, balToledo, balToledo2090, balToledo2180, balUrano, balLucasTec, balMagna, balDigitron, balMagellan, balUranoPOP, balLider, balRinnert, balMuller ) ; balToledo2090 : fsBAL := TACBrBALToledo2090.Create(Self); balRinnert : fsBAL := TACBrBALRinnert.Create(Self); balMuller : fsBAL := TACBrBALMuller.Create(Self); Segue para analise. ACBrBALMuller.pas ACBrBALRinnert.pas ACBrBALToledo2090.pas
    1 ponto
  26. Boa tarde! desculpe não havia percebido! já se encontra no svn! Obrigado pela colaboração
    1 ponto
  27. Estava com esse mesmo problema. Revisem a propriedade "Configurações - Geral - SSLib" para a mais apropriada (no meu caso mudei para libCapicom).
    1 ponto
  28. Você deve ler estas propriedades da nota fiscal e não do retorno do webservice. ACBrNFe1.NotasFiscais[0].NFe.procNFe.dhRecbto ACBrNFe1.NotasFiscais[0].NFe.procNFe.nProt ACBrNFe1.NotasFiscais[0].NFe.procNFe.xMotivo ACBrNFe1.NotasFiscais[0].NFe.infNFe.ID ACBrNFe1.NotasFiscais[0].XML
    1 ponto
  29. Bom dia, Eu desenvolvi uma comunicação com a balança rodoviária da Saturno. Se for de interesse da comunidade, seria bacana adicionar mais este modelo ao repositório. Segue em anexo a unit ACBrBALSaturno.pas e a alteração na ACBrBAL.pas. Se houver a necessidade de alguma modificação fiquem a vontade para me passar ou realizá-las. O manual com o protocolo se encontra neste link. Atenciosamente. Comunicação Serial - Saturno.pdf ACBrBALSaturno.pas ACBrBAL.pas
    1 ponto
  30. Bom dia, Estava testando o componente ACBrSTDA e verifiquei que o componente está com um bug para escrever o registro 0030. Ao invés de colocar 0030 no arquivo txt, ele está colocando 0005, conforme o código abaixo, extraído da procedure WriteRegistro0030, da unit ACBRDESTDABLOCO_0_CLASS: Add( LFill('0005') + LFill(strIND_ED) + LFill(strIND_ARQ) + LFill(strPRF_ISS) + LFill(strPRF_ICMS) + LFill(strPRF_RIDF) + LFill(strPRF_RUDF) + LFill(strPRF_LMC) + LFill(strPRF_RV) + LFill(strPRF_RI) + LFill(strIND_EC) + LFill(strIND_ISS) + LFill(strIND_RT) + LFill(strIND_ICMS) + LFill(strIND_ST) + LFill(strIND_AT) + LFill(strIND_IPI) + LFill(strIND_RI) ) ; Já alterei em meu projeto para que gerasse corretamente.. Vou disponibilizar aqui a Unit corrigida para que seja atualizado no trunk2. Obrigado, ACBrDeSTDABloco_0_Class.rar
    1 ponto
  31. Obrigado pela correção ! está no svn!
    1 ponto
  32. 1 ponto
  33. Bom dia Doni, Favor atualizar os fontes, pois agora o grupo ICMSUFFim só será gerado se pICMSInterPart for diferente de zero.
    1 ponto
  34. Você está misturando as coisas, para NFC-e a contingência em caso de falha da internet e a emissão off-line, ou seja, você não envia a nota naquele momento, emite e faz tudo localmente, dentro de um prazo de até 24, quando voltar a internet então você transmite.
    1 ponto
  35. Para evitar que mais um arquivo seja distribuído com o seu sistema, existe uma alternativa bem prática: Insira a unit 'MidasLib' na cláusula uses do form principal do seu sistema e você não terá mais que distribuir o "Midas.dll". unit fMenu; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, IniFiles, ToolWin, ComObj, DB, ADODB, Menus, ActnList, jpeg, ExtCtrls, StdCtrls, ShellApi, Mask, DBCtrls, MidasLib, ImgList, Buttons; // <<== Olha ela aqui nesta linha type TF_Menu = class(TForm)
    1 ponto
×
×
  • 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...