Melhorias


Situação/Requisito:

Lentidão ao realizar a aplicação de pacotes diferenciais ou migrar da release 17 para a release 23 com banco de dados o processo de chksum.
Solução/Implementação:

Realizada mudança na forma de geração e ajuste dos hashes de chksum de usuários para utilizar direto o banco de dados e não mais o modelo do MVC.

FWUSERACCOUNTDATA.PRX
SPFFUNTIONSDB.PRW
MPRBECFG23.PRW
APUPD030.PRW
MPUSERACCOUNTDATA.PRX
PROTHEUSFUNCTIONMVC.PRX
FWFORMCHECKSUM.PRW
FWUSERCHKSUMCONFIG.PRW
FWUSERCHKSUMMODELFACTORY.PRW
FWUSERCHKSUMTABLEFACTORY.PRW
FWTABLECHECKSUM.PRW
FWLINECHECKSUMHANDLER.PRW
FWUSERDATAPROTECTIONACCESSADJUST.PRW
FWUSERINITCHKSUM.PRW
FWUSRCHKSUMLINEHANDLER.PRW
FWDBBULKSQL.PRW
FWUSERINITCHKSUMDBUPDATERBUILDER.PRW

Chamados relacionados:

DFRM1- 21957


Situação/Requisito:

Ao excluir um registro no Banco de Conhecimento seria bom que fosse excluído o registro referente na tabela ACB. 

Hoje apenas o registro da tabela AC9 é excluído.

Solução/Implementação:

Criada nova configuração através do parâmetro MV_FWEXDOC. 

Se o parâmetro estiver com conteúdo (do tipo caracter) = 1, a cada exclusão de associação conhecimento x entidade será avaliada a existência de outras associações ao conhecimento da tabela ACB.

Caso não exista mais o vínculo, o registro da tabela ACB será excluído. 

Caso o parâmetro não exista ou estiver com conteúdo (do tipo caracter) = 2, o registro do conhecimento será mantido na base, 


Observação:

A avaliação será efetuada apenas quando da exclusão de vínculos de cada conhecimento. Não será efetuado processamento da base de dados para excluir demais registros da tabela ACB sem vínculos.


MPDOCUMENT.PRW 

Chamados relacionados:

DFRM4 - 3492

Situação/Requisito:

Rest Server não tem suporte ao TLS1.1 e TLS1.2

Solução/Implementação:

Foi adicionada uma alteração para receber os valores da chave no INI para o suporte ao TLS1.1 e TLS1.2

FWHTTPSRV.PRX

FWHTTPSRVTESTCASE.PRW

Chamados relacionados:

DFRM1-23102

Situação/Requisito:

Atualização da biblioteca protheus-lib-core para última versão do PO-UI devido a quebras após mudança de nome de Portinari para PO-UI.

Solução/Implementação:

Realizada a atualização para o Angular 9 e para o Po-ui 2.

Documentação -    https://github.com/po-ui/po-angular/blob/master/CHANGELOG.md   

Chamados relacionados:

DFRM1-22958

Situação/Requisito:

Inclusão do novo replay  no lugar do antigo no Shift+F6.

Solução/Implementação:

Implementada a chamada do replay através do shift+f6, modificando a chamada do antigo rastrear fontes.

FWLOGPROFILER.PRW
AVISO.PRX
HDMAPAURA.PRW

Documentação  : TDS Replay 1.0

Chamados relacionados:

DFRM1-23434

Situação/Requisito:

Programas escritos com restrição para que só pudessem ser chamados dentro de módulos específicos. Podiam ser invocados de outros módulo com uso de estratégias para trocar identificadores internos de módulo e função do menu com user function.

Solução/Implementação:

Realizada alteração que protege a leitura do módulo verdadeiro de invocação do programa. Também foi adicionada a possibilidade de bloquear um programa padrão de ser invocado a partir de uma user function.

Documentação - Função AmIIn

APLIB090.PRW

FWLSMODLIGHT.PRX

APCFG110.PRW

Chamados relacionados:

DFRM1-23392

Não conformidades


Situação/Requisito:

A função FWUsrUltLog não está funcionando para banco de dados.
Solução/Implementação:

A função FWUsrUltLog foi corrigida, para trabalhar com banco de dados, sendo agora possível utilizar a mesma para banco de dados ou CTREE.

SIGAPSW.PRG

Chamados relacionados:

DFRM1- 22928


Situação/Requisito:

Ao inserirmos uma coluna do tipo função na rotina FINA040 e tentarmos realizar a impressão do Browse, funciona as primeiras vezes, porém ao sair da rotina e abrir novamente ocorre a não conformidade.
Solução/Implementação:

