Base de conhecimento
Encontre respostas para suas dúvidas em quatro fontes de conhecimento diferentes ao mesmo tempo, simplificando o processo de pesquisa.

Cross Segmento - TOTVS Backoffice Linha Protheus - ADVPL - Classe FWTemporaryTable: Método AddIndex decrescente

Dúvida
Estou criando uma tabela temporária utilizando a classe FWTemporaryTable() e nela há o método AddIndex para criar índices. Como faço para criar um índice decrescente?

Ambiente
Protheus – ADVPL – A partir da versão P12

Solução
Hoje não é possível criar índices decrescentes no Protheus. Pode trabalhar através de um order by na query de criação da tabela temporária.

Saiba Mais 
FWTemporaryTable

Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 0

4 Comentários

  • Avatar
    Marta Nogueira

    Bom dia, faça um laço usando dbgobottom ao invés de dbgotop e while .not. bof()

    Assim irá imprimir do ultimo registro da tabela temporária para o primeiro.

        DbSelectArea("SAIDA")

        DbSetOrder(1)
        DbGoBottom()
        While .not. bof()
              ...
             DbSkip()
        End
    0
    Ações de comentário Permalink
  • Avatar
    Marta Nogueira

    Corrigindo, o DbSkip tem que ser DbSkip(-1)

    0
    Ações de comentário Permalink
  • Avatar
    Joao Paco

    Ao realizar o DBSkip(-1), o DBAccess executa o select novamente. com isso, esta alternativa tem um problema serio de performance, principalmente se for uma consulta complexa. 

    Alem disso, o indice serviria para novos registros tambem, e nao apenas para o preenchimento inicial da tabela.

    Mas se este for o seu caso, faça um select com a ordenacao que precisa e depois preencha a tabela temporaria.

    Espero ter ajudado

    Att. Joao Paço

    0
    Ações de comentário Permalink
  • Avatar
    Lucimar dos Santos (Editado )

    Faça assim:

    (cAlias)->(OrdDescend(1,,.T.))
    (cAlias)->(dbGoTop())

    https://tdn.totvs.com/display/tec/OrdDescend

    Eu vi aqui: https://devforum.totvs.com.br/260-fwtemporarytable-com-indice-decrescente

     

    0
    Ações de comentário Permalink
Por favor, entre para comentar.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _