Filtro em consulta padrao, tipo 6 feito em funçao de usuario utilizando tabelas

Prezados(as) Temos uma situação em que o filtro da consulta padrão (SXB - Registro do Tipo = 6) é executado por um função de usuário. Ex:

User Function SX5ZF() Return SubStr(SX5->x5_chave,1,1)=M->zi_tipo

Considerando bloqueio do CodeAnalysis para operação acima, qual outra forma de obter o mesmo resultado.

Já li sobre a FwGetSX5 mas pelo que entendi, salvo engano de minha parte, ela não atenderia a essa situação.

Agradeço por qualquer ajuda/opinião

compartilhar
  • Paulo, boa tarde, porque a FWGetSX5 não atenderia? Essa sua função espera a SX5 posicionada? Como ela está na posição correta?

    Daniel Mendes   28 de Nov de 2019
  • Bom dia! Daniel. O problema é que até onde sei, o tipo 6 da consulta padrão precisa de uma expressão lógica, com o campo desejado, neste caso da tabela 'ZF' dentro do SX5. Me parece que a consulta padrão, no caso do tipo = 6, usa a expressão como uma especie de SET FILTER para tabela, percorrendo seus dados e filtrando quem atende a expressão. Assim, como não se pode mais referenciar estruturas SX, não estou sabendo como contornar essa situação. Por outro lado, a função FWGetSX5 retorna apenas conteúdos em vetor... e nesse contexto não vejo como utiliza-la, Agradeço por qualquer ajuda.

    Paulo Vieira   02 de Dec de 2019
  • Alguém que possa ajudar ?

    Paulo Vieira   06 de Dec de 2019
  • Bom dia, A consulta padrão esta retornando uma tabela da SX5? Se sim, essa tabela da SX5 é especifica ou customizada? Se for customizada não seria melhor criar uma tabela no sistema ao invés de usar a SX5?

    Mario   13 de Dec de 2019
  • Mario, bom dia! Trata-se de uma tabela simples, uma chave e um conteúdo que sempre foi bem atendida pela SX5. A questão é que na construção da consulta padrão (SXB) o registro do tipo 6 serve para fazer um filtro e usa uma expressão logica para isso. O programador da epoca, optou por colocar uma User Function para retornar essa expressão: Return SubStr(SX5->x5_chave,1,1)=M->zi_tipo.. Funciona de boa hoje... só que com é ADVPL o CodeAnalysis não aceita mais o acesso direto ao SX5 e o FWGetSX5() não atende para esse situação. Ficou claro ? No momento estou sem contorno para essa situação

    Paulo Vieira   13 de Dec de 2019
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do TOTVS DevForum!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags sxb ou faça a sua própria pergunta.