Páginas filhas
  • Versão LIB 20181101_P12

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Melhorias


Expandir
titleDFRM1-10562- Melhoria para informar quais campos estão presentes em um certo grupo da SXG

Situação/Requisito:

Os desenvolvedores de segmentos entre outras áreas precisam saber quais campos estão presentes em um certo grupo da SXG

Solução/Implementação:

Foi criado um método na classe FWSX3Util que retorna todos os campos presentes em um grupo da SXG


Método estático criado:
GetAllGroupFields = Retorna todos os campos presentes em um certo grupo da SXG


Exemplo de uso:

aFields := FWSX3Util():GetAllGroupFields( "033" )


FWSX3UTIL.PRW

FWSXGUTIL.PRW

Chamados relacionados:

DFRM1-10562

Expandir
titleDFRM1-12022- Melhoria na execução e criação de relatório RM Report está sendo exigida autenticação por parte do sistema RM

Situação/Requisito:

Na execução e criação de relatório RM Report está sendo exigida autenticação por parte do sistema RM.

Solução/Implementação:

Realizada a implementação para autenticação usando dois novos parâmetros: MV_RMWSUSR e MV_RMWSPSW.
O parâmetro MV_RMWSUSR é para receber o código do usuário.
O parâmetro MV_RMWSPSW é para receber a senha do usuário.

O preenchimento destes parâmetros passa a ser obrigatório para o funcionamento adequado da integração Protheus x RM Reports.


CFGX013.PRW
CALLRM.PRW

Chamados relacionados:

DFRM1-12022

Expandir
titleDFRM1-9740- Funcionalidade onde possa analisar requisições HTTP/HTTPS e ter um diagnóstico

Situação/Requisito:

Funcionalidade onde possa analisar requisições HTTP/HTTPS e ter um diagnóstico.

Solução/Implementação:

Criado a Funcionalidade onde possa analisar requisições HTTP/HTTPS e ter um diagnóstico

FWHTTPANALYZER.PRW
FWHTTPCLIENT.PRW
FWHTTPPROXY.PRW
FWHTTPREQUEST.PRW
FWUIHTTPANALYZER.PRW

Chamados relacionados:

DFRM1-9740

Expandir
titleDFRM1-9393 - Função FillGetDB continua a utilizar de RDD local ( DBF/CTREE ) mesmo com o dicionário migrado ao banco de dados

Situação/Requisito:

A função FillGetDB continua a utilizar de RDD local ( DBF/CTREE ) mesmo com o dicionário migrado ao banco de dados.

Solução/Implementação:

A função FillGetDB foi alterada para criar o alias temporário com a FWTemporaryTable quando o dicionário estiver migrado ao banco de dados.

A liberação desta correção será realizada futuramente através do pacote de LIB versão 20180914, qual contemple os fontes abaixo relacionado(s):

APLIB172.PRW
MSGETDB.PRW

Chamados relacionados:

DFRM1-9393


Bugs


Expandir
titleDFRM1-10142- Não conformidade em alteração de linhas de grid CSS customizados

Situação/Requisito:

Não conformidade em alteração de linhas de grid CSS customizados

Solução/Implementação:

Ajustado o programa para recuperar o CSS customizado na troca de linha do grid Pai

FWFORMGRID.PRW

Chamados relacionados:

DFRM1-10142

Expandir
titleDFRM1-11957 - EventViewer não está realizando uma chamada ao Mingle

Situação/Requisito:

EventViewer não está realizando uma chamada ao Mingle

Solução/Implementação:

Corrigido o programa para fazer um processo ao mesmo tempo, Mingle, independente da chave de seqüência gerada

Chamados relacionados:

DFRM1-11957

Expandir
titleDFRM1-11688 - Embedded Audit Trail não esta removendo a trigger quando o Banco é Oracle para reaplica-la novamente

Situação/Requisito:

Embedded Audit Trail não esta removendo a trigger quando o Banco é Oracle para reaplica-la novamente

Solução/Implementação:

