Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Composition Setup
import.css=/download/attachments/327912/newLayout.css
Portuguese


Pagetitle
CriaSXE - Controle de Numeração
CriaSXE - Controle de Numeração

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

    (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.

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


Aviso

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.

Exemplos

Bloco de código
languagec#
#include "protheus.ch"
user


User 
function
Function CRIASXE()
    // o retorno desse ponto de entrada precisa ser nil para tabelas que não serão tratadas
	Local cNum := NIL

 
NILLocal
 
aArea
 
:=
 
getarea()
Local 
aArea2
_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, , , )
restarea(aArea2) restarea(aArea)endreturn cNum

        FwRestArea(_aArea)
	EndIf
Return cNum