Páginas filhas
  • NextNumero - Próximo número seqüencial do arquivo

Função: NextNumero - Próximo número seqüencial do arquivo
Abrangências: Microsiga Protheus 8.11 , Protheus 10
Versões: Microsiga Protheus 8.11 , Protheus 10
Compatível Países: Todos
Sistemas Operacionais: Todos
Compatível às Bases de Dados: Todos
Nível de Acesso: Nível 1 (Acesso Clientes)
Descrição:
A função NEXTNUMERO retorna o próximo número da última seqüência da tabela/arquivo passado como parâmetro. 
Programa Fonte:
NEXTNUME.PRG
Sintaxe:

NextNumero - Próximo número seqüencial do arquivo ( [ cAlias ] [ nOrdem ] [ cNomeCpo ] [ lSomar ] [ cVar ] ) --> cNumero

Retorno:
    cNumero(caracter)
  • Próximo número seqüencial do arquivo acrescentado de zeros à esquerda conforme tamanho do campo de pesquisa.
Observações

 Se a tabela estiver vazia, retorna sempre 1 (acrescentado de zeros à esquerda conforme tamanho do campo pesquisado).

Se o parâmetro lSomar for igual a .F., primeiro verifica se o valor a ser pesquisado (da variável cVar) existe cadastrado, se existir retorna o próximo número da última seqüência da tabela. Se não existir a chave pesquisada, retorna o valor pesquisado de cVar.
Exemplos
User Function NextNum()Local cNum := ''cNum := NextNumero("SC7",1,"C7_NUM",.F., "000007")  DbSelectArea("SC7")DbSetOrder(1)If ( !dbSeek( xFilial("SC7")+cNum )) 	Reclock("SC7", .T.) 	SC7->C7_FILIAL 	:= xFilial("SC7")	SC7->C7_NUM 	:= cNum	SC7->C7_TIPO 	:= 1	SC7->C7_ITEM 	:= "001"	SC7->C7_PRODUTO := "PRODUTO 1"	SC7->C7_UM 		:= "UN"	SC7->C7_QUANT 	:= 1	SC7->C7_PRECO 	:= 30	SC7->C7_TOTAL 	:= 30	SC7->C7_QTSEGUM := 0	SC7->C7_IPI 	:= 0	SC7->C7_DATPRF 	:= ddatabase	SC7->C7_EMISSAO := ddatabase	SC7->C7_LOCAL 	:= "N"	SC7->C7_FORNECE := "000001"	SC7->C7_LOJA 	:= "01"	SC7->C7_COND 	:= "001"	SC7->( MsUnlock() )EndIf	 Return
Parâmetros:
Nome Tipo Descrição Default Obrigatório Referência
cAlias Caracter Alias do Arquivo/tabela.
nOrdem Numérico Ordem do índice da tabela para procura da chave.
cNomeCpo Caracter Campo a ser pesquisado ao qual retornará o conteúdo incrementado.
lSomar Lógico .T. Retorna sempre o próximo número do campo pesquisado. Se .F. pesquisa o conteúdo passado em cVar, se existir o registro, retorna o próximo número do campo pesquisado, se não existir, retorna o conteúdo de cVar.
cVar Caracter Variável contendo o valor a ser pesquisado se lSomar for igual a .F.

  • Sem rótulos