Efetuado tratamento para validar o formato da lista das tabelas do SX2 quando o Banco for Oracle e corrigida a criação da função de captura do login para as triggers do Audit Trail

FWATTMKTRIG.PRW

Chamados relacionados:

DFRM1-11688

Expandir
titleDFRM1-11186 - Ao tentar limpar o filtro e salvar, de um relatório já personalizado anteriormente, o filtro vazio não estava sendo salvo

Situação/Requisito:

Ao tentar limpar o filtro e salvar, de um relatório já personalizado anteriormente, o filtro vazio não estava sendo salvo

Solução/Implementação:

A função SaveFilter, responsável por salvar o filtro criado na personalização, estava validando o filtro criado pelo usuário, porém como o filtro estava vazio ele era ignorado pela função, portanto a mesma foi alterada para quando o filtro estiver vazio, atualizar o filtro já existente, ou seja, limpar o filtro já existente

Report14.prw
FWFilterEdit.PRW

Chamados relacionados:

DFRM1-11186

Expandir
titleDFRM1-11594 - Erro na Consulta Genérica em consultas com filtors de relação

Situação/Requisito:

Ao criar um filtro na consulta genérica era gerado error.log, o erro só era reproduzido quando a consulta genérica era alterada para ter filtros de relação e o filtro fosse executado na tabela relacionada, sendo filtro de data

Solução/Implementação:

