2017/02

A versão 2017/02 foi liberada em 03 de Novembro de 2017.

Esta versão é compatível com a CTeLibrary.dll versão 3.0.4.0 (CTeLibrary_v3.04.zip).

Alterações para atender o Manual de Orientações do Contribuinte - Versão 3.00

  • Foram incluídos duas novas funções específicas para o CT-e OS:
  • Todos os pacotes da CTeLibrary foram revisados para geração e consulta operando na versão 3.00.

Alterações para atender a NT 2017/001

  • Todos os pacotes da CTeLibrary foram revisados para antender a NT.

Alterações para atender a NT 2016/002

  • A função CTeGeraDACTe foi atualizada para atender a NT. Desenvolvedores que utilizam soluções de terceiros para geração do DACTe, devem verificar com o suporte dos respectivos fornecedores.

Alterações para atender a NT 2016/001

  • Nenhuma alteração necessária na CTeLibrary. O desenvolvedor deve verificar se precisará alterar algo em sua aplicação consultando os detalhes da NT.

Suporte ao DataFlex

  • Foi adicionado arquivo .sws da versão 19.0 e a CTeLibrary agora passa a ser suportada na versão 19.0 do DataFlex também.

Melhorias

  • Adicionado suporte ao modal ferroviário na função CTeLerXML.
  • Foi adicionada validação para o modal dutoviário na função CTeGeraXML.
  • Adicionado suporte ao modal aquaviário na função CTeLerXML.
  • A documentação da função CLeEnviar foi alterada para indicar que ela é obsoleta, visto que a Capa de Lote Eletrônico foi descontinuada com o advento do MDF-e.

Woskspace de exemplo

  • A workspace de exemplo foi alterada para suportar o modal dutoviário.
  • A workspace de exemplo teve todas as telas, pacotes e tabelas alterados para gerar o XML da versão 3.00 do CT-e.
  • Todas as tabelas e campos que eram específicos da versão 2.00 do XML e não existem mais na versão 3.00 foram removidos da Workspace de exemplo.
  • Todos os labels de objetos que possuem tags correspondentes no XML foram alterados para ficarem com o mesmo nome da tag do XML, facilitando assim que o desenvolvedor os  identifique.
  • Todas as telas e tabelas que existiam no exemplo para mostrar a utilização da função CLeEnviar foram removidos, visto que a função é obsoleta.
  • A workpace de exemplo foi migrada para a versão 19.0 do DataFlex.

Correções

  • O pacote CTeEnviaCCe.pkg foi corrigido, pois não era autônomo e ao compilar um projeto de teste apenas com este pacote, ocorria erro.
  • Correção no tipo e nome da tag inDoc do grupo infCTeNorm.docAnt.emiDocAnt.idDocAnt.idDocAntPap para String e snDoc, pois o schema permite valores com tamanho 30, o que não é comportado pelo tipo Integer.
  • Correções na função CTeGerarXML:
    • Correção na geração de CT-e multimodal, que causava erro de conversão de tipo de dados ilegal.
    • Correção na geração das tags infCte.infCTeNorm.docAnt.emiDocAnt.idDocAnt: depois de gerar os grupos idDocAntPap e idDocAntEle, os identificadores dos nós não estavam sendo destruídos, mantendo os objetos em memória após a geração do arquivo.
    • A tag infCte.infCTeNorm.infDoc.infOutros.dEmi estava sendo gerada sempre, mas como é opcional, a função foi alterada para só gerar esta tag se ele tiver valor informado.
    • A tag infCte.infCTeNorm.infDoc.infNF.infUnidTransp.qtdRat estava sendo gerada sempre. Como é opcional, a função foi alterada para só gerar esta tag se ela tiver valor maior que zero.
    • Correção na geração da tag infCte.infCTeNorm.infDoc.infNF.infUnidTransp.lacUnidTransp.nLacre. A função estava gerando vários nós nLacre dentro de um único lacUnidTransp, quando o correto é gerar um único nLacre dentro de cada lacUnidTransp, que pode se repetir várias vezes dentro do nó infUnidTransp.
    • Correção na geração do grupo infCte.finCTeNorm.infDoc.infNF.infUnidTransp. A função estava gerando um único nó infUnidTransp, mesmo que existissem vários elementos no array.
    • Correção na geração do grupo infCte.finCTeNorm.infDoc.infNF.infUnidCarga. A função estava gerando um único nó infUnidCarga, mesmo que existissem vários elementos no array.
    • Correção na geração da tag infCte.infCTeNorm.infDoc.infNF.infUnidCarga.lacUnidCarga.nLacre. A função estava gerando vários nós nLacre dentro de um único lacUnidCarga, quando o correto é gerar um único nLacre dentro de cada lacUnidCarga, que pode se repetir várias vezes dentro do nó infUnidCarga.
    • A tag infCte.infCTeNorm.infDoc.infNF.infUnidCarga.qtdRat estava sendo gerada sempre. Como é opcional, a função foi alterada para só gerar esta tag se ela tiver valor maior que zero.
    • Correção do campo sinfServVinc_infCTeMultimodal_chCTeMultimodal dentro da estrutura tCTe_infCTeNorm. Este campo estava definido como uma string simples, mas é um vetor, pois pode se repetir várias vezes no XML.
  • Correção na função CTeCancelar que não estava gerando a tag dhEvento no formato correto, quando o desenvolvedor não informava a variável sdhEvento.
  • Correções na função CTeLerXML:
    • Correção na leitura da tag vCargaAverb que gerava erro quando era informada.
    • Correção para ler tag indGlobalizado do grupo "ide" pois não estava carregando o valor desta tag, quando informado no XML.
    • Foi corrigida a leitura do nó "infCTeNorm.infServVinc.infCTeMultimodal.chCTeMultimodal", pois este campo havia sido definido como string simples originalmente, mas é um vetor.
    • Foi corrigido erro "O nó ’infCteComp’ não possui elemento ’vPresComp’!" que ocorria ao ler um XML com o nó infCteComp.
    • Foi corrigida para ler a tag IEST do grupo ide, que foi introduzida na versão 3.00 do XML.