Ir para conteúdo
  • Cadastre-se

Mario Inacio

Membros Pro
  • Total de ítens

    474
  • Registro em

  • Última visita

  • Days Won

    1

Tudo que Mario Inacio postou

  1. Seguem os códigos: function ValidarArquivo: Boolean; begin Result := True; if tArqXml.Text = '' then begin MessageBox('Erro! Arquivo Vazio'); Result := False; end; if not XmlEstaAssinado(tArqXml.Text) then begin MessageBox('Erro! Arquivo sem assinatura'); Result := False; end; end; function XML_Validar: boolean; begin Result := False; if not ValidarArquivo then Exit; WSValidar := trBlocoX.WebServices.ValidarBlocoX; WSValidar.XML := tArqXml.Text ; WSValidar.ValidarPafEcfEEcf := False; if WSValidar.Executar then Result := True else wrequest(WSValidar.RetWS); end; function XML_Transmitir: boolean; var FileStream: TMemoryStream; begin Result := False; if not ValidarArquivo then Exit; try FileStream := TMemoryStream.Create; FileStream.LoadFromFile(PastaGrav+ArqZip); WSEnviar := trBlocoX.WebServices.EnviarBlocoX; WSEnviar.XML := tArqXml.Text; WSEnviar.XMLZipado := TransfBase64.EncodeStream(FileStream,FileStream.Size); if WSEnviar.Executar then begin Recibo:= wSEnviar.Recibo; if Pos('Não gerado',Recibo) > 0 then begin MessageBox('Erro ao enviar para WebService do Sefaz!'+#13+#13+ WSEnviar.RetWS); end else begin Result := True; XML_GravaRecibo(1); SalvaStringArquivo(WSEnviar.RetWs, fMenu.PastaApl+'PAF-ECF\'+ iif(cds1.fieldbyname('codigo').asstring='REDUCAO', 'Recibos dos Arquivos com Informações da Reducao Z do PAF-ECF\', 'Recibos dos Arquivos com Informações do Estoque Mensal do Estabelecimento\')+ Recibo+'.xml'); Sleep(3000); end; end else MessageBox('Erro ao enviar para WebService do Sefaz!') finally FileStream.Free; DeleteFile(PastaGrav+ArqZip); end; end; procedure XML_ConsultaRecibo; begin WSConsultar := trBlocoX.WebServices.ConsultarBlocoX; WSConsultar.Recibo := Recibo; WSConsultar.Executar ; if wsconsultar.SituacaoProcCod = 1 then begin MessageBox('Arquivo com informações '+ iif(cds1.fieldbyname('codigo').asstring='REDUCAO', 'da Redução Z do PAF-ECF ','do Estoque Mensal do Estabelecimento ')+ 'transmitido com sucesso!'); XML_GravaRecibo(9); end else MessageBox('Erro ao enviar para WebService do Sefaz!'+#13+#13+ wsconsultar.RetWS); end; Usei o componente IdEncoderMIME da paleta Indy pra converter para Base64. Nenhuma função que peguei na internet ou no fórum funcionou. Qualquer coisa, pergunta ai.
  2. Bom dia. Você deverá transformar o arquivo ZIP em base64
  3. Olá Bruna. Depois de muito trabalho e muitas funções testadas consegui resolver. Já homologuei meu aplicativo. Qual Delphi você usa?
  4. Já consegui resolver Giuliano. Me refiro a sem movimento, um ecf que possui apenas outras impressões, que não cupom fiscal. Consegui implementar e validar: with TotalizadoresParciais.Add do begin Identificacao := 'T0000'; Valor := 0 ; end;
  5. Consegui gerar com a ajuda do Davi. Solução: with TotalizadoresParciais.Add do begin Identificacao := 'T0000'; Valor := 0 ; end;
  6. Segue Fisco - ReducaoZ - DR101500000000000348 - Data 30032018.xml
  7. Bom dia. Alguem já passou por isso?
  8. Boa tarde. Julimar, pode postar o xml com Redução zerada? Não estou conseguindo gera-lo. Coloquei assim: With TotalizadoresParciais.add Identificacao := 'I'; Valor := 0 ; Gerou assim: -<DadosReducaoZ> <DataReferencia>2018-03-30</DataReferencia> <DataHoraEmissao>2018-03-30T16:00:06</DataHoraEmissao> <CRZ>0359</CRZ> <COO>000009336</COO> <CRO>008</CRO> <VendaBrutaDiaria>00000000000000</VendaBrutaDiaria> <GT>000000000045862744</GT> -<TotalizadoresParciais> -<TotalizadorParcial> <Nome>I</Nome> <Valor>0,00</Valor> <ProdutosServicos/> </TotalizadorParcial> </TotalizadoresParciais> </DadosReducaoZ> Erro no validador: Informação XML inválido: Schema inválido: O elemento 'ReducaoZ' apresenta conteúdo incompleto. Lista de possíveis elementos esperados: 'Signature' no espaço para nome 'http://www.w3.org/2000/09/xmldsig#'.
  9. Certo. Era isso que faltava mesmo. Sabem como gerar uma Reducao sem movimento?
  10. Boa tarde. Estou tentando enviar uma ReducaoZ sem movimento, na qual não geral a TAG "TotalizadoresParciais". <Mensagem> Schema inválido: The element 'DadosReducaoZ' has incomplete content. List of possible elements expected: 'TotalizadoresParciais'. </Mensagem> Qual função pra gerar essa Tag vazia?
  11. Boa tarde. Como posso setar a propriedade "WebServices.Ambiente" em runtime? Não abre as opções disponíveis no componente (taHomologacao ou taProducao). Está faltando declarar algo no Uses ?
  12. Olha o que estou enviando. WSEnviar.XML = Conteudo do "Fisco - ReducaoZ - DR101500000000000348 - Data 23032018.xml" WSEnviar.XMLZipado = Arquivo "Fisco - ReducaoZ - DR101500000000000348 - Data 23032018_base64.zip" (que contem um xml na base64) Obs: O arquivo zipado contem o xml ja transformado em Base64 ou transforma-se o arquivo zip em base64? Retorna o erro em anexo ao transmitir. Fisco - ReducaoZ - DR101500000000000348 - Data 23032018.xml Fisco - ReducaoZ - DR101500000000000348 - Data 23032018_base64.rar
  13. Bom dia. Alguem conseguiu transformar o arquivo zipado em base64 no delphi 7?
  14. Olá. Meu cliente recebe os retornos de 3 bancos e coloca todos numa unica pasta, então faço a leitura não sabendo os dados do cedente, sendo que esses dados vou captar no arquivo lido. Se eu não alterar o fonte, tenho que selecionar o cedente antes de ler cada arquivo. Ocorre um erro ai tambem que o ACBrBanco.ACBrBoleto.Cedente.TipoInscricao vem sempre como "pOutros". Segue um arquivo de retorno de testes. 3070_00068870_20171218_C240_00.ret
  15. Boa tarde. Estou configurando para nosso sistema ler aquivos de retorno do Sicoob CNAB 240. Sempre aparecia erro de conta invalida pois esses campos só eram alimentados após o trecho: if (rConta + rDigitoConta <> OnlyNumber(Cedente.Conta + Cedente.ContaDigito)) then raise Exception.CreateFMT('Conta do arquivo %s inválida, config %s',[rConta,OnlyNumber(Cedente.Conta + Cedente.ContaDigito)]); Então movi para cima o trecho que estava abaixo dessa exceção. Agora está lendo corretamente. ACBrBancoBancoob.pas
  16. Bom dia. Tem como disponibilizar o DEMO atualizado para envio do Bloco X? Meus fontes estão atualizados e o demo ainda está na versão antiga.
  17. Implementei assim: BlocoX.SSL.SelecionarCertificado ; BlocoX.WebServices.EnviarEstoque.XML := conteudo; BlocoX.WebServices.EnviarEstoque.XMLZipado := EncodeBase64(arqzip); BlocoX.WebServices.EnviarEstoque.Executar; Erro apresentado: Erro Interno: 0 Erro HTTP: 0 Erro ao ajustar INTERNET_OPTION_CLIENT_CERT_CONTEXT: 12046 Dúvidas: 1) Como deixar a informação do certificado sem ter que selecionar toda hora 2) Como pegar e tratar o retorno
  18. Bom dia. Consegui solucionar o erro "out of memory" utilizando o FastMM4. Existe algum demo com a rotina de transmissão do arquivo ao Fisco? Ou se puderem me passar parte do código
  19. Pode testar esse demo na tua maquina? É o mesmo do SVN, apenas alterei pra gerar 10 mil produtos ACBrBlocoXDemo.rar
  20. Bom dia. Pode me enviar a tua pasta inteira do ACBR pra confrontar com a minha ou o demo compilado que gere acima de 10mil produtos?
  21. Estranho, li alguns relatos aqui nesse mesmo tópico e ninguem postou a solução. O demo do ACBR, mudei pra 10000 e ocorre tbm, a propósito o demo não atualiza pelo trunk2, manteve-se a versão antiga, será que os fontes estão atualizando? Como posso ver se estão atualizados?
  22. Nessa base 9600, mas tenho clientes com ate 26000
  23. Boa tarde. Chegaram a descobrir alguma solução pra esse erro de memória? Estou com o mesmo problema.
  24. ok
  25. Ola. O arquivos alterados já estão nesse Post.
×
×
  • 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.