Ir para conteúdo
  • Cadastre-se

Allan Wolski

Membros
  • Total de ítens

    103
  • Registro em

  • Última visita

Posts postados por Allan Wolski

  1. A condição da linha 496 da função TRetDistDFeInt.LerXml não está funcionando corretamente para XML de CT-e OS.

    if (oLeitorInfZip.rExtrai(1, LowerCase(FtpDFe) + 'Proc') <> '') then

    A verificação está sendo realizada na tag cteProc (FtpDFe = CTe), porém a tag correta é cteOSProc.

    Com isso as propriedades não estão sendo preenchidas corretamente, inclusive o XML.

  2. A mensagem SOAP está sendo gerado com a tag mdfeDadosMsg duplicada, causando a rejeição: Usar somente o namespace padrão do MDF-e

    <soap12:Envelope xmlns:soap12="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
       <soap12:Header>
          <mdfeCabecMsg xmlns="http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeDistribuicaoDFe">
             <cUF>41</cUF>
             <versaoDados>1.00</versaoDados>
          </mdfeCabecMsg>
       </soap12:Header>
       <soap12:Body>
          <mdfeDadosMsg xmlns="http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeDistribuicaoDFe">
             <mdfeDadosMsg>
                <distDFeInt xmlns="http://www.portalfiscal.inf.br/mdfe" versao="1.00">
                   ...
                </distDFeInt>
             </mdfeDadosMsg>
          </mdfeDadosMsg>
       </soap12:Body>
    </soap12:Envelope>

     

    Para gerar o SOAP corretamente, removi o parâmetro "mdfeDadosMsg" da criação do DistDFeInt em TDistribuicaoDFe.DefinirDadosMsg.

    DistDFeInt := TDistDFeInt.Create(FPVersaoServico, NAME_SPACE_MDFE,
                                     '', 'consChMDFe', 'chMDFe', False);

     

    • Curtir 3
  3. Bom dia, @Daniel Simoes

    A propriedade RLPrinter.Copies acessa diretamente a propriedade Printer.Copies da unit Printers.pas, disparando o erro mencionado em aplicações ISAPI, onde o nível de permissão é limitado.
    Acredito que o número de cópias é utilizado apenas quando enviamos uma impressão direta, pois não faz sentido gerar o PDF com mais de uma cópia sendo que isso ficará a critério de quem for imprimir o mesmo.

    De qualquer forma, a verificação pode ser alterada para

    if NumCopias > 1 then
       RLPrinter.Copies := NumCopias;

    Obrigado.

    • Curtir 2
  4. Sim, e basicamente eu resolvo isso com a função ConverteXMLtoNativeString.
    Apenas sugeri em utilizar o DecodeToString ao invés do ParseText diretamente na variável StrDecod, visto que a mesma é chamada dentro do ParseText.

    Desta forma solucionaria ambos os problemas, pois não teria o replace dos "entity code".

×
×
  • 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...