O método ExecuteFilter da FWBrwTable estava gerando error.log quando o filtro possuía mais de uma expressão a ser resolvida (#), pois a macro execução não compreendia o operador lógico presente na expressão ( AND, OR ), pois estavam no padrão SQL.

Para corrigir a situação, foi criado um novo método na FWBrwTable chamado ResolveFilter, esse método utiliza da função __TRFil2Exp, que percorre a expressão do filtro e executa cada par de octothorpe (#) de uma vez, evitando erros de macro execução.

Obs1.: A função __TRFil2Exp foi isolada em um único fonte para melhorar a organização e manutenção do código.

Obs2.: Foi criada a função FWTamSX3, que é igual a presente na pasta de infraestrutura do TFS, visando a LIB ficar cada vez mais desacoplada de segmentos e também para que segmentos possa utilizar da mesma eliminando problemas detectados pelo SonarQube.

Report02.prw
FWTRFil2Expression.prw
FWBrwTable.PRW
FWTamSX3.prw

Chamados relacionados:

DFRM1-11594

Expandir
titleDFRM1-10858 - Ao navegar por todas as opções no botão de configurar do Browse está gerando error.log

Situação/Requisito:

Ao navegar por todas as opções no botão de configurar do Browse está gerando error.log

Solução/Implementação:

Corrigido o controle de objetos na navegação do menu de configuração do browse

FWBrwConfig.prw

Chamados relacionados:

DFRM1-10858

Expandir
titleDFRM1-10249 - Ao vincular um privilégio ao usuário, na seleção de empresa, é gerado um erro

Situação/Requisito:

Ao vincular um privilégio ao usuário, na seleção de empresa (grupo), é gerado um erro de array out bounds, por conta de acesso indevido ao array

Solução/Implementação:

A função FWAccessSM0 estava gerando erro de array out bounds, isso ocorria por conta do loop efetuado no array, também por efetuar o aDel e aSize do mesmo, deixando-o menor dentro do loop.

Para a correção, o loop passou a ser efetuado via um while, pois dessa forma a expressão de tamanho do array é sempre reavaliada, assim quando o mesmo acaba diminuindo, o while reavalia e sai do loop, evitando acesso a índices inexistentes.

CFGA512.PRX

Chamados relacionados:

DFRM1-10249

Expandir
titleDFRM1-11893 - Erro no cadastro do MILE ao utilizar acelerador para preenchimento dos campos utilizando MVC

Situação/Requisito:

No cadastro do MILE, ao utilizar acelerador para preenchimento dos campos utilizando MVC, gerava erro por recursividade em instâncias de codeblock

Solução/Implementação:

Implementado um controlador para somente executar o load do modelo sendo utilizado novamente quando trocar o id

CFGA600.prw

Chamados relacionados:

DFRM1-11893

Expandir
titleDFRM1-11919 - Melhoria para colocar as aspas de forma automática quando utilizada consulta padrão em campo Range nos Perguntes

Situação/Requisito:

Solicitada melhoria para colocar as aspas de forma automática quando utilizada consulta padrão em campo Range nos Perguntes

Solução/Implementação:

Adicionadas aspas simples no retorno da consulta padrão quando a mesmo é retornada em campo tipo Range.

Libfunc.prw

Chamados relacionados:

DFRM1-11919

Expandir
titleDFRM1-10812 - No Wizard do Banco de Conhecimento, os campos de usuário tem o conteudo replicado ao incluir um novo conhecimento

Situação/Requisito:

No Wizard do Banco de Conhecimento, os campos de usuário tem o conteúdo replicado ao incluir um novo conhecimento

Solução/Implementação:

Adicionado tratamento para executar o inicializador padrão ou inicializar os campos de usuário quando incluído um novo conhecimento pelo Wizard.

FwSX3Util.prw
Matxfunc.prx

Chamados relacionados:

DFRM1-10812

Expandir
titleDFRM1-10925 - Schedule não apresenta as filiais para configurar novo agendamento

Situação/Requisito:

Schedule não apresenta as filiais para configurar novo agendamento

Solução/Implementação:

Ajustado o programa para trabalhar com uma cópia do cache de filiais do objeto do usuário autenticado.

FwSchF3SM0.prw

Chamados relacionados:

DFRM1-10925

Expandir
titleDFRM1-10626 - Campo que consta no indice tabela configurado com autoincremento no MsGetDB não incrementa corretamente

Situação/Requisito:

Ao utilizar a função MSGetDB com uma tabela temporária criada pela função FWTemporaryTable, o campo de sequência da grid não incrementa corretamente. Essa ocorrência não é reproduzida caso a tabela seja criada pelo CriaTrab()

Solução/Implementação:

Adicionado tratamento para o correto auto incremento no MsGetDB independente se o campo compõe o índice

MsGetDb.prw

Chamados relacionados:

DFRM1-10626

Expandir
titleDFRM1-11791 - Os workshops precisam de uma função da LIB para retornar os campos de uma tabela

Situação/Requisito:

Os workshops precisam de uma função da LIB para retornar os campos de uma tabela

Solução/Implementação:

O nome do método é FWSX3Util():GetAllFields(), que recebe duas notificações na seguinte ordem:

cAlias - Alias da tabela de retorno dos campos
Virtuais - Se o retorno também trará os campos virtuais, a opção opcional com o valor padrão verdadeiro.

FWSX3Util.prw

Chamados relacionados:

DFRM1-11791

Expandir
titleDFRM1-10853 - Pintura de Grid incorreta ao atingir o limite de 990 linhas

Situação/Requisito:

Ao atingir o limite de 990 linhas de tabelas auditadas na rotina Aplicador, e apertar a seta para baixo para incluir mais uma linha, em vez de aparecer uma linha em branco, ele efetua a pintura do grid com os valores da última tabela cadastrada

Solução/Implementação:

Corrigido o controle de registros no grid e aumentado o limite de registros no grid do cadastro de tabelas do Embedded AuditTrail.

CFGA710.PRW
FWBrowse.PRW
FWFormGrid.PRW

Chamados relacionados:

DFRM1-10853

Expandir
titleDFRM1-12099 - Não está sendo possível utilizar o SIGAPAF e logar no SIGALOJA em ambiente TOP

Situação/Requisito:

Não está sendo possível utilizar o SIGAPAF e logar no SIGALOJA em ambiente TOP

Solução/Implementação:

Existia um IFNDEF TOP no módulo SIGAPAF que impedia a sua execução em ambiente TOP, esse IF foi removido, permitindo assim a utilização do SIGAPAF ( SIGALOJA ) em ambiente TOP.

ApLib000.prw

Chamados relacionados:

DFRM1-12099

Expandir
titleDFRM1-11990 - Erro ao utilizar alias New no Informix

Situação/Requisito:

O erro abaixo ocorre pelo fato de estar sendo utilizado o alias como NEW e no Informix a palavra NEW é reservada. Alterando para outro nome o erro não ocorre.

THREAD ERROR ([10628], nilton, NAR-W10K) 13/08/2018 07:12:16
: Error : -201 (37000) (RC=-1) - [Informix][Informix ODBC Driver][Informix]A syntax error has occurred.
( From tInformixConnection::GetQueryFile )

Solução/Implementação:

Efetuada a alteração do nome do alias na montagem da query para não ficar igual ao nome reservado utilizado em banco Informix.

ApUpd030.prw

Chamados relacionados:

DFRM1-11990

Expandir
titleDFRM1-11573 - Não conformidade ao tentar personalizar o relatório CTBR040

Situação/Requisito:

Não conformidade ao tentar personalizar o relatório CTBR040 (TReport).


Solução/Implementação:

A personalização do relatório estava gerando erro por conta da função SaveFilter, a mesma foi criada para sempre receber um objeto no segundo parâmetro:
Static Function SaveFilter( aFilter, oSection )

Porém nem sempre essa seção recebida está instanciada, pois é possível omitir a seção de filtros do relatório, como é o caso do CTBR040, sendo assim a função era chamada com o valor NIL.
Para correção, a função passou a receber o parâmetro oSection como opiconal (OPTIONAL) e tratando o mesmo somente em caso diferente de NIL, corrigindo assim a não conformidade.


REPORT14.PRW

Chamados relacionados:

DFRM1-11573

Expandir
titleDFRM1-11289 - Opção "Esqueceu sua senha" não disponível ao utilizar o servidor de e-mail TSEBR

Situação/Requisito:

Ao utilizar o servidor de e-mail TSEBR, os relatórios são enviados corretamente por e-mail, porém o "Esqueceu sua Senha" não funciona.


Solução/Implementação:

Aumentado o tempo de timeout para o envio de senha por e-mail.

AP5MAIL.PRW

Chamados relacionados:

DFRM1-11289

Expandir
titleDFRM1-10693 - Ao utilizar opção de incluir direto pelo Menu Funcional, o mesmo está direcionando para o Browser da rotina

Situação/Requisito:

Ao utilizar opção de incluir direto pelo Menu Funcional, o mesmo está direcionando para o Browser da rotina e não para inclusão.

Solução/Implementação:

O método GetMenuDef da classe FWUIMenuF estava criando o bloco de código para MDI igual ao padrão ( ADV ), porém para MDI é necessário informar o CARGO do mesmo, assim a nova thread MDI consegue chamar as funções necessárias que setam o browse para já ser aberto de uma determinada forma, como por exemplo a inclusão.
Para correção, os blocos de função e hyperlink do menu foram corrigidos, de forma a setar a variável pública oApp:Cargo com os valores corretos, dessa forma a nova thread MDI executa as funções presentes no Cargo do FWApp e abre corretamente a rotina quando a mesma é chamada via o Menu Funcional.


FWUIMENUF.PRW

Chamados relacionados:

DFRM1-10693

Expandir
titleDFRM1-12289 - Não conformidade na msgetdad quando possui campo tipo lógico na tela

Situação/Requisito:

Não conformidade ao utilizar na msgetdad campo tipo lógico na tela.

Solução/Implementação:

Corrigido a apresentação do campo tipo lógico na tela.


MSGETDAD.PRW 

Chamados relacionados:

DFRM1-12289

Expandir
titleDFRM1-12175 - Ao utilizar a classe FWPreparedStatement e chamar o método SetString com um valor que contenha '?', está gerando um query inconsistente

Situação/Requisito:

Ao utilizar a classe FWPreparedStatement e chamar o método SetString com um valor que contenha '?', está gerando um query inconsistente, pois o método GetFixQuery está confundindo o valor setado pelo SetString com um valor a set setado.

Solução/Implementação:

O método GetFixQuery foi alterado para deixar de fazer o StrTran, o mesmo agora verifica a posição da '?' e substitui utilizando de SubStr, sempre pegando a posição da próxima '?' com base na última encontrada mais o tamanho do valor inserido na query ( parâmetro setado ), dessa forma a substituíção dos valores sempre segue em frente, evitando alterar valores já inseridos.

A liberação desta correção será realizada futuramente através do pacote de LIB versão 20180914, qual contemple os fontes abaixo relacionado(s):


FWPREPAREDSTATEMENT.PRW

Chamados relacionados:

DFRM1-12175

Expandir
titleDFRM1-11149 - PROTHEUS_EVENT_VIEWER_ está consumindo alto consumo de processamento quando possui serviço do Schedule ativo

Situação/Requisito:

PROTHEUS_EVENT_VIEWER_ está consumindo alto consumo de processamento quando possui serviço do Schedule ativo

Solução/Implementação:

Adicionado tratamento para a cada 500 execuções finalizar a thread da PROTHEUS_EVENT_VIEWER_ e iniciar uma nova

BOPROTHEUSEVENTVIEWER.PRW


Chamados relacionados:

DFRM1-11149

Expandir
titleDFRM1-10117 - A consulta padrão não está posicionando no registro corretamente ao efetuar uma pesquisa

Situação/Requisito:

A consulta padrão não está posicionando no registro corretamente ao efetuar uma pesquisa, trocar o índice e selecionar para salvar o índice.

Solução/Implementação:

O seek falhava, pois o índice informado e salvo não continha nenhum valor que pudesse ser utilizado, esse é um comportamento inesperado no P12, pois o checkbox de salvar o índice nunca existiu em versões anteriores.
Para correção, antes de efetuar o seek, é verificado se o índice é o primeiro da lista de índices, caso não seja, é selecionado o primeiro índice, feito e seek e depois o índice anterior é restaurado, de forma ao usuário não perceber que o índice foi alterado antes de efetuar o seek.

FWLOOKUP.PRW
FWSEEK.PRW


Chamados relacionados:

DFRM1-10117

Expandir
titleDFRM1-10883 - A ChangeQuery está entrando em loop em querys que começam com a palavra reservada WITH

Situação/Requisito:

A ChangeQuery está entrando em loop em querys que começam com a palavra reservada WITH.

Solução/Implementação:

A ChangeQuery não conhece e trabalha com querys que começam com a palavra WITH, por isso a mesma entrava em loop.
Como a ChangeQuery não é homologada para trabalhar com querys que utilizem de WITH, a mesma passou a verificar a existência de WITH no começo da Query enviada e gerar exceção ( error.log) informando que a função não está apta a trabalhar com querys assim, ou seja, ao enviar uma Query que comece com WITH para a função ChangeQuery a mesma vai gerar error.log.

APLIB070.PRW


Chamados relacionados:

DFRM1-10883

Expandir
titleDFRM1-12334 - Não conformidade ao subir serviço Ctree BoundServer com SX’s tendo a flag Huge Files

Situação/Requisito:

Não conformidade ao subir serviço Ctree BoundServer com SX’s tendo a flag Huge Files.

Solução/Implementação:

Desabilitado a flag de Huge Files para os arquivos de dicionário de dados do Protheus.

APSDU.PRW


Chamados relacionados:

DFRM1-12334

Expandir
titleDFRM1-11161 - Não conformidade na abertura de arquivos .csv em smartclient no sistema operacional MacOs

Situação/Requisito:

Sistema tentava realizar a abertura de arquivos .csv em smartclient no sistema operacional MacOs através de shellexecute (não suportado pela plataforma).

Solução/Implementação:

Realizado tratamento para sempre perguntar onde gravar a exportação para csv e assim o próprio usuário define onde e quando realizar a abertura do arquivo.

AVISO.PRX
APLIB230.PRW

Chamados relacionados:

DFRM1-11161

Expandir
titleDFRM1-12634 - Não conformidade na impressão do Browse, tipo planilha/excel/Formato de Tabela

Situação/Requisito:

Não conformidade na impressão de browse quando existia os caracteres Á Ì e usava encodeUTF8 duas vezes.

Solução/Implementação:

Realizado tratamento para evitar a não conformidade avaliando se conseguiu executar o encodeUTF8 novamente.

FWMSEXCELEX.PRX

Chamados relacionados:

DFRM1-12634

Expandir
titleDFRM1-11313 - Não conformidade no agrupamento de visões criadas no browse

Situação/Requisito:

Não conformidade no agrupamento de visões criadas no browse das rotinas

Solução/Implementação:

Efetuado a criação de um scroll no painel de visões quando exceder o tamanho padrão

FWDROPDOWN.PRW

Chamados relacionados:

DFRM1-11313

Expandir
titleDFRM1-12440 - Não conformidade ao utilizar rotina com a classe FWUIWorkSheet e setar um nickname na célula, sem informar valor não informar valor

Situação/Requisito:

Não conformidade ao utilizar rotina com a classe FWUIWorkSheet e setar um nickname na célula, sem informar valor não informar valor

Solução/Implementação:

A classe FWWorkSheet não estava validando corretamente a célula no método SetNickName, portanto antes de tentar usar o objeto, será validado se o mesmo existe, para tanto foi criada uma proteção no método LoadFromModel da classe FWModelSheet, que envia um valor de forçar a criação da célular para o método SetCellValue da classe FWUIWorkSheet, método também alterado para a criação dessa proteção

FWMODELSHEET.PRW
FWUIWORKSHEEET.PRW
FWWORRKSHEET.PRW


Chamados relacionados:

DFRM1-12440

Expandir
titleDFRM1-11572 - Não conformidade em busca de usuário SSO

Situação/Requisito:

Não conformidade ao buscar usuário SSO para executar desbloqueio do mesmo

Solução/Implementação:

Ajustada a mensagem de bloqueio que é apresentada para informar o usuário que foi validado/bloqueado para manutenção

FWUISKIN.PRW

Chamados relacionados:

DFRM1-11572

Expandir
titleDFRM1-11419 - Não conformidade ao efetuar a personalização de um relatório gerado pelo TOTVS Report ( Relatório TOTVS )

Situação/Requisito:

Não conformidade ao efetuar a personalização de um relatório gerado pelo TOTVS Report ( Relatório TOTVS ).

Solução/Implementação:

A geração do relatório dinâmica estava incorreta, gerando o array de filtros de usuário com apenas 3 posições, porém esse array possui 5 posições, portanto a geração do array que antes estava com " := Array(3)" passou a ficar como " := Array(5)" corrigindo assim o error.log de acesso a índice inexistente no array.

PREPORT.PRW

Chamados relacionados:

DFRM1-11419

Expandir
titleDFRM1-11037 - Não conformidade no catálogo de endereços do Rest

Situação/Requisito:

Não conformidade em catálogo de endereços no Rest

Solução/Implementação:

O catálogo de endereços estava correto, porém o endereço informado no HTML do REST estava incorreto, corrigindo o endereço o catálogo voltou a funcionar corretamente

FWRESTSRV.PRW
FWRESTMODEL.PRX
FWURLCATALOG.PRW

Chamados relacionados:

DFRM1-11037

Expandir
titleDFRM1-9718 - Não conformidade em Filtro de função

Situação/Requisito:

Não conformidade em filtro de de função com retorno de character ( string )

Solução/Implementação:

Foi criada uma verificação no retorno da função informada, caso seja um char ( string ) a função de validação de filtro passa a considerar um retorno válido

FWFILTEREDIT.PRW

Chamados relacionados:

DFRM1-9718