-
Total de ítens
66 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que softwareamigo postou
-
deu certo. muito obrigado Juiomar
-
Olá pessoal ! Venho trabalhando de forma isolada. Assim mantenho um svn com tortoise no meu notebook para salvar minhas versões. Agora preciso trabalhar de forma compartilhada com outros dois programadores. Instalei o Visual svn server na rede. criei um repositorio . carreguei o projeto Consigo exportar o repositorio para o note. Mas as units não ficam checkoutadas. Alguem tem um passo a passo de como fazer isto ?
-
Olá pessoal ! O cliente deseja emitir boleto hibrido. Vi que o ACbrBoleto é capaz de gerar o registro no banco mas fiquei perdido com o fluxo de dados. Como o banco me retorna o código para o Qrcode? Existe algum código com um exemplo ? Ou alguém tem algum passo a passo ? Agradeço qualquer ajuda
-
NFCe - Erro 704 - DataHora muito atrasada
softwareamigo replied to softwareamigo's tópico in NFe/NFCe - Nota Fiscal Eletrônica
A mesma procedure funciona corretamente para notas modelo 55. Existe algum evento, notifier ou algo parecido que possa estar causando este efeito. Meu delphi é meio curto para entender esta parada -
NFCe - Erro 704 - DataHora muito atrasada
softwareamigo replied to softwareamigo's tópico in NFe/NFCe - Nota Fiscal Eletrônica
Debugando descobri que a mágica ocorre na ACBrUtil.FilesIO. Do nada o comando SL.LoadFromFile(IniArquivoOuString) modifica a data que esta no arquivo texto (modelo ini). No texto temos dhEmi=29/12/2023 21:04:00 em SL.Text aparece 'dhEmi=29/12/2023 13:22:48' ===================================================================================== procedure LerIniArquivoOuString(const IniArquivoOuString: String; AMemIni: TMemIniFile); var SL: TStringList; begin SL := TStringList.Create; try if StringIsINI(IniArquivoOuString) then SL.Text := String(StringToBinaryString( IniArquivoOuString )) else begin if not StringIsAFile(IniArquivoOuString) then raise Exception.Create(ACBrStr('String INI informada não é válida.')) else begin if FileExists(IniArquivoOuString) then SL.LoadFromFile(IniArquivoOuString) else raise Exception.CreateFmt(ACBrStr('Arquivo: %s não encontrado.'), [IniArquivoOuString] ); end; end; AMemIni.SetStrings(SL); finally SL.Free; end; end; -
NFCe - Erro 704 - DataHora muito atrasada
um tópico no fórum postou softwareamigo NFe/NFCe - Nota Fiscal Eletrônica
Oi Pessoal, quando envio o XML da NFCe recebo a mensagem de que a NF é válida mas que a data-hora esta muito atrasada e o XML não é transmitido. A hora em que o XML foi gerado e gravado na pasta do sistema foi 16:39 mas a data de emissão no XML esta nesta forma: <dhEmi>2023-12-29T13:22:48-03:00</dhEmi> o que poderia ser ? Data e Hora da maquina como configurado abaixo. -
dll Isapi IntraWeb não reconhece Conexão Firedac
softwareamigo replied to softwareamigo's tópico in Banco de Dados
Obrigado -
dll Isapi IntraWeb não reconhece Conexão Firedac
softwareamigo replied to softwareamigo's tópico in Banco de Dados
Oi Daniel ! Obrigado pela resposta. Mas não, o Delphi é o Berlin. Tudo funciona bem quando o app roda no servidor standalone, inclusive rodando como serviço. o problema ocorre quando gero a aplicação como DLL Isapi. Daí , parece que a DLL não consegue receber respostas para os requests que ela faz a outros servidores. O mesmo problema do FIredac acontece quando uso um servidor HTTP. Ele recebe o request, processa, retorna com 200 mas a DLL parece que não recebe esta mensagem. Aff ! -
dll Isapi IntraWeb não reconhece Conexão Firedac
softwareamigo replied to softwareamigo's tópico in Banco de Dados
Complementando a situação. Usando um servidor HTTP para obter os dados funciona perfeitamente no standalone mas na DLL acontece a mesma travada de quando trabalho cliente servidor e a conexão direta do Firedac não responde. Monitorando o servidor HTTP pude constatar que ele recebeu o request, processou, respondeu com 200. Tudo perfeito . Só que parece que a resposta não chega na dll. -
dll Isapi IntraWeb não reconhece Conexão Firedac
um tópico no fórum postou softwareamigo Banco de Dados
Oi Pessoal ! Estou com uma situação bem estranha. Estou fazendo os testes de conceito de uma aplicação INTRAWEB. Na UserSessionUnit tem uma conexão Firedac configurada a partir do FDefConnection.ini . Um serviço em modo standalone funciona direitinho. Mas quando gerei uma dll Isapi da mesma aplicação o IW não reconhece o alias. Parece que não acha o arquivo .ini . Configurei a conexão no braço. E aí não dá erro quando starto a aplicação mas o browser abre uma pagina em branco e fica carregando eternamente. Se retiro a conexão FIredac da unit a ela inicial aparece diretinho no browser. Alguem tem alguma idéia do que possa causar esta situação ? -
Oi Elias ! na ACBrPIXSchemasCob não temos esta propriedade. ELa só existe na cobV e na devolucao
-
Opa! Muito obrigado pela dica
-
O Diego, confundi os assuntos. No post anterior tratei do OFX. Sobre o PIX segue retorno do INTER 2023-10-15T01:40:11.308Z esta 3 horas à frente do real {"chave":"02658379000319","infoAdicionais":[],"pixCopiaECola":"00020101021226930014BR.GOV.BCB.PIX2571spi-qrcode.bancointer.com.br/spi/pj/v2/24fc02913d944a05a02524846932159052040000530398654041.005802BR5901*6013BELO HORIZONT61083041147062070503***63043C02","loc":{"id":11837332,"location":"https://spi-qrcode.bancointer.com.br/spi/pj/v2/24fc02913d944a05a025248469321590","tipoCob":"cob","criacao":"2023-10-15T01:40:11.308Z"},"location":"https://spi-qrcode.bancointer.com.br/spi/pj/v2/24fc02913d944a05a025248469321590","status":"REMOVIDA_PELO_USUARIO_RECEBEDOR","valor":{"original":"1.00","modalidadeAlteracao":0},"calendario":{"expiracao":3600,"criacao":"2023-10-15T01:40:11.331Z"},"txid":"P020027834X000000100141023","revisao":1,"pix":[]} Como eu tratei no meu programa quando o PSP é o INTER function AplicaFuso: TDateTime; var Ano,Mes,Dia,Hora,Minuto,Segundo,Milisegundo: word; Data:TDateTime; umDia:extended; const Fuso = 3; begin Data := ACBrPixCD1.PSP.epCob.CobGerada.calendario.criacao; DecodeDateTime(Data,Ano,Mes,Dia,Hora,Minuto,Segundo,Milisegundo); if Hora <= Fuso then begin if Hora < 0 then begin if Dia = StartOfTheMonth(Data) then begin if Mes = 1 then begin Mes := 12; Ano := Ano -1; end else begin Mes := Mes - 1; end; umDia := EndOfTheMonth(Data); Dia := Trunc(umDia); end; end; end; Hora := 24 - Fuso + Hora; result := EncodeDateTime(Ano,Mes,Dia,Hora,Minuto,Segundo,Milisegundo); end;
-
Olá Diego! Eu tratei especificamente a data do SANTANDER. Creio que precisamos de uma classe que identifique todos os formatos UTC possíveis. Eu não conheço o assunto e não me senti seguro para subir nenhuma alteração. Esta situação também ocorre no tratamento de mensagens do PIX, como citei em outro post. ACBrOFX.pas Santander.ofx
-
Em primeiro lugar não posso deixar de voltar a gradecer a todos que me ajudaram na implantação da rotina de envio de PIX no meu sistema. Nos teste que estou realizando notei que a data de confirmação retornada pelo Banco INTER, vem com um acréscimo de 3 horas. Questionei o suporte e eles informaram que trabalham com formato UTC e que eu devo atualizar o fuso horário em 3 horas. Resolvi a situação "no braço" testando se o PSP é o INTER e aplicando o fuso antes de registrar a data na base. Mas acho que seria interessante acrescentar uma propriedade UTC nas classes dos PSPs para que a conversão pudesse ser efetuada pelo componente. Esta questão do UTC também ocorre no componente ACBROfx. Um colega subiu um post reportando esta situação. ACBrOFX - Erro ao ler arquivo OFX exportado do Santander: "Invalid argument to date enconde" Sugeri uma solução especifica para o formato do Santander, mas acredito que existam vários formatos de UTC e não tenho conhecimento suficiente para arriscar uma alteração na classe. Fica a sugestão para os universitários da comunidade.
-
Oi Jhoni ! Eu disse UTF mas queria dizer UTC. Me parece que a data vem com AAAAMMxxxxxx onde xxxxxx são minutos divide por 3600 e depois por 24 subtrai a diferença do uso e voce tem o dia. Alterei o ACBROfx.pas e testei com o seu arquivo. Parece que funcionou bem voltou a data do de 03/10/2023 inclui a função abaixo no metodo Import para converter as datas Não subi a unit porque não tenho certeza da minha análise sobre xxxxxx serem minutos. ======================== function TACBrOFX.Import: Boolean; var .............. function GetData(Texto:string): string; var Ano,Mes,Dia: word; UTCDia,Fuso:extended; umDia: TdateTime; function IsUTC(var Fuso:extended): boolean; var inicio,fim: integer; begin result := Pos('GMT',InfLine(sLine)) > 0; if result then begin inicio := Pos('[',InfLine(sLine)); fim := Pos(':',InfLine(sLine)); Fuso := StrToInt(Copy(InfLine(sLine), inicio + 1, length(InfLine(sLine)) - (fim +1) -1 )); end else Fuso := 0; end; begin Ano := StrToInt(Copy(InfLine(sLine), 1, 4)); Mes := StrToInt(Copy(InfLine(sLine), 5, 2)); if IsUTC(Fuso) then Dia := Trunc(((StrToInt(Copy(InfLine(sLine), 7, 6)) div 3600) div 24 ) + Fuso) else Dia := StrToInt(Copy(InfLine(sLine), 7, 2)); UmDia := EncodeDate(Ano,Mes,Dia); result := DateToStr(UmDia); end; begin; ............. ............. // Date Start if FindString('<DTSTART>', sLine) then begin if Trim(sLine) <> '' then DateStart := GetData(sLine); end; // Date End if FindString('<DTEND>', sLine) then begin if Trim(sLine) <> '' then DateEnd := GetData(sLine); end; ACBrOFX.pas
-
ACBRPIXCD: Texto copia e cola do PIX não abre no browser
softwareamigo replied to softwareamigo's tópico in Dúvidas gerais
Oi Pessoal, contornei o problema incluindo mais brancos (!!!!!!) na mensagem. Acrescentei no final do texto mais 100 espaços de modo que a janela da mensagem fica apresentando uma grande área vazia no final. Mando uma mensagem inicial tipo orientando a cópia e em seguida o texto acrescido dos brancos. "Voce esta recebendo a chave para efetuar o PIX referente a seu pedido 178453 no valor de R$ 1,00 . Esta chave expira em 60 minutos. Copie o texto da mensagem abaixo e cole em seu aplicativo bancário. ATENÇÃO: Certifique-se de que todo o texto seja selecionado ao fazer a cópia. Pressione a tela do celular na região limpa, sem letras, no final do texto." "00020101021226930014BR.GOV.BCB.PIX2571spi-qrcode.bancointer.com.br/spi/pj/v2/c1a78f4b78c347ad8710d45c6f3ae12952040000530398654041.005802BR5901*6013BELO HORIZONT61083041147062070503***63047740 " -
ACBRPIXCD: Texto copia e cola do PIX não abre no browser
softwareamigo replied to softwareamigo's tópico in Dúvidas gerais
Se mudar a string o psp não reconhece o link -
ACBRPIXCD: Texto copia e cola do PIX não abre no browser
softwareamigo replied to softwareamigo's tópico in Dúvidas gerais
Oi Alexandre obrigado pela sugestão. No momento estou testando enviar o qrcode junto com o texto para facilitar a copia da mensagem inteira. Parece que é mais fácil a copia. Vou compartilhando o andamento dos testes -
ACBRPIXCD: Texto copia e cola do PIX não abre no browser
softwareamigo replied to softwareamigo's tópico in Dúvidas gerais
Oi Diego, não ficou funcional ter que abrir o anexo O usuário tem que escolher um aplicativo para abrir o texto -
ACBRPIXCD: Texto copia e cola do PIX não abre no browser
softwareamigo replied to softwareamigo's tópico in Dúvidas gerais
Oi Diego Obrigado pela sugestão do anexo em txt Vou testar a usabilidade Na verdade não preciso do qrcode -
ACBRPIXCD: Texto copia e cola do PIX não abre no browser
softwareamigo replied to softwareamigo's tópico in Dúvidas gerais
Oi Panda! Infelizmente não deu certo não. Puxa vida, será que ninguém do BACEN e dos PSPs notaram que os aplicativos de troca de mensagens não seriam capazes de tratar este link quebrado ? Custava gerar o link sem espaços? Bastava fazer como vc sugeriu trocar o espaço por um wildchar qualquer. E só desabafando tentei enviar por email com o qrcode inline. No outlook do cliente aparece lindão. O BMP bem visivel e o texto do copia e cola podendo ser copiado facilmente. Mas no nosso gmail é quase igual o WhatsApp, o BMP fica pequeninho e o bonitão inteligente identifica um link no texto e a copia não é tão intuitiva. Enfim, vamos seguir na luta. Obrigado pela força -
ACBRPIXCD: Texto copia e cola do PIX não abre no browser
softwareamigo replied to softwareamigo's tópico in Dúvidas gerais
Ok Vou tentar