Havia um objeto a ser associado ao bloco de código da coluna e ao incluir ele funcionava porque tinha a referência do objeto, mas ao fechar e abrir novamente a rotina essa referência era perdida.  Esse objeto foi retirado, deixando um objeto que sempre será executado.

FWBROWSE.PRW

Chamados relacionados:

DFRM1 - 23033

Situação/Requisito:

Ao aplicar reordenação dos dados de um grid mvc com validação pendente de submodelos superiores era apresentado não conformidade na navegação dos registros.
Solução/Implementação:

Corrigido o momento que forçava o posicionamento para visualização dos dados conforme o modelo e não conforme a ordenação corrente.

FWBROWSE.PRW
FWFORMGRID.PRW
FWFORMVIEW.PRW

Chamados relacionados:

DFRM1 - 23082



Situação/Requisito:

Ao tentar realizar o reset de senha quando as politicas estão utilizando uma máscara apresenta não conformidade.
Solução/Implementação:

Ajustada a geração de reset de senha do administrador para que a máscara das políticas não interfira na execução do processo.

FWUSERACCOUNT.PRX
FWPSWSENDBYMAIL.PRX

Chamados relacionados:

DFRM1 - 23078

Situação/Requisito:

A porta do appserver que a lib está trabalhando, está gerando problemas em diversos cenários, como schedule, licenças e processamento em grid.
Solução/Implementação:

A porta do appserver que antes era lida diretamente pelo INI, na seção TCP, passou a ser lida pela função getPort do binário, com isso, mesmo em binário com porta única, a porta de comunicação é retornada de forma correta, possibilitando as conexões feitas pelo schedule, pelo processamento em grid e pelo license server.

FWGETSRVPORT.PRW
APLIB050.PRW
APLIB260.PRW
APGRIDAGN.PRW
APGRIDCLI.PRW
FWSCHDUTIL.PRW

Chamados relacionados:

DFRM1 - 22962

Situação/Requisito:

Na criação do arquivo xls estava sendo adicionado linhas mesmo quando a opção de suprir linhas era selecionada no Relatório Analítico, foi encontrado outro problema com o layout de datas no relatório Sintético.
Solução/Implementação:

A correção foi modificar o xls para não pular linhas quando selecionada a opção de suprir linhas e no caso da data a solução foi identificar que o relatório era no excel.

REPORT01.PRW
REPORT02.PRW

Chamados relacionados:

DFRM1 - 22946

Situação/Requisito:

Não conformidade ao incluir um app PO-UI (chamada através da FWCallAPP) no menu SIGAESP do Protheus.
Solução/Implementação:

Realizado ajuste para que ao utilizar qualquer módulo para a execução do aplicativo no Protheus a não conformidade não seja apresentada.

PROTHEUSAUTH.PRW

Chamados relacionados:

DFRM1 - 23002

Situação/Requisito:

As informações de data e hora não estão sendo apresentadas corretamente no relatório APCFGR40.
Solução/Implementação:

O tamanho do campo de data e hora no relatório foi aumentado, de forma que a informação completa seja exibida.

APCFGR40.PRW

Chamados relacionados:

DFRM1 - 22788

Situação/Requisito:

Propriedade Description não disponível ao ser usado o New Model do MVC.
Solução/Implementação:

Alteração para identificar a description que esta sendo adicionada.

FWMVCDEF.CH

Passo a passo para a correção

  • Atualizar includes no portal. Link abaixo.

 https://suporte.totvs.com/portal/p/10098/download#detail/491499

  • Recompilar fonte FWMVCDEF.PRW com includes atualizados.


Chamados relacionados:

DFRM1 - 23171

Situação/Requisito:

A função FWSFLdRelRule não retorna mais as informações dos privilégios do usuário.
Solução/Implementação:

Verificado que a função FWSFLdRelRule é específica para uso em ambiente com dicionário em arquivo.
Identificado que o XML que era retornado pela função FWSFLdRelRule não existe mais pois ele foi normaizado em várias tabelas no banco de dados.
Sendo assim, foi criada a função FwUsrPrivDB para retornar
Criada função FwUsrPrivDB para retornar os privilégios atrelados em um usuário em ambiente com dicionário no banco.

Link da documentação: https://tdn.totvs.com/pages/viewpage.action?pageId=553351288

MPUSERFUNCTIONSDB.PRW


Chamados relacionados:

DFRM1 - 23209

Situação/Requisito:

Não conformidade no RUP CFG ao rodar o upddistr para o release 27, apenas em ambiente CTREE.
Solução/Implementação:

Manutenção de tabelas de menu do RUP 27 foi corrigida, para ser executada somente em ambiente com dicionário no banco de dados.

FWRUPCFG27.PRW

Chamados relacionados:

DFRM1 - 23274

Situação/Requisito:

