Árvore de páginas

Carregando...


01. DADOS GERAIS

Produto:

TOTVS Medicina e Segurança do Trabalho

Linha de Produto:

Linha Protheus

Segmento:

RH

Módulo:

TOTVS RH (Linha Protheus) - Medicina e Segurança do Trabalho (SIGAMDT)

Função:

MATXATU.PRX

País:Brasil
Ticket:Não há.
Issue:Não há.


02. DESCRIÇÃO

Criado o Ponto de Entrada CriaSXE para retornar o próximo número que deve ser utilizado na inicialização da numeração. Este ponto de entrada é recomendado para casos em que deseja-se alterar a regra padrão de descoberta do próximo número. A execução deste ponto de entrada, ocorre em casos de perda das tabelas SXE/SXF (versões legado) e de reinicialização do License Server.


Ponto de EntradaCriaSXE()
ChamadaEste ponto de entrada é executado quando não existir uma numeração no SXE para o campo especificado.
Pré-RequisitoNão há.
EventoRetornar o próximo número que deve ser utilizado na inicialização da numeração.
RetornoNúmero que será utilizado pelo controle de numeração.

03. DEMAIS INFORMAÇÕES

FunçãoCriaSXE()
ParâmetrosPARAMIXB, Vetor, Vetor contendo as informações que poderão ser utilizadas pelo ponto de entrada.
RetornocRet, caracter, Número que será utilizado pelo controle de numeração. Caso seja retornado Nulo (NIL), a regra padrão do sistema será aplicada. Esta função nunca deve retornar uma string vazia.

Parâmetro PARAMIXB

Estrutura do parâmetro:

  • [1] - cAlias - Nome da tabela;
  • [2] - cCpoSX8 - Nome do campo que será utilizado para verificar o próximo sequencial;
  • [3] - cAliasSX8 - Filial e nome da tabela na base de dados que será utilizada para verificar o sequencial;
  • [4] - nOrdSX8 - Índice de pesquisa a ser usada na tabela.


Esta função nunca deve retornar uma string vazia.

Exemplo
#include "protheus.ch"
 
User Function CRIASXE()

    // o retorno desse ponto de entrada precisa ser nil para tabelas que não serão tratadas
    Local cNum := NIL
 
    Local _aArea := FwGetArea()
    Local cAlias    := paramixb[1]
    Local cCpoSx8   := paramixb[2]
    Local cAliasSx8 := paramixb[3]
    Local nOrdSX8   := paramixb[4]
    Local cUsa := "SE1"
 
    // colocar os alias que irão permitir a execução do P.E.
    if cAlias $ cUsa .and.  ! ( Empty(cAlias) .and. empty(cCpoSx8) .and. empty(cAliasSx8) )
        qout(cAlias + "-" + cCpoSx8 + "-" + cAliasSx8 + "-" + str(nOrdSX8))
        dbselectarea(cAlias)
        aArea2 := getarea()
        dbsetorder(nOrdSX8)
        dbseek(xfilial()+"Z")
        dbskip(-1)
        cNum := &(cCpoSx8)
        cnum := soma1(cNum)
        // fazer o tratamento aqui para a numeracao
        MsgGet2( "Indique o numero correto para a tabela:" + calias, "Campo:"+cCposx8, @cNum, , , )
        FwRestArea(_aArea)
    EndIf
Return cNum


04. ASSUNTOS RELACIONADOS