Ponto-de-Entrada: CriaSXE - Controle de Numeração
Abrangências: | Microsiga Protheus 10 , Microsiga Protheus 11 |
Descrição: Ponto de entrada para retornar o próximo número que deve ser utilizado na inicialização da numeração.
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(caracter) - Número que será utilizado pelo controle de numeração.
Observações Este ponto de entrada é executado quando não existir uma numeração no SXE para o campo especificado.
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.
Exemplos #include "protheus.ch"user function CRIASXE()Local cNum := NILLocal aArea := getarea()Local aArea2 := {}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, , , ) restarea(aArea2) restarea(aArea)endreturn cNum