Não conformidade nos relatórios criados com FwMsPrinter e que implementavam controle próprio para lembrar o tipo da última impressão.
Solução/Implementação:

Identificado o momento que estava sobrescrevendo a informação do tipo de impressão e ajustado para somente sobrescrever quando usuário não tiver permissão.
As permissões são avaliadas conforme acessos 111, 112, 121 e 122.

FWPRINTSETUP.PRW

Chamados relacionados:

DFRM1 - 22855

Situação/Requisito:

Exportação da consulta genérica está truncando os dados quando o campo possui uma picture de @S (Tamanho).
Solução/Implementação:

A picture @S passou a ser exceção na transformação de dados com a picture, evitando assim dados truncados na exportação de dados na consulta genérica.

APLIB230.PRW

Chamados relacionados:

DFRM1 - 23188

Situação/Requisito:

Ao possuir a configuração de SINGLE SIGN-ON, o Meu RH não funciona, ocasionando não conformidades

Solução/Implementação:

Verificado que a solução anterior havia resolvido apenas parte do problema e que era necessário revalidar o cache em novas threads.

FWAPP.PRW
FWHTTPAUTH.PRW

Chamados relacionados:

DFRM1 - 23117

Situação/Requisito:

Não conformidade de sintaxe SQL na impressão de relatório Totvs Report
Solução/Implementação:

O problema ocorria porque na montagem da query, quando é dicionário no banco de dados, ao ser usado o Posicione() estava sendo adicionado aspas simples para ele e o próprio Posicione() já tinha as mesmas, o que gerava o erro, essas aspas dentro do Posicione() foram trocadas para aspas duplas.

PROTHEUSFUNCTIONREPORT.PRW

Chamados relacionados:

DFRM1 - 23169

Situação/Requisito:

Ocorre uma não conformidade ao abrir o APSDU. Cliente utiliza o TSS no release 27.


Corrigida a não conformidade ao executar a rotina MPUPDATEPACK sem a configuração dos servidores.

FWPERSISTENVINFO.PRW

Chamados relacionados:

DFRM4 - 3653

Situação/Requisito:

Ao executar o Mashup via WebApp a tela do recaptcha não é apresentada, fica em branco.


O Recaptcha não esta disponível para o SmartClient WebbApp, foi feito o ajuste para mostrar uma mensagem informando isto.

APCFG10L.PRW

Chamados relacionados:

DFRM1- 23525

Situação/Requisito:

O cadastro de produtos está apresentando lentidão


O método makewhen entre diversos outros métodos do MVC foram refatorados, removendo variáveis não utilizadas, enviando valores para as funções e métodos, evitando assim a utilização de valores default, as variáveis e propriedades envolvidas foram tipadas e alguns arrays e hashmaps foram substituídos por JsonObject.

FWMARKTIMER.PRW

FWHASMAP.PRW

FWFORMFIELDSMODEL.PRX

FWFORMGENERICMODEL.PRW

FWFORMGRIDMODEL.PRX

FWFORMMODEL.PRX

FWFORMMODELSTRUCT.PRX

FWRESTMODEL.PRX

FWPMODELREST.PRW

FWBROWSE.PRW

FWBRWDATAMODEL.PRW

FWEDITCRTL.PRW

FWFORMBROWSE.PRW

FWFORMCONTAINER.PRW

FWFORMFIED.PRW

FWFORMGENERICVIEW.PRW

FWFORMGRID.PRW

FWFORMTREE.PRW

FWFORMVIEW.PRW

FWFORMVIEWSTRUCT.PRW

FWLOOKUPSTRUCT.PRW

FWMVCWiNDOW.PRW

FWOtHEROBJEXTVIEW.PRW

FWUIBROWSEFACTORY.PRW

FWVIEWEXEC.PRW

FWVIEWTREESTRUCT.PRW

FWMODELEVENTHANDLER.PRW

FWOBJLOGMSG.PRW

MPFORMMODEL.PRX

MPPOLICEPERSIST.PRW

FWTABLESTRUCT.PRX

FWLOGMSG.PRX

MPALASCPO.PRW

MPPREPVALIDATION.PRW

PROTHEUSFUNCTIONMVC.PRX

FWTEMPDBUTILS.PRW

MPSYSSOPENTABLES.PRW

Chamados relacionados:

DFRM1- 22979


Situação/Requisito:

Foi percebido no cadastro de usuários a geração de linhas com valores que não deveriam ter as linhas incluídas.


Ajustado a geração de checksum a partir do fieldmodel e do gridmodel, validando se é necessária a execução da criação e posteriormente a validação.

FWFORMFIELDSMODEL.PRX

FWFORMGRIDMODEL.PRX

APUPD030.PRW

Chamados relacionados:

DFRM1- 23181

Situação/Requisito:

