Painel de líderes
Conteúdo popular
Showing content with the highest reputation on 13-04-2017 em todas as áreas
-
Prezados, por favor atualizem os fontes... apliquei várias correções na ACBrDFeWinCrypt 13/04/2017 -- ACBrDFeWinCrypt -- [-] Correção para não atribuir Senha para certificados A3, de uma segunda instância do ACBrNFe, que utilize o mesmo certificado. (por: DSA) 12/04/2017 -- ACBrDFeWinCrypt -- [*] Ajuste para compilação com a diretiva "DFE_SEM_NCRYPT", para permitir o suporte a Windows XP (por: DSA) -- ACBr_NCrypt -- [*] Ajuste para efetuara carga da DLL com "Delayed", caso a diretiva "USE_DELAYED" esteja ligada, e o compilador suporte carga tardia.. (por: Waldir Paim) http://www.projetoacbr.com.br/forum/topic/36219-ncryptdll-faltando-no-xp/?do=findComment&comment=237206 10/04/2017 -- ACBrDFeWinCrypt -- [-] Ajustes para possível correção de Certificados compatível apenas com "CNG" que causavam o erro "NTE_BAD_PROV_TYPE - 0x80090014", durante a carga do Certificado. http://www.projetoacbr.com.br/forum/topic/36017-provedor-de-criptografia/?do=findComment&comment=236710 (por: DSA) 04/04/2017 -- ACBrDFeCapicom -- [-] Correção no método "GetCNPJFromExtensions", onde ocorria o erro: "Parâmetro Incorreto" (por: DSA) 03/04/2017 -- ACBrDFeCapicom, ACBrDFeWinCrypt -- [-] Possível correção para o erro "Erro Thread da crypt32", quando usando "cryCapicom" -- ACBrDFeWinCrypt -- [*] Ajuste no método "GetCNPJFromExtensions", quebrando-o em vários, para permitir a leitura de diferentes extensões -- ACBrDFeOpenSSL -- [-] Correção na interpretação do conteúdo das extensões do certificado, corrigndo problemas de leitura de CPF/CNPJ de alguns certificados (por: DSA) 27/03/2017 -- ACBrDFeXsXmlSec -- [*] Remoção da dependencia de "libxslt". (por Waldir Paim) http://www.projetoacbr.com.br/forum/topic/35775-sugest%C3%A3o-limpeza-dos-uses-de-algumas-units/?do=findComment&comment=234842 25/03/2017 -- ACBrDFeHttpOpenSSL, ACBrDFeHttpIndy -- [*] Ajuste para usar a definição MimeType, comforme recebido pela rotina chamadora -- ACBrDFeHttpWinApi -- [*] Ajuste para disparar exceptions, caso o HTTPResultCode não seja 200,201,202 -- ACBrDFeSSL -- [*] Ajuste para que o MimeType padrão, caso nenhum tenha sido informado contenha instrução de UTF8 'application/soap+xml; charset=utf-8' 24/03/2017 -- ACBRDFeWinCrypt -- [-] Correção em "PFXDataToCertContextWinApi", que é usada por "CarregarCertificado", quando informado o certificado por: "ArquivoPFX" ou "DadosPFX". Para que seja possível carregar Certificados com número de série, menor do que 16 (por: DSA) http://www.projetoacbr.com.br/forum/index.php?showtopic=35805 22/03/2017 -- ACBrDFeSSL -- [*] Ajustes em "Clear", para evitar problemas quando ocorre a troca de SSLCryptLib via código. -- ACBRDFeWinCrypt -- [*] Ajustes em "CarregarCertificado", para priorizar a busca do certificado por "DadosPFX" seguido de "ArquivoPFX" e depois "NumeroSerie" (por: DSA)3 pontos
-
Em todo caso... qualquer redistribuição de valor, que use proporção, está fadada a ter diferenças... No ECF ocorre o mesmo problema... Como resolver ? A diferença entre o Desconto/Acréscimo aplicado no Subtotal e a soma dos descontos/acréscimos aplicados por item, é chamada de Resíduo, e esse resíduo pode ser aplicado, no Item de maior valor... http://partners.bematech.com.br/bemacast/Paginas/post.aspx?idPost=57902 pontos
-
Olá Danilo, Bastante mudanças...o código parece correto... Isso já está sendo exigido, no WebService que atualmente está no ar ? Vou pedir ajudar para o @Juliomar Marchetti e @EliasCesar, para validar as modificações...2 pontos
-
O prazo previsto para a implementação das mudanças é: - Ambiente de Homologação (ambiente de teste das empresas): 01/06/2017; - Ambiente de Produção: 01/08/17. Desativação da versão anterior: 02/04/18.2 pontos
-
Olá pessoal, Com o intuito de acabar com a dependência da CAPICOM, nos fontes do Projeto ACBr, apliquei um amplo refactoring, nas Units de ACBrDFeSSL e suas derivadas... O que é CAPICOM ? https://en.wikipedia.org/wiki/CAPICOM Porque usávamos a CAPICOM ? Usar diretamente as APIs do Windows não é uma tarefa simples.... A CAPICOM, facilita um pouco, as tarefas que podem ser feitas com a WinCrypt (ou MS Crypto), para acesso a certificados digitais instalados no Windows Quais as desvantagens da CAPICOM ? A Microsoft condenou a mesma como obsoleta. (esse é o principal motivo) Ela precisa ser registrada no Windows para funcionar Não suporta 64 bits O que será usado no lugar da CAPICOM ? Usaremos diretamente as APIs do Windows, ou seja, a WinCrypt (também conhecida como "MS Crypto" ou "CAPI"). Ou seja, encaramos o desafio e agora usamos apenas métodos da WinCrypt para acessos a Certificados Digitais no Windows. Para facilitar o acesso a API WinCrypt, estamos usando as Units do diretório: "Fontes\Terceiros\CodeGear\", mas especificamente a Unit "ACBr_WinCrypt.pas". Quais as vantagens da WinCrypt ? Ela está presente de forma nativa, em todas as versões do Windows (desde o Windows XP), ou seja, não requer instalação. Possui versões 32 e 64 bits Não requer registro da DLL Não requer a instalação de pacotes .NET ou Java Onde posso encontrar a WinCrypt ? Ela já está instalada, de forma nativa, no seu Windows... com o nome: "crypt32.dll" Se o seu Windows é 64 bits, você encontrará a mesma em: 32 bits: "C:\Windows\SysWOW64" 64 bits "C:\Windows\System32" Se o seu Windows é 32 bits, você encontrará a mesma em: "C:\Windows\System32" O suporte a Delphi7 será mantido ? SIM. Apesar de já anunciarmos o fim do Suporte a D7, tivemos o cuidado de testar as alterações no D7. Para isso, adaptamos as units da pasta "Fontes\Terceiros\CodeGear\" para o suporte a D7... Como configurar para usar a WinCrypt e não a CAPICOM ? A maneira mais simples é configurar a seguinte propriedade: ACBrNFe1.Configuracoes.Geral.SSLLib := libWinCrypt; Na verdade, a propriedade ACBrDFe.Configuracoes.Geral.SSLLib passou a ser virtual... ou seja, ela configurará de forma indireta, as 3 novas bibliotecas de TDFeSSL... Se você ler os fontes, quando rodamos o código acima, o seguinte código será executado. procedure TGeralConf.SetSSLLib(AValue: TSSLLib); case AValue of ..... libWinCrypt: begin SSLCryptLib := cryWinCrypt; SSLHttpLib := httpWinHttp; SSLXmlSignLib := xsMsXml; end; end; Se você deseja uma configuração diferenciada, poderá configurar as bibliotecas individualmente...Exemplo: ACBrNFe1.Configuracoes.Geral.SSLCryptLib := cryWinCrypt; ACBrNFe1.Configuracoes.Geral.SSLHttpLib := httpWinINet; ACBrNFe1.Configuracoes.Geral.SSLXmlSignLib := xsXmlSec; Como remover completamente, as Units da CAPICOM dos meus fontes ? Abra o arquivo \ACBr\Fontes\ACBrComum\ACBr.inc e altere a seguinte linha: {.$DEFINE DFE_SEM_CAPICOM} para: {$DEFINE DFE_SEM_CAPICOM} Ou seja, remova o "." do inicio O que mudou em ACBrDFeSSL ? Muita coisa.... (veja abaixo o trecho do "Change-Log").. Estudar os fontes do projeto Demo "\ACBr\Exemplos\ACBrDFe\ACBrNFe\Delphi", é a melhor maneira de conhecer as modificações. Veja abaixo, um resumo ilustrado: 1 - Agora você pode criar a sua própria janela de escolha de Certificado Veja esse exemplo de código, extraído de ACBrNFe_Demo. onde usamos o método "ACBrNFe1.SSL.LerCertificadosStore", para carregar todos os certificados da Store, definida em "ACBrNFe1.SSL.StoreName", após isso, as informações dos certificados podem ser obtidas em "ACBrNFe1.SSL.ListaCertificados" ACBrNFe1.SSL.LerCertificadosStore; For I := 0 to ACBrNFe1.SSL.ListaCertificados.Count-1 do begin with ACBrNFe1.SSL.ListaCertificados[I] do begin 2 - Agora você pode selecionar as bibliotecas de TDFeSSL, individualmente CryptLib: Permite definir qual será a biblioteca de Criptografia. Ela possui métodos como:"SelecionarCertificado", "CarregarCertificado", "CalcHash". além de propriedades como "DadosCertificado" e "ListaCertificados". TSSLCryptLib = (cryNone, cryOpenSSL, cryCapicom, cryWinCrypt) HttpLib: Usada para acesso HTTP e HTTPs, permitindo informar o Certificado na conexão. Possui métodos como: "Enviar" e propriedades como: "HTTPResultCode" e "InternalErrorCode" TSSLHttpLib = (httpNone, httpWinINet, httpWinHttp, httpOpenSSL, httpIndy); XMLSignLib: Usada para validar XMLs (contra um Schema), assinar um XML, Validar a assinatura existente em um XML. Possui métodos como: "Assinar", "Validar" e "VerificarAssinatura" TSSLXmlSignLib = (xsNone, xsXmlSec, xsMsXml, xsMsXmlCapicom); 3 - Independência das configurações de segurança do I.E. Isso pode ser obtido, se você utilizar SSLHttpLib = "httpWinHttp" ou "httpOpenSSL" Você poderá definir nos seus fontes, independente das configurações do Internet Explorer, configurações como o Tipo de segurança e TimeOut da tentativa de conexão. Essa funcionalidade já estava presente nas Units de acesso que utilizavam o OpenSSL a algum tempo. e agora com a nova Unit que faz acesso a HTTPS, usando a API do Windows chamada "WinHTTP", isso também será possível. O modelo: "httpWinINet" irá usar a API do Windows, chamada "WinINet", a qual já utilizávamos, e ela depende de configurações do I.E. 4 - Carregar o certificado por ArquivoPFX ou DadosPFX, com a WinCrypt ou CAPICOM Essa funcionalidade já estava presente, quando SSLCryptLib = cryOpenSSL. e não estava disponível para CAPICOM. Mas agora isso é possível, com a SSLCryptLib = cryCapicom ou cryWinCrypt. Ou seja, Se você tem um certificado A1, você não precisa instalar o certificado no Windows. Isso pode parecer pouco importante em uma primeira impressão... Mas veja as possibilidades: O certificado A1 poderia estar em um Banco de dados, ou em um Servidor Web, e ser carregado de forma dinâmica pela sua aplicação, independente de ser instalado manualmente no Windows. 5 - Compilar seu Executável em 64 bits Lembre-se que quando você compila o seu programa em 64 bits, todas as DLLs externas de qual ele necessitar, também devem ser de 64 bits. Portanto para isso, você não poderá usar a XMLSignLib = xsMsXml, pois a biblioteca da Microsoft para assinatura de XMLs "MSXML" não possui versão 64 bits. Mas observe que agora você pode usar a biblioteca WinCrypt com a XmlSec, basta configurar corretamente as bibliotecas de criptografia. Nota: Ainda não conseguimos, fazer com que a XMLSec possa usar certificados A3, mas isso deverá ser possível no futuro, pois a XMLSec tem suporte a "MSCrypto" Diagrama de Classes Como posso ajudar ? (Tarefas a serem efetuadas) 1 - Fazer a XmlSec funcionar usando a "mscrypto" Ainda não conseguimos fazer a XMLSec, usar a MSCrypto, atualmente ele apenas usa a "openssl". Porque isso é importante ? Temos vários problemas, com a msxml, como por exemplo: A Microsoft não distribui a mesma, de forma nativa, com o Windows (arquivo msxml5.dll) Ela não suporta 64 bits A licença de uso dassa biblioteca, é valida apenas para quem tem o Office instalado... Portanto, seria ótimo se pudéssemos ficar livres da MSXML, mas para isso, precisamos fazer o ACBr conseguir usar a XMLSec com suporte a MSCrypto (hoje ele só suporta OpenSSL)... Na verdade, já podemos usar WinCrypt + XmlSec, mas apenas para certificados A1, pois o ACBr é capaz de exportar o certificado A1 do Windows, para que o mesmo seja usado pelo OpenSSL. (ele fará isso internamente, e de forma transparente para o usuário) Quando conseguirmos fazer a XmlSec usar a MSCrypto (ou WinCrypt), conseguiremos compilar a aplicação em 64 bits, e com suporte a certificados A3 2 - Compilar os fontes da XMLSec no Windows, em 32 e 64 bits Hoje o único site que distribui a XMLSec já compilada para Windows é https://www.zlatkovic.com/libxml.en.html (Thanks Igor). Entretanto, podemos notar que os binários estão defasados, e não há uma versão 64 bits, com suporte a "mscrypto" Veja como ficou o "Change-Log" do refactoring em ACBrDFeSSL -- ACBrDFeSSL -- [*] Amplo refactoring promovido, separando a classe "TDFeSSLClass" em 3 novas classes: "TDFeSSLCryptClass" - para Carregar certificados e efetuar criptografia "TDFeSSLHttpClass" - para comunicação HTTP/HTTPS com suporte a Certificados "TDFeSSLXmlSignClass" - Para Validar XMLs, validar assinaturas e Assinar XML com Certificados [+] "TSSLLib", adicionado os tipos "libWinCrypt, libCustom" [+] Criada nova classe "TDadosCertificado", para conter os dados do certificado carregado [+] Criada nova classe "TListaCertificados",para conter uma lista de Objetos do tipo TDadosCertificado, com todos os certificados de uma "Store", e após a chamada do método "TDFeSSL.LerCertificadosStore" [+] Adicionada propriedade "TDFeSSL.StoreName: String", usada apenas no Windows. Nome da Store a ser aberta, padrão "MY" [+] Adicionada propriedade "TDFeSSL.StoreLocation: TSSLStoreLocation", usada apenas no Windows. Default "slCurrentUser". TSSLStoreLocation = (slMemory, slLocalMachine, slCurrentUser, slActiveDirectory, slSmartCard); [+] Adicionado o método: "TDFeSSL.LerCertificadosStore", apenas Windows, para carregar todos os Certifcados de "TDFeSSL.StoreName" para a lista de Objetos: "TDFeSSL.ListaCertificados" [+] Adicionado a propriedade "TDFeSSL.DadosCertificado", para permitir acesso aos dados do certificado carregado [+] Adicionada a propriedade "TDFeSSL.SSLCryptLib: TSSLCryptLib" default cryNone; para definir a classe de criptografia TSSLCryptLib = (cryNone, cryOpenSSL, cryCapicom, cryWinCrypt); [+] Adicionada a propriedade "TDFeSSL.SSLHttpLib: TSSLHttpLib" default httpNone; para definir a classe de comunicação HTTP/HTTPS TSSLHttpLib = (httpNone, httpWinINet, httpWinHttp, httpOpenSSL, httpIndy); [+] Adicionada a propriedade "TDFeSSL.SSLXmlSignLib: TSSLXmlSignLib" default xsNone; para definir a classe de assinatura de validação de XML TSSLXmlSignLib = (xsNone, xsXmlSec, xsMsXml, xsMsXmlCapicom); [+] Adicionada a propriedades "TDFeSSL"SSLType: TSSLType" default LT_all; para permitir definir o tipo de criptografia em HTTPS sendo: TSSLType = (LT_all, LT_SSLv2, LT_SSLv3, LT_TLSv1, LT_TLSv1_1, LT_TLSv1_2, LT_SSHv2) suportado apenas em TDFeHttpOpenSSL e TDFeHttpWinHttp -- ACBrDFeConfiguracoes -- [+] Adicionada as propriedades: property SSLCryptLib: TSSLCryptLib property SSLHttpLib: TSSLHttpLib property SSLXmlSignLib: TSSLXmlSignLib [*] Propriedade "SSLLib: TSSLLib" passou a ser virtual, e mantida por compatibilidade. Ajusta-la irá produzir ajustes em "SSLCryptLib", "SSLHttpLib" e "SSLXmlSignLib". Exemplo: if SSLLib = libOpenSSL then begin SSLCryptLib := cryOpenSSL; SSLHttpLib := httpOpenSSL; SSLXmlSignLib := xsXmlSec; end; -- ACBrDFe -- [+] Adicionado suporte a configurações de "SSLCryptLib", "SSLHttpLib", "SSLXmlSignLib" -- ACBrDFeOpenSSL -- [*] Amplo refactoring. Removido código referente a comunicação HTTP/HTTPs que foi migrado para "ACBrDFeHttpOpenSSL" [*] Removido código referente a assinatura digital e Validação de XML, que foi migrado para "ACBrDFeXsXmlSec" -- ACBRDFeWinCrypt -- [+] Nova Unit, para manipular Certificados do Windows e efetuar assinatura digital, usando a Win API WinCrypt (MSCrypto/CAPI) -- ACBrDFeCapicom -- [*] Refactoring, para usar boa parte do código de "ACBRDFeWinCrypt" -- ACBrDFeHttpOpenSSL -- [+] Adicionada nova Unit, derivada de ACBrDFeOpenSSL, criando implementação da classe de TDFeSSLHttpClass para comunicação http e https, usando a Synapse e OpenSSL -- ACBrDFeHttpWinApi -- [+] Adicionada nova Unit, derivada de ACBrDFeCapicom, criando implementação da classe de TDFeSSLHttpClass para comunicação http e https, usando as APIs do Windows WinHttp ou WinINet -- ACBrDFeHttpIndy, ACBrDFeCapicomDelphiSoap -- [*] Unit renomeada de "ACBrDFeCapicomDelphiSoap" para "ACBrDFeHttpIndy", e refatorada para não depender da CAPICOM -- ACBrDFeXsXmlSec -- [+] Adicionada nova Unit, derivada de ACBrDFeOpenSSL, criando implementação da classe de TDFeSSLXmlSignClass usando a Lib XMLSEC -- ACBrDFeXsMsXml -- [+] Adicionada nova Unit, derivada de ACBrDFeCapicom, criando implementação da classe de TDFeSSLXmlSignClass usando a Lib MSXML -- ACBrDFeXsMsXmlCapicom -- [+] Adicionada nova Unit, derivada de ACBrDFeCapicom, criando implementação da classe de TDFeSSLXmlSignMsXml usando a Lib MSXML e CAPICOM -- ACBrDFeException -- [+] Adicionado o exception "EACBrDFeExceptionNoPrivateKey" -- ACBrDFeUtil -- [+] Adicionado o método "SignatureElement: String" (por DSA) Obrigado... e considere nos ajudar, contratando o SAC, por pelo menos 1 mês http://www.projetoacbr.com.br/forum/sacv2/sobre/ http://www.projetoacbr.com.br/forum/sacv2/questoes_importantes/ http://www.projetoacbr.com.br/forum/sacv2/cadastro/ Fique atento.... Em breve, organizaremos um Webinar sobre essas modificações1 ponto
-
Bom dia, Estou tentando emitir um MDFe e esta retornando o seguinte erro: Rejeição: Informações dos tomadores é obrigatória para esta operação o que pode esta errada?1 ponto
-
Olá amigos, obrigado por sua atenção, 1o. utilizei o apagarAcbr.bat 2o. atualizei agora e reinslatei o acbr. 3o. reinstalei a capcom 4o. não deu mais a mensagem de erro na geração do xml da segunda nfe. muito obrigado pessoal.1 ponto
-
Se você não reportar um passo a passo de como podemos configurar e reproduzir o problema usando o Demo do ACBrNFe... fica impossível de analisarmos o seu problema1 ponto
-
Notei problemas na atribuição de senha do Certificado A3, caso existissem mais de uma instância do ACBrNFe, no projeto... Apliquei modificações nos fontes do ACBrDFe, a fim de resolver o problema1 ponto
-
Verifique se você realmente atualizou os fontes para a última versão... esse erro já consta como corrigido no ACBrDFe-Change-log.txt1 ponto
-
1 ponto
-
O erro estava sendo causado devido a um comportamento inesperado dos ultimos refactorings, onde o monitor estava sempre fazendo a consulta usando a chave do endereço, mesmo que fosse passado o path completo. Quando se consulta usando a chave o XML não é atualizado. Acabo de fazer a correção e disponibilizei a mesma para download. Favor testar e postar possíveis problemas.1 ponto
-
1 ponto
-
O ideal é fazer uma pré-validação ao montar o XML da nota, aqui eu rodo um método que verifica os NCMs utilizados nos produtos, ele verifica se existe na tabela IBPT se existir ele assume como corretos, mas já aconteceu casos de o NCM estar na tabela IBPT e não ser mais válido, é raro mas já me ocorreu.1 ponto
-
1 ponto
-
A mim não ficou claro se quem trava é o componente ACBr ou seu Aplicativo, mas veja se ajuda: Passei por isso em um cliente, com o componente e AC com a mesma versão totalmente operacional em outros clientes e naquele não. Depois de várias verificações, decidi rodar o AdwCleaner, removeu alguns malwares e o problema cessou. Mesmo que a máquina tenha antivirus, baixe e o AdwCleaner aqui: https://toolslib.net/downloads/viewdownload/1-adwcleaner/ (site oficial), e rode nessa máquina com problema. É uma tentativa válida, pode ser o mesmo problema.1 ponto
-
1 ponto
-
Assim que possível irei conferir pois se subir e não bater vai começar a dar problema!1 ponto
-
Esse erro vem do sistema operacional... Como é o Driver USB quem emula uma porta Serial virtual, você deve contactar o suporte do fabricante..1 ponto
-
O ACBr é OpenSource por um motivo... para contar com o poder de analise e contribuição da comunidade de seus usuários... Ao invés de ficar cobrando que alguém analise e corrija o problema para você... porque você mesmo não abre os fontes, e analisa, a fim de propor uma melhoria nos fontes ?1 ponto
-
Não, não está claro "o porque ele para de funcionar". Então não afirme que o problema é no componente sem entender qual exatamente é o problema, ok? Veja esse espelho de cupom gerado pelo emulador, testando o que você mencionou: Tudo tranquilo. Agora note que o meu log apresentou o erro: -- 12/04 16:01:26:285 ----------------- ERRO ----------------- Impressora BEMATECH não está em linha ---------------------------------------- -- 12/04 16:01:26:286 Estado -- 12/04 16:01:29:288 ----------------- ERRO ----------------- Impressora BEMATECH não está em linha ---------------------------------------- O seu log apresentou: -- 10/04 11:06:21:515 LinhaRelatorioGerencial( "teste 4[LF]", 1 ) -- 10/04 11:06:21:531 ----------------- ERRO ----------------- Communication error 22: O dispositivo não reconhece o comando ---------------------------------------- -- 10/04 11:06:21:531 Estado -- 10/04 11:06:21:531 ----------------- ERRO ----------------- Communication error 22: O dispositivo não reconhece o comando ---------------------------------------- -- 10/04 11:07:02:817 Estado -- 10/04 11:07:02:817 ----------------- ERRO ----------------- Communication error 22: O dispositivo não reconhece o comando ---------------------------------------- Quase esqueci: Usei o emulador da Bematech 4200 TH FI já que meu emulador da Bematech 4200 TH FI II está com problemas e não achei um mais atual no site da Bematech.1 ponto
-
Faça um loop identificando as tags CFe, a cada iteração carregue o ACBrSAT e se for o caso mande salvar o XML de cada Cupom.1 ponto
-
1 ponto
-
A título de colaboração, segue mais um detalhe sobre a abrangência da NT 2016/002. Ela trata da atualização de leiaute XML para documentos Fiscais, modelo 55 e modelo 65, NFe e NFCe respectivamente. Há uma confusão com outra questão relacionada especificamente a leiaute DANFE NFCe 4.0, este assunto é tratado em outra NT, e diz a respeito tão somente nos ajustes quanto a impressão da Nota Fiscal Consumidor Eletrônica. Quanto aos prazos, ontem foi publicada uma atualização da NT em questão, prorrogando a desativação do XML atual (versão 3.10), para 02/04/2018.1 ponto
-
Desculpe, mas a sua resposta não responde as minhas perguntas... Não gostei da sua atitude. Todo local existem regras, e você foi alertado de estar descumprindo uma delas... Não participarei mais desse tópico...1 ponto
-
Pessoal, descobri o que era no meu caso aqui. estava disparando uma exceção de uma procedureX(verifica conexao de rede) que chamo dentro da procedureY (essa verifica se há a redução z pendente). Estranho que, dentro da procedureX estão sendo tratadas exceções. Mas de alguma forma, a exceção afeta o comportamento do componente ACBrECF. Ou seja, corta o fluxo de trabalho, fazendo aparecer a mensagem "operation aborted".1 ponto
-
1 ponto
-
Bom dia. A função "MontarCampoNossoNumero" tem como retorno, a string do "Nosso número" montada, conforme é impressa no boleto. Ex: CdsBoletonossonumero.value := ACBrBoleto.Banco.MontarCampoNossoNumero(Titulo); att.1 ponto
-
ACBr trata de componentes especifico fiscais e não visuais! para os demais existem libs gratuitas ou pagas para essa finalidade!1 ponto