Ponto de entrada MT110QRY

Estou construindo um filtro com o ponto de entrada MT110QRY, onde o objetivo é fazer com que os solicitantes vejam apenas as solicitações realizadas por eles. A lógica é ir na tabela SAI, verificar se o usuário logado está cadastrado como solicitante e, se positivo, filtrar. O cQuery está retornando " C1_FILIAL='02' AND C1_SOLICIT='willian.galvao' ". Eu já verifiquei que o dbseek está retornando .T. e que existe o registro 'willian.galvao' na SC1, como C1_SOLICIT. A filial correta também é a 02. Na prática, quando eu acesso a rotina, o filtro não está sendo aplicado. Alguma ideia sobre o motivo ou como corrigir?

User Function MT110QRY()

    Local cQuery
    Local cSolicit := UsrRetName(RetCodUsr())


    DbSelectArea("SAI")
    SAI->(DbSetOrder(2))

    IF (Dbseek(xFilial("SAI")+RetCodUsr()))
        cQuery := " C1_FILIAL='"+xFilial("SC1")+"' AND C1_SOLICIT='"+cSolicit+"' "
    ENDIF

    SAI->(dbCloseArea())

Return cQuery
compartilhar
  • William, você depurou o ponto de entrada e verificou se ele está sendo chamado corretamente? Você está trabalhando na rotina MATA110 certo?

    Daniel Mendes   17 de Aug de 2022
  • Sim, Daniel. Eu depurei pelo VSCode e chamei o PE na rotina certa. Essa especificação foi alterada: antes eu fiz um fonte que verificava se o usuário era COMPRADOR e então não executava o filtro, para todos os outros usuário ele filtrava só as solicitações em que o usuário era solicitante. Esse primeiro fonte funcionou normalmente. Quando eu recebi a alteração na especificação e mudei a lógica, ele não executa o filtro.

    William Galvão   17 de Aug de 2022
  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!

2 respostas

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