Composition Setup |
---|
import.css=/download/attachments/327912/newLayout.css |
Portuguese |
Pagetitle | ||||
---|---|---|---|---|
|
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.
Aviso |
---|
Esta função nunca deve retornar uma string vazia. |
Exemplos
Bloco de código | ||
---|---|---|
| ||
#include "protheus.ch" userUserfunction Function CRIASXE() // o retorno desse ponto de entrada precisa ser nil para tabelas que não serão tratadas Local cNum := NILNILLocal 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
|