import.css=/download/attachments/327912/newLayout.css



Ponto-de-Entrada: CriaSXE - Controle de Numeração


Abrangências:Microsiga Protheus 10, Microsiga Protheus 11, Microsiga Protheus 12


Descrição:

Ponto de entrada 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.


Programa Fonte

MATXATU.PRX

Sintaxe

CriaSXE - Controle de Numeração ( [ PARAMIXB ] ) --> cRet

Parâmetros:



Nome

Tipo

Descrição

Default

Obrigatório

Referência

PARAMIXB

Vetor

Vetor contendo as informações que poderão ser utilizadas pelo P.E.










Retorno
cRet

Observações
Este ponto de entrada é executado quando não existir uma numeração no SXE para o campo especificado.


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



Parâmetro PARAMIXB


Estrutura do parâmetro

Exemplos

#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