Ao exportar um formulário HTML ou ECM está gerando inconsistência  de variável.


A variável realmente não existe no contexto de exportação dos formulários, portanto a utilização da mesma foi removida.

FWEDITCRTL.PRW

Chamados relacionados:

DFRM1- 23319

Situação/Requisito:

O banco de conhecimento está gerando inconsistência na rotina TECA700.


O array de relacionamento da tabela ABH estava com erros em sua estrutura, gerando assim a inconsistência, portanto a estrutura do array foi corrigida, solucionando assim a não conformidade.

MPDOCUMENT.PRW


Chamados relacionados:

DFRM1- 23313

Situação/Requisito:

Papel de trabalho não deve ser associado ao usuário Admin e solução para papel de trabalho priorizado.


Quando for usuário Administrador o Papel de Trabalho não será associado e foi modificado o trecho que sugere um papel de trabalho para olhar se existe algum já priorizado, se não houver ele sugere o primeiro.

FWUSERACCOUNT.PRX

APLIB090.PRW

FWAPP.PRW

FWUISKIN.PRW

FWGETENV.PRW

Chamados relacionados:

DFRM1- 23297

Situação/Requisito:

Ao incluir campos em uma tabela e mudar a sua ordem, todos o campos a partir dessa posição ficam com a posição duplicada.


Alterada a forma de leitura e união das tabelas SX3 X SX3X31 para a correta visualização da sequência dos campos no momento da apresentação em tela.

Alterada a forma de gravação da sequência no dicionário (SX3), utilizando a nova sequência de gravação.

Alterado a forma de gravação da rotina UPDDISTR para a inclusão de novos campos vindos de atualizações de pacotes.


APUPD030.PRW

APCFG10A.PRW

APCFG10I.PRW

Chamados relacionados:

DFRM4 - 3616

Situação/Requisito:

GPER400 - Não Apresenta Filiais quando há mais de uma filial com a mesma descrição


Foi feita a correção para comparar o código da filial ao invés de comparar com o nome, assim evitando duplicações da forma correta, já que o nome pode ser repetido, mas o código não.

MSLIB.PRW

Chamados relacionados:

DFRM1 - 23282

Situação/Requisito:

Ao utilizar um sigapss que não contém salvo os acessos criados recentemente (191, 192, 193) nos grupos de usuário o retorno não obedece o default desses acessos.



Ajustado para que o retorno dos acessos do usuário autenticado siga os valores default caso o sigapss não possua esses acessos.

MPUSERACCOUNT.PRX

Chamados relacionados:

DFRM1 - 23355

Situação/Requisito:

Não conformidade no filtro acontece por ter um filtro de SQL que é preenchido com @, assim o filtro inteligente criado no dicionário não funcionava, pois estava indo como 'filtro relacional' sendo que não era um relacional.


Foi retirada uma validação feita para filtro que contenham @, assim o alias do Browse é setado corretamente e o filtro inteligente não é carregado como relacional.

FWFILTER.PRW

FWBROWSE.PRW

FWFILTERTESTCASE.PRW

FWBROWSETESTCASE.PRW

Chamados relacionados:

DFRM1 - 23379

Situação/Requisito:

Linhas estão ficando muito próximas na impressão em PDF quando se altera a altura da linha.


Corrigido o gerenciamento de mudança de linha no treport quando a impressão for PDF.

REPORT02.PRW

Chamados relacionados:

DFRM1 - 22693

Situação/Requisito:

A função pswret está retornando valores vazios em alguns menus, mesmo com dados persistidos no usuário, isso somente para dicionário no banco de dados.


A verificação de ID de menu foi alterada, para que quando o valor gravado no usuário não seja encontrado no cadastro de menu, esse mesmo valor seja retornando, mantendo assim o comportamento antigo da função.

MPUSERPERSIST.PRW

Chamados relacionados:

DFRM1 - 23270

Situação/Requisito:

A pesquisa por colunas não está funcionando no grid MVC.


A pesquisa por colunas não deve ser exibida no grid MVC, a mesma foi criada apenas para o browse tradicional, portanto foram criados tratamentos para que a pesquisa por colunas não seja exibida em grids MVC.

FWROWSE.PRW
FWFORMGRID.PRW
FWSEEK.PRW
FWUIBROWSE.prw

Chamados relacionados:

DFRM1 - 23118

Situação/Requisito:

A pesquisa por colunas não está funcionando no grid MVC.


Revisão do mecanismo de geração, transporte e atualização das alterações de menu efetuadas através do uso de projetos no configurador.


O(s) menu(s) que antes eram transportados no arquivo mnupack.txt como um objeto de menu serializado passaram a possuir conteúdo XML / XNU.

Obs.: SmartERP.

Chamados relacionados:

DFRM4-3630