Ir para conteúdo
  • Cadastre-se

Painel de líderes

Conteúdo popular

Showing content with the highest reputation on 07-10-2016 em todas as áreas

  1. Pesquisando mais um pouco encontrei no stackoverflow um relato do mesmo problema com Python. Mais uma vez a solução está relacionada ao flag XMLSEC_NO_SIZE_T, porém não faço ideia se isso pode ser passado através de alguma função para a DLL ou se seria apenas uma diretiva de compilação. http://stackoverflow.com/questions/13071246/xmlsec1-sign-works-on-command-line-but-fails-on-python-code https://github.com/aricaldeira/pyxmlsec Acredito que esta bandeira precisa ser desativada pra compilação das DLL. Avancei um pouco nos meus testes, conseguindo preencher a tag <DigestValue>, porém o <SignatureValue> e <X509Certificate> ainda ficam em branco. <Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> <SignedInfo> <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/> <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> <Reference URI="#ID2102104116071066568600019355000000000530100015312701"> <Transforms> <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <DigestValue>yvhVfl3NaLjH6hKThpde0bTN3nw=</DigestValue> </Reference> </SignedInfo> <SignatureValue/> <KeyInfo> <X509Data> <X509Certificate/> </X509Data> </KeyInfo> </Signature> Pra este teste eu criei um projeto novo e chamei os métodos do XMLSec diretamente, sem passar pelo ACBr. Além disso carreguei o certificado com xmlSecCryptoAppKeyLoad ao invés de xmlSecCryptoAppKeyLoadMemory. Aguardo resultado dos seus testes Daniel e demais colegas. Att.
    2 pontos
  2. Estou concluindo uma alteração no ACBrMonitorPLUS para resolver este problema. Devo subir no SVN amanhã.
    1 ponto
  3. Bom dia Verdade Ítalo. Estou impressionado com o amadorismo desse pessoal da prefeitura de Carazinho.. Tinham me informado via telefone que não havia necessidade de assinar os arquivos xml, que podia usar o método Síncrono e passaram o endereço da página de login do site deles como sendo a URL de homologação.. Pois bem, tudo errado... PRECISA ASSINAR OS XML, NÃO EXISTE MÉTODO SÍNCRONO E A URL... NEM SE FALA ! A luta continua companheiros !! kkkkkkkkkkkkkk
    1 ponto
  4. Usa ve100 ou ve300, sendo que a versão 3.00 está liberado somente homologação, liberou dia 05.10. pmdfeConversaoMDFe > TVersaoMDFe = (ve100, ve300); Como eu uso nfe e nfse também, eu precisei colocar a unit junto. MDFe.Configuracoes.Geral.VersaoDF:= pmdfeConversaoMDFe.ve300;
    1 ponto
  5. Por favor teste com as Units em Anexo... Modo de uso... procedure TForm1.Button9Click(Sender: TObject); begin with TDFeOpenSSL(ACBrNFe1.SSL.SSLClass) do begin LerX509Info( ConteudoTag_X509Certificate ); end; end; ACBrDFeOpenSSL.pas OpenSSLExt.pas
    1 ponto
  6. Boa noite Rogério, Todo CT-e emitido tem que possuir pelo menos um documento originário, que na maioria dos casos é uma NF-e. Antes era possível informar uma NF-e ou NF (papel) ou Outros (Declaração). Acredito que hoje nenhum empresa emiti NF (papel), logo devemos informar uma NF-e ou Outros. Cuidado, não informe o documento originário como sendo Outros de forma indiscriminada, pois o CT-e poderá ser rejeitado pela SEFAZ. Se o Remente da carga for uma empresa obrigada a emitir NF-e, ao emitir o CT-e será obrigatório informar a chave da NF-e, sobe pena do CT-e ser rejeitado.
    1 ponto
  7. Outro detalhe importante, pelo menos em Delphi, seriam os Pointer operations: http://docwiki.embarcadero.com/RADStudio/Berlin/en/Converting_32-bit_Delphi_Applications_to_64-bit_Windows http://docwiki.embarcadero.com/RADStudio/Berlin/en/64-bit_Windows_Data_Types_Compared_to_32-bit_Windows_Data_Types Segue cópia dos meus fontes modificados com base nas alterações propostas pelo André. ACBr x64.zip
    1 ponto
  8. Importante descoberta... obrigado... Vou fazer alguns testes... No FPC, um Unsigned Int de 4 bits seria o Cardinal, "longword" http://www.freepascal.org/docs-html/ref/refsu5.html
    1 ponto
  9. Olá, pessoal. Eu gostaria de poder ao menos o evento AntesdeAssinar do componente, mas não sei como fazer. Eu usei o TProcess pra tentar fazer a assinatura chamando o xmlsec1, porém o nó da assinatura não está no XML e por isso o arquivo não é assinado. Se alguém poder dar uma luz eu agradeço Linha de comando do TProcess: 'xmlsec1 --sign --output assinado.xml --pksc12 certificado.pfx --pwd 123 nota.xml '
    1 ponto
  10. Boa tarde, André. Testei conforme sua orientação, porém sem sucesso. Se tiver mais alguma sugestão, pode falar que eu testo aqui. Att.
    1 ponto
  11. Olá pessoal Adicionei os registros do bloco K que estarão em vigor a partir de 01/01/2017.Adicionei os arquivos aqui no post. Não sei se este é o procedimento padrão para submeter as alterações para vossa avaliação e adição no brench principal. Os campos adicionados são os que mencionei no post anterior, com base manual do EFD, versão 2.0.19 K210 e K215: referente a Desmontagem de mercadorias – Item de Origem e Destino K260 e K265: referente a Reprocessamento/Reparo de Produto/Insumo e Mercadorias Consumidas e/ou Retornadas K270 e K275: Correção de Apontamento dos Registros K210, K220, K230, K250, K260, K270 e K215, K220, K235, K255 e K265 K280: Correção de Apontamento – Estoque Escriturado Qualquer procedimento diferente que seja necessário de minha parte, favor me comunicarem. ACBrEFDBloco_K.pas ACBrEFDBloco_K_Class.pas ACBrSpedFiscal.pas
    1 ponto
  12. Olá, Utilizo algo parecido para efetuar recebimento de Correspondente Bancário. Acho que pode ajudar: Para iniciar a transação, altero a operação CHQ para '312' (Consulta Pagamento Genérico). Após informar todos os dados dessa transação, o SiTEF aguarda o pagamento, então eu chamo novamente o CHQ, porém dessa vez com Operação '313' (Pagamento Genérico), informando os dados do pagamento em "ACBrTEFD1.TEFCliSiTef.Restricoes" Segue um trecho do código para exemplo: // Altera OperacaoCHQ para "Consulta Pagamento Genérico" ACBrTEFD1.TEFCliSiTef.OperacaoCHQ := 312; // Chama SiTEF informando valor zero no CHQ para pular "VerificarTransacaoPagamento" ACBrTEFD1.CHQ(0, '00|CB', IntToStr(wDocumento)); // Pega valor à ser pago wValorStr := ACBrTEFD1.RespostasPendentes[ACBrTEFD1.RespostasPendentes.Count-1].LeInformacao(609).AsString; // Nesse momento deve ser efetuado o pagamento no Caixa... // Chamando o SiTEF para confirmar o Pagto. (Utilizando Dinheiro) // Usa property Restricoes(ParamAdic.) para enviar Dados do Pagamento ACBrTEFD1.TEFCliSiTef.Restricoes := '{DadosPagamento=1:'+wValorStr+'}'; // Altera OperacaoCHQ para "Pagamento Genérico" ACBrTEFD1.TEFCliSiTef.OperacaoCHQ := 313; // Chama SiTEF novamente, com o mesmo Documento Vinculado(Nesse caso o COO da venda) ACBrTEFD1.CHQ(0, '00|CB', IntToStr(wDocumento));
    1 ponto
  13. Ligue no ACBrTEFD, o Log em modo Debug... Será gravado no Log, todas as informações retornadas pelo SiTef, com os respectivos códigos de índice..
    1 ponto
  14. Use o Debug e estude os fontes... é fundamental ter domínio dos fontes para conseguir passar na homologação... O componente está fazendo o que ele foi programado para fazer... A classe TACBrTEFDAuttar herda de TACBrTEFDClassTXT, que herda de TACBrTEFDClass... E veja que no final de TACBrTEFDClass.Inicializar... há uma chamada a: CancelarTransacoesPendentesClass ; Provavelmente poucas pessoas usam a classe TACBrTEFDAuttar, ou eles mudaram os testes... Você poderia fazer um override do método Inicializar na classe TACBrTEFDAuttar e escrever o novo comportamento esperado...
    1 ponto
×
×
  • 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...
The popup will be closed in 10 segundos...