Jump to content
Notícias do ACBr

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

consultoria_sticker.png

Conteúdo para desenvolvedores
 ao vivo de terça a quinta!
Saiba mais

dev.png

logo_acbr_paygo.png

TEF ACBr PayGo
Seja um revendedor e ofereça uma solução completa para seu cliente.


botao.png

beneficios.png

Delcio Sbeghen

Membros
  • Content Count

    16
  • Joined

  • Last visited

Community Reputation

4 Neutral

About Delcio Sbeghen

  • Rank
    Novato

Recent Profile Visitors

954 profile views
  1. Aconteceu hoje com um cliente que renovou o certificado dos correios a alguns dias, imagino que seja possível um vírus estar causando esse transtorno, vejam no código abaixo como é fácil excluir a chave privada de um certificado: function Remove-PrivateKey { [CmdletBinding()] param( [Parameter(Mandatory = $true, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true)] [Security.Cryptography.X509Certificates.X509Certificate2[]]$Certificate ) begin { # define unmanaged functions to retrieve private key information and delete the key. $signature = @
  2. Em breve novidades quanto a isso, só não sei se vou conseguir manter open source, pelo fato de que precisava que o ele estivesse funcional o mais rápido possível, para dar continuidade no desenvolvimento do meu sistema comercial que é baseado nele. Trabalhei uns 3 meses sozinho nele, e vi que seria um projeto muito grande, iria demorar demais para tocar sozinho então acabei fechando uma parceria com mais duas empresas para desenvolver o framework e para conseguir essa parceria uma das exigências foi que fosse removido do Github pois havia interesse por parte dos parceiros em torná-lo um produt
  3. Caso a NFe estivesse denegada, no DANFE imprimia 'PROTOCOLO DE AUTORIZAÇÃO DE USO' adicionei condição para imprimir 'PROTOCOLO DE DENEGAÇÃO DE USO' if ((FDANFEClassOwner.NFeCancelada) or (FNFe.procNFe.cStat in [101,151,155])) then FieldByName('Contingencia_Descricao').AsString := 'PROTOCOLO DE HOMOLOGAÇÃO DO CANCELAMENTO' else if ( FNFe.procNFe.cStat = 110 ) or ( FNFe.procNFe.cStat = 301 ) or ( FNFe.procNFe.cStat = 302 ) or ( FNFe.procNFe.cStat = 303 ) then FieldByName('Contingencia_Descricao').AsString := 'PROTOCOLO DE
  4. É colega Italo, me exaltei um pouco mesmo, o difícil é achar um cliente que receba todos os XML dos fornecedores. oque me chateia é que antes funcionava tudo certo, tinha o status das notas recebidas, agora preciso de todos os es eventos para saber se a NFe está cancelada, e como não recebo todos, todo dia tem cliente meu ligando que a nota que ele recebeu foi cancelada e no sistema consta como autorizada. Aí o fornecedor não cumpre a legislação, a SEFAZ não cumpre os prazos que ela mesmo impõe e eu fico no fogo cruzado rsrsr.
  5. Parece que é o WebService que não está retornando, pois também não estou recebendo eventos de cancelamento, tenho algumas notas de fornecedores meus que foram canceladas, as quais recebi o resumo da NFe, recebi também a NFe, mas não recebi o evento de cancelamento. Acabei de verificar em todos os retornos, e realmente tenho todos os NSUs, quer dizer: sequer foi gerado um NSU na SEFAZ para esses eventos de cancelamento. Esse novo WebService tá uma bela duma porcaria. Como confiar num negócio que não retorna todos os documentos?
  6. Em apenas um cliente ocorria AV ao ao executar qualquer operação com danfe(imprimir, imprimirPdf, enviarEmail), nos outros tudo normal. Depois de muito penar e perder mais de meio dia nisso, acabei instalando o eurekalog e verifiquei que o AV ocorria na criação do ClientDataset no método TdmACBrNFeFR.CarregaIdentificacao, aí eu pensei: "MIDAS.DLL", provavelmente algum instalador alterou a versão dela. Coloquei a versão correta na pasta do aplicativo e não resolveu, substituí a do System32 e resolveu o problema. Caso alguém tenha um problema semelhante, pode ser isso. Uma sugest
  7. O delphi retorna o erro de conversão: Exception class EVariantTypeCastError with message 'Could not convert variant of type (String) into type (Double)'. Process AcbrBoletoDemo.exe (1752) Nos arquivos de relatório: Boleto.fr3 BoletoCarne.fr3 BoletoFatura.fr3 O BoletoFR.fr3 já foi corrigido no svn, mas esses outros três ainda não. GustavoKato anexou os arquivos com as modificações, pra mim funcionou perfeitamente, se alguém puder verificar e dar um commit. Mais informações no final do tópico: Grato a todos
  8. Olá pessoal. Favor Adicionar 4213153 - Planalto Alegre/SC - provedor Betha Grato
  9. Depois de quebrar a cabeça, consegui mostrar o DANFE no meu Preview personalizado sem alterar os fontes do ACBR, não gosto de alterar os fontes, pois aí quando atualizo, vira bagunça e lá vem os bugs. Adicionei a seguinte procedure no formulario que contém o ACBRDANFE: procedure TNfe.PreviewPersonalizado(ReportSystem: TRvSystem; OverrideMode: TOverrideMode; var OverrideForm: TForm); begin Case OverrideMode Of omCreate: Begin OverrideForm := TFrmVisualizarImpressao.Create(Application.MainForm); OverrideForm.Caption := ReportSystem.TitlePreview; Overr
  10. Italo, desculpe a demora, estava terminando outro módulo que estava atrasado... Para xml's de inutilização com assinatura, ele me retorna cstat=0, teste no xml em anexo. para que funcione tive que alterar a linha do leitor: de if leitor.rExtrai(1, ' infInut ') <> '' then para if leitor.rExtrai(1, 'retInutNFe') <> '' then aí me retorna cstat=102 acho que está lendo somente o primeiro bloco <InfInut, e o cstat está no segundo bloco, veja no anexo. Grato pela disposição em implementar. xml.xml UnitStatusInutNfe.pas
  11. Pessoal, acabei criando uma classe herdada fora dos fontes ACBR, não gosto de alterar os fontes ACBR localmente, pois cada vez que baixo as atualizações deles, dá confusão, assim criei a seguinte classe: unit UnitStatusInutNfe; interface uses classes, pcnRetInutNFe, pcnConversao; type TStatusInutNfe = class(TRetInutNFe) public function LoadFromStream(Stream:Tstringstream): boolean; end; implementation { TStatusInutNfe } function TStatusInutNfe.LoadFromStream(Stream:Tstringstream): boolean; var ok: boolean; begin Result := False; try //carrega o stream para o
  12. Isso aí pessoal imaginei que seria por aí mesmo, apenas queria ter certeza que não existisse já essa implementação no acbr. As duas idéias foram bem vindas, vou utilizar as duas. Depois de pronto posto o código aí caso alguém mais precise. Por hora, obrigado pela atenção.
  13. Régys, Obrigado pela atenção, mas acho que não me expressei direito. O cenário é o seguinte: Tenho um sistema de gerenciamento eletrônico de documentos, nele existe uma tabela que armazena todos os xml importados pelo cliente, só que esses xml estão misturados, nfe autorizadas, canceladas, inutilizações de numeração. Preciso ler cada um desses xml e apresentar dados em um dbgrid, como por ex: Tipo de Xml, status, etc. Para isso carrego cada registro da tabela no acbrnfe e leio o cstat para poder saber se é Autorização, Cancelamento ou Inutilização. Para os xml de nfe autorizadas e cancelad
  14. Pessoal não descobri como fazer para carregar um xml de Inutilização de numeração e obter o cstat tentei até fazer uma gambiarra aqui mas não deu certo: Stream:=TStringStream.Create; Stream.Clear; TBlobField(dm.TblGedNfe.FieldByName('xml')).SaveToStream(Stream); //carrega o xml Inut:=TRetInutNFe.Create; inut.Leitor.Arquivo:= Stream.DataString; if Inut.LerXml then begin if Inut.cStat = 102 then Result:='NUM. INUTILIZADA' else Result:='DESCONHECIDA'; en
  15. Pessoal não descobri como fazer para carregar um xml de Inutilização de numeração e obter o cstat tentei até fazer uma gambiarra aqui mão não deu certo: Stream:=TStringStream.Create; Stream.Clear; TBlobField(dm.TblGedNfe.FieldByName('xml')).SaveToStream(Stream); Inut:=TRetInutNFe.Create; inut.Leitor.Arquivo:= Stream.DataString; if Inut.LerXml then begin if Inut.cStat = 102 then Result:='NUM. INUTILIZADA' else Result:='DESCONHECIDA'; end;
×
×
  • Create New...