Controla
-
Total de ítens
23 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Posts postados por Controla
-
-
Ok Juliana, obrigado por responder, eu entendo que as coisas não acontecem num estalar de dedos, é que ninguém tinha sinalizado que já estava sendo analisado.
- 1
-
boa tarde, não quero ser exigente, mas a resposta não deveria ser em até 1 dia útil?
-
Boa tarde Juliomar, acabei de assinar o SAC do ACBr
O que você acha melhor, passar este tópico para o suporte do SAC ou aguardar no fórum publico ?
- 1
-
Juliomar, desculpe ter demorado tanto para responder, estou fazendo as alterações para a versão 4.0 e nem abri mais o fórum.
Estou enviando os arquivos que alterei, as partes alteradas estão identificadas com "/// inicio alteracao"
Estou a disposição para mais detalhes se for necessário
Obrigado
- 1
-
Boa tarde a todos
Estou com um projeto que tem que gerar os PDFs de forma automática sem intervenção do usuário, mas quando o sistema vai rodar ele fica mostrando o progresso da geração do PDF mesmo a propriedade MostrarStatus estando setada para False.
No componente TACBrMDFeDAMDFeRL a propriedade MostrarStatus não está tendo efeito nenhum, dei uma olhada nos fontes e percebi que a mesma nem é repassada nem ao componente RLReport e nem ao RLFilter, isso tanto na impressão do MDF-e quanto na impressão dos eventos.
Fiz uma "pog" aqui pra resolver temporariamente, mas fica a dica pra quem tem mais conhecimento de onde mexer nos fontes para ficar uma alteração consistente.
Modifiquei os seguintes arquivos
ACBrMDFeDAMDFeRL.pas
TfrlDAMDFeRL.Imprimir
TfrlDAMDFeRL.SavePDFACBrMDFeDAEventoRL.pas
TfrmMDFeDAEventorl.Imprimir
TfrmMDFeDAEventorl.SavePDF -
olá, tentei com os dois endereços e o problema persiste. "Endereco do site da UF da consulta via QR-Code diverge do previsto"
como é remoto e o cliente precisa usar o computador vou ter que continuar o teste outra hora.
-
Boa tarde pessoal
Nos testes que fiz em ambiente de homologação foi tudo OK.
Em produção só tinha conseguido fazer teste de verificação do status do serviço, e depois que foi corrigidos os endereços dos webservices ficou ok.
No entanto hoje quando fui fazer um teste de emissão em produção recebi a rejeição
"Endereco do site da UF da consulta via QR-Code diverge do previsto"
Dei uma olhada no ACBrNFeSevicos.ini e parece que está ok. Alguém mais passando por isso?
Ambiente de Produção - SP
-
Acabei de atualizar e agora o do repositório já esta OK.
Obrigado pessoal
- 1
-
Olá Van, se o seu caso for igual ao meu, NFC-e em produção em SP
O problema é que no ACBrNFeServicos.ini da pasta ...\Fontes\ACBrDFe\ACBrNFe não contém os endereços dos webservices de produção para a NFC-e de SP, de outros estados não sei te dizer porque não conferi, mas até pode ser o caso.
Esses endereços eu peguei no site da Sefaz de SP
no meu caso eu adicionei as linhas
NfeAutorizacao_4.00=https://nfce.fazenda.sp.gov.br/ws/NFeAutorizacao4.asmx
NfeRetAutorizacao_4.00=https://nfce.fazenda.sp.gov.br/ws/NFeRetAutorizacao4.asmx
NfeInutilizacao_4.00=https://nfce.fazenda.sp.gov.br/ws/NFeInutilizacao4.asmx
NfeConsultaProtocolo_4.00=https://nfce.fazenda.sp.gov.br/ws/NFeConsultaProtocolo4.asmx
NfeRecepcaoEvento_4.00=https://nfce.fazenda.sp.gov.br/ws/NFeRecepcaoEvento4.asmx
NfeStatusServico_4.00=https://nfce.fazenda.sp.gov.br/ws/NFeStatusServico4.asmxNa chave [NFCe_SP_P] e no teste de verificação de serviço parou o problema, não fiz ainda emissão em produção pois meus clientes que usam ainda não consegui testar neles por causa do movimento, mas acredito que vai dar certo.
Não posso afirmar que essa é a solução mais correta pois não sou especialista em ACBr mas "fuçando" aqui acho que o caminho é por ai.
-
bom dia Felipe, obrigado por responder
Aqui nos testes eu coloquei os endereços e funcionou, minha dúvida é : porque não foram inseridos no repositório oficial, tem algum motivo específico?
Até porque vi várias pessoas com o problema do erro HTTP 500 que é resolvido se os endereços estiverem informados.
E quando baixamos e atualizamos o componente está vindo sem os endereços.
Será que isso não deveria estar no repositório oficial ?
- 1
-
Boa tarde pessoal, me perdoem se o tópico já existe, mas eu não encontrei.
Os endereços para NFC-e da chave [NFCe_SP_P] do arquivo ACBrNFeServicos.ini para a versão 4.0 não estão informados, a informação está faltando por algum motivo específico ou esquecimento mesmo ? -
Juliomar, muito obrigado, vou abrir a ocorrência lá.
Valeu
- 1
-
Daniel, você sabe me dizer se tem um fórum específico para o Fortes?
O problema não é no ACBr, não vou atrapalhar o andamento do fórum.
Agradeço desde já a atenção dispensada.
-
Bom dia Daniel, sim eu uso o extrato SAT do ACBr com o Fortes, mas como eu percebi que o problema não é do ACBr e sim do Fortes, decidi que é melhor atacar o problema na raiz.
E posso te afirmar com quase certeza que o o problema não é na borda, mas sim o texto que extrapola o limite que deveria obedecer.
No mini projeto para demonstrar o problema eu adicionei um RLDraw1 com a mesma largura do RLMemo e como você poderá observar a borda do RLMemo obedece exatamente o mesmo tamanho do RLDraw, ou seja, a largura do RLMemo está correta.
Segue a imagem do projeto na IDE e o resultado da impressão.
O problema é relacionado ao código que calcula que o texto deve continuar na linha de baixo já que não irá "caber" dentro da área do componente.
-
Olá Daniel segue o mini projeto
No preview na tela está "quase" correto, mas se imprimir você verá que o texto extrapola a borda, quando deveria ter criado outra linha e jogado para baixo.
Se precisar de mais alguma coisa pra testar me avisa.
Valeu
-
Boa tarde amigos, venho expor um problema que tem afetado a impressão do extrato SAT no fortes.
Já vi algumas reclamações no fórum, mas nada que tenha uma solução definitiva.
Para simular o problema é só colocar um RLReport em um form e depois colocar um RLMemo vou colocar aqui o código do form exemplo, basta copiar e colar em um form
object RLReport1: TRLReport
Left = 767
Top = 175
Width = 280
Height = 378
Margins.LeftMargin = 2.000000000000000000
Margins.TopMargin = 2.000000000000000000
Margins.RightMargin = 2.000000000000000000
Margins.BottomMargin = 9.000000000000000000
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -13
Font.Name = 'Arial'
Font.Style = []
PageSetup.PaperSize = fpCustom
PageSetup.PaperWidth = 74.000000000000000000
PageSetup.PaperHeight = 100.000000000000000000
PrintDialog = False
ShowProgress = False
object RLMemo1: TRLMemo
Left = 26
Top = 51
Width = 227
Height = 34
Behavior = [beSiteExpander]
Borders.Sides = sdCustom
Borders.DrawLeft = True
Borders.DrawTop = True
Borders.DrawRight = True
Borders.DrawBottom = True
Font.Charset = ANSI_CHARSET
Font.Color = clBlack
Font.Height = -12
Font.Name = 'Arial'
Font.Style = [fsBold]
Lines.Strings = (
'R DOUTOR JOSE NEUBERT DE OLIVEIRA 9999 - B RECREIO SAO JUDAS TAD' +
'EU')
ParentFont = False
end
endNas imagens vocês podem ver o problema da impressão, já tentei achar uma solução olhando os fontes do fortes, mas o máximo que consegui foi chegar na conclusão que o problema está na hora de fazer o cálculo de limite disponível para a linha para fazer o wordwrap, eu acho que esta relacionado com a função CanvasTextWidth do arquivo RLReport.pas.
Não sei se tem algo relacionado a diferença de pixels por polegada video x impressora. Pessoal, confesso que já fiquei tonto de tanto olhar este código, mas não consegui evoluir.
Peço a ajuda de vocês para que juntos possamos resolver este bug do fortes, pois ele afeta tudo que utilizar o RLMemo e fizer o wordwrap.
Só lembrando que nem sempre o problema é observado, isso depende do texto que deve ser impresso, por isso já coloquei um caso em que o problema ocorre.
Muito obrigado pessoal, espero que tenha conseguido expor com clareza a situação.
Abraço a todos
Fabricio
-
Daniel, só pra constar, pode ajudar alguém.
Descobri que o erro ocorre quando o ACBrNFe1.SSL.SSLType := LT_all
alterei para LT_TLSv1_2 ai funciona tudo OK.
-
Acho que vou fazer um RTA "Recurso Tecnológico Alternativo" até termos uma solução definitiva.
Vou deixar o código assim:
procedure SetCertContextPassword(ACertContext: PCCERT_CONTEXT; APass: AnsiString);
var
dwKeySpec: DWORD;
pfCallerFreeProv: LongBool;
Ret: Longint;
ProviderOrKeyHandle: HCRYPTPROV_OR_NCRYPT_KEY_HANDLE;procedure CheckPINError(WinErro: DWORD = 0);
begin
if WinErro = 0 then
WinErro := GetLastError;if (WinErro = 0) or (WinErro = ERROR_NO_TOKEN) then
Exit;if WinErro = SCARD_W_WRONG_CHV then
raise EACBrDFeWrongPINException.Create('O cartão não pode ser acessado porque o PIN errado foi apresentado.')
else if WinErro = SCARD_W_CHV_BLOCKED then
raise EACBrDFeWrongPINException.Create('O cartão não pode ser acessado porque o número máximo de tentativas de entrada de PIN foi atingido')
else
raise EACBrDFeException.Create('Falha ao Definir PIN do Certificado. Erro: '+GetLastErrorAsHexaStr(WinErro));
end;begin
ProviderOrKeyHandle := 0;
dwKeySpec := 0;
pfCallerFreeProv := False;// Obtendo o Contexto do Provedor de Criptografia do Certificado //
if not CryptAcquireCertificatePrivateKey( ACertContext,
CRYPT_ACQUIRE_ALLOW_NCRYPT_KEY_FLAG,
Nil,
ProviderOrKeyHandle,
dwKeySpec,
pfCallerFreeProv) then
raise EACBrDFeException.Create( MsgErroGetCryptProvider );try
if dwKeySpec = CERT_NCRYPT_KEY_SPEC then
begin
if not GetCNGProviderIsHardware(ProviderOrKeyHandle) then
Exit;Ret := NCryptSetProperty( ProviderOrKeyHandle, // Não testado...
NCRYPT_PIN_PROPERTY,
PBYTE(APass),
Length(APass)+1, 0);
CheckPINError(Ret);
end
else
begin
if not GetCSPProviderIsHardware(ProviderOrKeyHandle) then
Exit;if CryptSetProvParam(ProviderOrKeyHandle, PP_KEYEXCHANGE_PIN, PBYTE(APass), 0) then
CheckPINError();CryptSetProvParam(ProviderOrKeyHandle, PP_SIGNATURE_PIN, PBYTE(APass), 0); // <- DEIXEI A LINHA DESTE JEITO SEM TESTES DE ERRO
// if not CryptSetProvParam(ProviderOrKeyHandle, PP_SIGNATURE_PIN, PBYTE(APass), 0) then // <- ANTES ERA ASSIM
// CheckPINError();
end;
finally
if pfCallerFreeProv then
CryptReleaseContext(ProviderOrKeyHandle, 0);
end;
end;
Desta forma o comportamento obtido está sendo o seguinte:
Se o certificado não for encontrado mostra a mensagem: Certificado "xxxxxx" não encontrado!
Se o PIN informado estiver incorreto ele abre a tela de digitação do PIN, lembrando que já foi utilizada uma tentativa.Sei que desta forma estou ignorando erros que possam ocorer, mas nos teste aqui dá pra funcionar legal.
Este comportamento acontece com o certificado que usa o Oberthur, já com o certificado que usa o SafeSing o problema não acontece.
Não gosto de remendos no código, mas por hora acho que será o jeito.
O que vocês acham ? -
-
a exception dispara esta linha
raise EACBrDFeException.Create('Falha ao Definir PIN do Certificado. Erro: '+GetLastErrorAsHexaStr(WinErro));
-
Daniel boa tarde
eu também estou passando pelo mesmo problema
como você sugeriu verificar onde ocorre o erro eu debuguei aqui e o erro é chamado nesta linha
if not CryptSetProvParam(ProviderOrKeyHandle, PP_SIGNATURE_PIN, PBYTE(APass), 0) then
CheckPINError();da mesma maneira como disse o BILLI579 o erro acontece uma vez, se chamar o código novamente funciona normal.
-
Daniel, a impressão do extrato com mais de 80 itens corta por volta do item número 74.
Realizei o teste com uma Epson TM-T20 e também com uma Daruma DR700, e obtive o mesmo resultado nas duas.
Existe algum macete para imprimir cupons com muitos itens, como é no caso de mercados?
Obrigado.
Fabricio
Componente TACBrMDFeDAMDFeRL propriedade MostarStatus
em DFe - Documentos Fiscais Eletrônicos
Postado
bom dia pessoal
nenhuma novidade ainda sobre este assunto ?