Versão 2019/01 liberada em 14/10/2019.
Esta versão é compatível com a CTeLibrary.dll versão 3.0.8.2 (CTeLibrary_v3.08b.zip).
Atenção: Antes de realizar a atualização para esta versão é imprescindível ler o documento Migrando da versão 2018/01 para 2019/01.
Nova funcionalidade
- Criada a função CTeLerXMLEvento que lê as informações do xml CT-e de evento.
Alterações para atender MOC (Manual de Orientação do Contribuite) versão 3.00a
- Adicionadas novas funções para novos eventos:
- Adicionada geração da tag qrCode na função CTeGeraXML.
- Adicionada leitura da tag qrCode na função CTeLerXML.
- Alterada a geração da tag pICMSInterPart do grupo ICMSUFFIM para ocorrer somente se o valor for diferente de zero nas funções CTeGeraXML e CTeOSGeraXML.
- Adicionado suporte ao envio síncrono na função CTeEnviar.
- Criada a função CTeOSEnviarGTV que registra evento informando as GTVs relacionadas com a prestação do serviço.
- Criada a função CTeDistribuicaoDFe que permite recuperar a lista de conhecimento de transporte relacionada a um CPF/CNPJ ou um conhecimento específico através do NSU - Número Sequencial Único.
Melhorias
- Adicionado, na função CTeMontaChaveAcesso, tratamento nos parâmetros sCNPJEmitente e sMod para excluir espaços em branco e caracteres especiais.
- Melhoria na função CTeGeraXML: a validação do vtide.iprocEmi anteriormentente considerava como valor válido o intervalo entre 0 (zero) e 3 (três), passando agora a considerar apenas os valores 0 (zero) e 3 (três).
- Foi implementada uma alteração em todas as funções que se comunicam via internet ou exibem caixa de diálogo para o usuário, para emitirem um erro, caso sejam executadas durante uma transação. Esta alteração visa garantir que a aplicação não trave em ambiente multi-usuário. Abaixo as funções alteradas:
- Atualização na função CTeLerXML possibilitando a leitura de CT-e e CT-e OS (Observação: para possibilitar a utilização da mesma estrutura, as informações referente ao tomador encontram-se na estrutura vtCTe.ide, tanto para CT-e quanto CT-e OS).
- Removida a função obsoleta CLeEnviar.
Suporte ao Dataflex
- Todos os pacotes foram revisados e substituído o "Use Windows.pkg" por "Use VdfBase.pkg" para não ocorrer warning de compilação no DF 19.1 ao compilar uma aplicação Web.
- Adicionado suporte à versão 19.1 do DataFlex.
- Revisão de pacotes para evitar Warnings do compilador do DataFlex 19.1.
Workspace de exemplo
- Melhoramos o exemplo da geração da string do qrCode, parametrizando a url.
- Alteramos o exemplo para fazer a geração prévia da chave do CT-eutilizando a função CTeMontaChaveAcesso.
- Adicionado tratamento do envio do CT-e em modo síncrono.
- Alterado o tratamento do retorno da função CTeEnviar nas procedures CTeBuscar e CTeEnviarXML (DD da tabela CT-e), onde criamos a procedure TrataRetorno.
- Corrigido erro na chamada da função RenameFile, onde na passagem do parâmetro {new-filename} estava sendo informado o caminho completo do arquivo.
- Corrigido no DD do CT-e a implementação das funções Request_Validate/Request_Save, onde antes de executar a função Request_Save não estava sendo verificado o retorno da Request_Validade.
- Corrigido no DD do CT-e erro na chamada da função CTeEnviar, onde o parâmetro &{sResultado} não estava sendo passado por referencia.
- Corrigido problema no lookup do emitente no cadastro de configurações do sistema (ocorria erro ao ser ativada).
- Adicionado, na tela "Cadastro e emissão de CT-e", botões com exemplos dos eventos comprovante de entrega e cancelamento do comprovante de entrega;
- Criada a view CteDistribuicaoDFe.vw, um exemplo totalmente funcional que exemplifica como recepcionar os CTes usando a função CTeDistribuicaoDFe, gerar os recpectivos arquivos XMLs além de possibilitar a geração do DACTe de um CT-e selecionado.
- Criada a view LerXMLEvento.vw que exemplifica a utilização da função CTeLerXMLEvento.
- Adicionada opção para informar o código do resposável técnico na aba rem/exped/receb/Resp.Téc. da view Cte.vw.
- Adicionado, na view Pessoas.vw, campos para informar o Id do CSRT e o HashCSRT referente ao responsável técnico.
- Removido o campo sLicenca da tabela Pessoas e o respectivo dbform da view Pessoas.vw.
Correções
- Na Workspace de exemplo, corrigido erro na chamada da função RenameFile, onde na passagem do parâmetro {new-filename} estava sendo informado o caminho completo do arquivo.
- Na Workspace de exemplo, corrigido no DD do CT-e a implementação das funções Request_Validate/Request_Save, onde antes de executar a função Request_Save não estava sendo verificado o retorno da Request_Validade.
- Na Workspace de exemplo, corrigido no DD do CT-e erro na chamada da função CTeEnviar, onde o parâmetro &{sResultado} não estava sendo passado por referencia.
- Na Workspace de exemplo, corrigido problema no lookup do emitente no cadastro de configurações do sistema (ocorria erro ao ser ativada).
- Correção do nome da tag chCTe referente ao nó idDocAntEle na função CTeGeraXML.
- Correção na geração do nome da tag tpFretamento do CT-e OS na função CTeOSGeraXML.
- Correção realizada nos arquivos .sws das versões 18.0 à 19.1 para evitar mensagens de erro, dizendo que não foi possível encontratra arquivo PKG, durante a compilação na edição Ready Only.
- Correções na função CTeLerXML:
- A informação referente a tag vTotTrib (vtCte.imp), não estava sendo lida.
- Quando existia o grupo infCte.infCTeNorm.infDoc.infOutros, sem a tag dEmi (que é opcional), a leitura do XML parava neste ponto e retornava False, indicando falha na leitura.