Ir para conteúdo
  • Cadastre-se

Valdir Dill

Membros Pro
  • Total de ítens

    932
  • Registro em

  • Última visita

  • Days Won

    5

Tudo que Valdir Dill postou

  1. Bom dia Analisei melhor e, realmente foi falha minha. A inconsistência não estava na função TiraPontos e sim na minha rotina. Peço desculpas. De toda forma, acredito que seria interessante rever essa nomenclatura, pois, do jeito que está, pode induzir a erro se não olharmos o código fonte da função. "TiraPontos", no meu entender, seria uma função para tirar pontos e não tirar pontos, vírgulas, barras, espaços, ...entende? Creio que algo como "TiraPontos_e_Outros" ficaria melhor. É apenas uma sugestão, ok? Mas está esclarecido e resolvido. Obrigado!
  2. Boa noite, Uma função (TiraPontos) da acbrUtil.Strings, está retornando resultados diferentes quando compilado em aplicação VCL e Firemonkey. - VCL -> ShowMessage(TiraPontos('1.001,00')). Isso vai mostrar 1001,00 - Firemonkey -> ShowMessage(TiraPontos('1.001,00')). Isso vai mostrar 100100. Está eliminando o ponto, mas também a vírgula. Analisei os fontes, mas não consegui entender porque ocorre essa situação. Alguma sugestão? Obrigado!
  3. Ok. Corrigido. Obrigado!
  4. Valdir Dill

    Erro na Consulta IBGE

    Bom dia, Estamos tendo o erro do print anexo quando se tenta consultar ACBrIBGE1.BuscarPorNome( ... O problema só ocorre se o ACBrIBGE.txt não existir ou, pelas configurações do CacheDiasValidade, for necessário atualizá-lo. Testamos inclusive no demo do componente. Obs.: se eu colocar o endereço https://servicodados.ibge.gov.br/api/v1/localidades/estados/41/municipios no browser, não dá erro e mostra a lista de cidades certinho.
  5. Boa tarde, Na impressão de etiquetas, em um texto que exceda o tamanho físico da etiqueta, mas que o comprimento total do papel seja suficiente para imprimir o texto todo, ele imprime todo o texto, não respeitando o fim da etiqueta. Por exemplo. Suponhamos que temos uma bobina com 3 colunas. Aí envio uma impressão do seguinte texto: "Imprimindo Etiquetas com Projeto Acbr". No espaço físico, caberia apenas "Imprimindo Etiquetas com". Porém, ele imprime todo o texto. Aí fica "Imprimindo Etiquetas com" na primeira coluna e o restante "Projeto Acbr", invade a segunda coluna da etiqueta. Pergunto: isso eu tenho que controlar na aplicação, ou seja, limitar o tamanho da string ao tamanho da etiqueta? Não deveria ser a impressora que controlaria isso pelo sensor do fim da etiqueta? Obrigado!
  6. Boa tarde, Consegui descobri a dinâmica de funcionamento do componente. Quando se finaliza uma operação no administrativo, ele dispara o evento ACBrTEFAPI1QuandoFinalizarOperacao(RespostaTEF: TACBrTEFResp) e, nesse evento, ele traz as informações, no meu caso o "10 - Relatório Resumido", na classse RespostaTEF. Aí basta executar esta linha abaixo no evento. if RespostaTEF.Header = CHEADER_ADMINISTRATIVA then ImprimirTodosComprovantes. Obs.: o "if" é porque eu quero imprimir, nesse evento, apenas os results do menu administrativo. Na verdade o demo do Acbr mostra isso, mas como na minha aplicação eu fiz um pouco diferente do demo, ou seja, controlo a impressão dos comprovantes de pagamento diretamente após o result do pagamento, acabei passando batido. Mas é isso, ou seja, ao se chamar uma operação no administrativo, deve ser feita a implementação na aplicação dessa impressão nesse evento (QuandoFinalizarOperacao) do componente. Fica a dica aqui detalhada para outro calouro em TEF que passar pela mesma dificuldade, rs.. Obrigado!
  7. Boa tarde, Não estou conseguindo imprimir através do menu administrativo. Testei com a opção "10-Relatório Resumido". São solicitadas algumas informações (data e hora início/fim), as quais são prestadas corretamente. Após informar os dados, é retornado "transação autorizada", mas nada é impresso na impressora. Verifiquei no log e lá sim é gerado o relatório. Imagino eu que, a exemplo da impressão dos comprovantes de pagamento, no caso dos relatórios, eu também tenha que implementar rotinas na minha aplicação para essa impressão acontecer. Porém não encontrei nada no demo ou vídeos do Acbr sobre isso. Se for isso mesmo que precisa ser feito, gostaria de sugestões de como iniciar; em que evento do componente e qual propriedade buscar a informação a ser impressa. Obs.: a comunicação com a impressora está ok, pois os comprovante de pagamento foram impressos segundos antes. Obrigado!
  8. Bom dia, Estou tendo erro com RLReport: "printer selected is not valid" O problema ocorre assim que a aplicação é instanciada. Fiz um teste em uma aplicação nova e coloquei somente um RLReport. No momento que o componente é instanciado, o Fortes gera esse erro. Nenhuma operação de impressão é feita. Aliás, nenhuma rotina é executada que pudesse gerar o erro. Ao carregar o formulário, já dá o erro. Fiz um debug e notei que o erro ocorre ao tentar executar a linha 541 "dc := Printer.Handle;" da RLPrinters.pas O problema tem relação com a impressora padrão do Windows, que, no caso está a impressora Elgin i8. Se eu mudar a impressora padrão no Windows, o problema não ocorre. Há alguma forma de contornar isso para que a mensagem não ocorra para o usuário? Acredito que deva ser alguma coisa nas permissões da impressora talvez, não sei. Mas, de toda forma, mesmo que seja algum bloqueio na máquina dele, não faz sentido ocorrer um erro se nada foi executado. Alguma sugestão? Obrigado!
  9. Bom dia, Acredito ser instabilidade no WS. Também tivemos esse problema e logo em seguida, sem alterar nada, a nota foi aceita.
  10. Bom dia Estamos com uma dúvida em relação ao código de baixa/devolução, que o componente está gravando na coluna 224, segmento P, cobrança CEF SIGCB. Dados do título: - Vencimento: 24/10/2022 - DataBaixa: 0 - DataProtesto: 0 Para esse título, o valor da coluna 224 (print anexo) não deveria ser 2, ou seja, "Não Baixar/Devolver"? O componente está gerando 1 para essa coluna. Aí, como a coluna 221 é igual 3, o banco recusa o arquivo remessa. Obrigado!
  11. Bom dia @Italo Giurizzato Junior A IE que me refiro não é do emitente e sim do destinatário, ou seja, o usuário do nosso sistema, ou seja, aquele que fará a manifestação da nota. Veja bem, na nossa aplicação, precisamos gravar os dados das notas (NSUs) separadamente para cada CPF e IE (CPF e IE do usuário do sistema, ou seja, destinatário da nota). Se a NFe foi emitida para CPF X e IE X, a nota pertencerá à empresa XX. Já se a nota tiver sido emitida para CPF X, e IE Y, a nota pertencerá á empresa XY. Aí, no BD gravamos os dados das notas para XX ou XY, entendeu? No resumo da nota não vem a IE, pelo menos não encontrei. Obrigado!
  12. Bom dia No caso de produtos rurais, a nossa aplicação controla as movimentações de produtos separadamente por empresa/filial (empresas 1, 2, 3, ...), o que no caso dos produtores são fazendas com CPFs iguais, mas IEs diferentes. Porém, no caso do manifesto, a IE não entra "na jogada", nem na hora de manifestar, nem na hora de receber o XML. Como fazer para controlar isso (manifesto/download do XML) separadamente? Por fazenda? Ou centralizar esse controle tudo numa única fazenda (filial)? Pensei também em ler o XML e verificar a IE. Aí gravar o XML no banco de dados da empresa (1, 2, 3, ...) conforme for a IE. No caso do retorno do XML, isso daria certo. Mas, ao fazer a primeira pesquisa dos NSUs, o XML não vem junto. Só vem a lista de NSUs contra aquele CPF e a IE pode ser qualquer uma pertencente àquela CPF. Nesse caso, não se teria ideia para qual IE pertence aquele NSU. Gostaria de receber sugestões sobre essa questão, por gentileza. Obrigado!
  13. Boa tarde, Deixe-me ver se entendi. Devemos fazer a consulta das notas emitidas contra o cliente através do DistribuicaoDFePorUltNSU para listá-las. Em seguida ele (o usuário) manifesta as notas e aí deve ser feita uma nova DistribuicaoDFePorUltNSU para que desta vez o XML da nota retorne ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[I].XML, seria isso? Obrigado!
  14. Bom dia, Acredito que no instalador do Acbr o path ...\Fontes\ACBrSerial não esteja sendo esteja incluído no library path do Delphi. Toda vez que reinstalo os componentes e, em seguida preciso usar alguma aplicação que utilize a ACBrPosPrinterElginE1Service.pas, PosPrinterTeste, por exemplo, dá erro "...not found". Aí incluo esse library path manualmente no Delphi e resolve. Ao que me parece, o instalador elimina o path, mas não o inclui novamente. Ou tem alguma configuração que precisaria fazer no instalador? Ou então é para ser assim mesmo, ou seja, toda vez realimentar o library path manualmente? Obrigado!
  15. Bom dia, Testado e aprovado, rs Agora o XML (anexo) está vindo com conteúdo e o componente mostra o erro. É aquela mensagem sem acentos, mas isso é o de menos, rs. Obrigado! 5010-lista-nfse-sinc.xml
  16. Boa noite, Ao tentar autorizar uma nota de serviço (componente AcbrNFSeX), ocorre esse erro X201-WebService retornou um XML vazio. Verificando o arquivo (em anexo) 5008-lista-nfse-sinc.xml realmente tem apenas uma linha -> <?xml version="1.0" encoding="UTF-8"?> Já o arquivo 5008-lista-nfse-sinc-soap.xml tem informações, mas acho que o componente lê no primeiro arquivo, certo? Analisando o segundo arquivo, dá para entender que há falta de um código de município. Mas a questão é: como mostrar isso (a falta do dado que causou a rejeição) para o usuário de forma transparente? Há alguma outra forma? Obrigado 5008-lista-nfse-sinc.xml 5008-lista-nfse-sinc-soap.xml
  17. No demo da NFCe ESCPOS não tem impressão da logo. E no demo do AcbrPosPrinterTeste, a impressão da imagem sempre usa a imagem novamente para alimentar o componente. Aí não tem como testar com base no demo, nesse caso. Mas você matou a charada Daniel, o problema era mesmo a falta de: ACBrPosPrinter1.ConfigLogo.KeyCode1 := 1; ACBrPosPrinter1.ConfigLogo.KeyCode2 := 0; Eu imaginei que não havia necessidade de realimentar essas propriedades no componente. Fiz isso e resolveu. Tudo certo. Obrigado!
  18. Bom dia, Impressora Elgin i8, adquirida recentemente. Depois de executar ACBrPosPrinter1.GravarLogoStream(VStream, 1, 0), posso desligar a impressora, religar ela e imprimir, que sempre será impressa a logomarca. Posso inclusive executar o ACBrPosPrinter1.Desativar, que continua imprimindo. Mas, se eu fechar a aplicação e tentar imprimir o Danfe, a logomarca não será impressa. É como se, ao ser destruído, ou então ao ser criado novamente quando a aplicação é ativada novamente, o componente limpasse a logo. Dei uma olhada nos fontes, mas não consegui encontrar nada. Obrigado!
  19. Bom dia, Para imprimir uma imagem no DANFE da NFCe, estou executando o seguinte método: ACBrPosPrinter1.GravarLogoStream(VStream, 1, 0); Funciona beleza! A dúvida é: tenho que fazer essa gravação da imagem cada vez que o componente ACBrPosPrinter1 for desativado/reativado ou destruído pelo encerramento da aplicação? Imaginei que ao fazer a gravação da logo, isso fosse ficar na memória (setup) da impressora, mas não fica, tenho que executar esse método toda vez que a aplicação é aberta, certo? Obrigado!
  20. Bom dia Perfeito. Fontes atualizados e problema corrigido. Obrigado.
  21. Estive analisando os métodos: - ACBrMail1.AddBCC('email') - ACBrMail1.BCC.Add('email') Até onde eu consegui entender, ambos fazem exatamente a mesma coisa. Se é isso mesmo, então não seria interessante deixar apenas um deles para evitar confusão? Obrigado!
  22. Boa noite, Estamos tendo retorno de erro ao enviar o RPS para ISSRio. O erro: E104-Campo item da lista de serviço informado incorretamente Correção: O campo item da lista de serviço deverá ter tamanho máximo de 4 caracteres. Pelo que verifiquei no manual do provedor (print anexo), o serviço deve ser informado sem formatação. Ex.: 1401 Porém, o Acbr está gerando ele assim: <ItemListaServico>14.01</ItemListaServico> no XML de envio (em anexo). Como proceder? Obrigado 649-env-lot-soap.xml 649UNICA-rps.xml
  23. Bom dia, De fato @Victor H. Gonzales - Panda, o procedimento é executar duas vezes o comando e, na segunda, definir o sha256. No primeiro não precisa, pois o signtool assume o sha1 por default. Eu havia tentado esse comando duas vezes e não estava aceitando. Mas com sua dica, fucei mais um pouco no Google e consegui. Vou deixar aqui os comandos para talvez ajudar outrem: for I := 0 to VListaExesAssinar.count -1 do begin VParams := 'sign /du "' + VSiteGFIL + '" /d "Sistema GFIL" /f ' + VPFX + ' /p ' + VSenhaCert + ' /t http://timestamp.comodoca.com /v "' + VListaExesAssinar[I] + '"'; RunCommand( VExeSigTool, PChar(VParams), true, 2); //função do AcbrUtil Sleep(1000); //para não dar erro de arquivo em uso VParams := 'sign /du "' + VSiteGFIL + '" /d "Sistema GFIL" /f ' + VPFX + ' /p ' + VSenhaCert + ' /fd sha256 /tr http://timestamp.comodoca.com/?td=sha256 /td sha256 /as /v "' + VListaExesAssinar[I] + '"'; RunCommand(VExeSigTool, PChar(VParams), true, 2); end; Quanto aos bloqueios do antivírus, creio que seja isso mesmo que você mencionou. Obrigado pela ajuda e informações!
  24. Boa noite, Seguindo estas orientações -> https://www.projetoacbr.com.br/forum/topic/54978-assinatura-digital-de-exe-e-dll/ Conseguimos adquirir nosso certificado na sectsigo.com...patinando com nosso inglês, rs... mas deu tudo certo... Também conseguimos efetuar a assinatura, tanto pelo kSign como via linha de comando, com o signtool.exe Vamos lá em "Propriedades" do arquivo assinado e está tudo certo, mostra os dados do certificado e nossa empresa. Show de bola o tutorial. Agradecemos. Ajudou bastante. Mas surgiram algumas dúvidas. Se puderem me ajudar... 1) O Windows Defender Só deixa "passar" sem aviso, se a assintura for feita com SHA1 e SHA256, através do parâmetros "/fd SHA256". Pelo kSign conseguimos fazer a "Dual sign" e aí o arquivo fica com duas assinaturas, igual está o ACBrInstall_Trunk2.exe. Porém, no processo automatizado (signtool), conseguimos assinar apenas um com ou com outro (SHA1 ou SHA256). A pergunta é: tem como fazer o "Dual sign" via linha de comando? Se sim, como ficaria o comando ? 2) Antivírus Mesmo assinando nas duas opções (sha1 e sah256), o antivírus gera alerta e, dependendo do antivírus, bloqueia. Não sei se a assinatura era para resolver (ou pelo menos diminuir) a "reclamação" dos antivírus. Mas não melhorou nada. Pergunto: essa assinatura com code signing não deveria trazer melhorias nessa confiabilidade dos antivírus em relação ao nosso .exe? Obs.: com o ACBrInstall_Trunk2.exe não ocorre nenhum problema em relação ao antivírus. Obrigado!'
×
×
  • 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...