|
Bem Vindo, Visitante
|
Todos os Fórums
ADVPL
|
Imprimir
Enviar Para um Amigo Precisa estar Logado
|
|
|
Assunto: |
Retornar conteudo de campo |
|
Versão: |
. |
|
Plataforma: |
. |
Complemento: |
|
|
DB: |
. |
Complemento: |
|
|
JASB1COD.PRW (anexo) | |
|
|
|
Mensagem do
GWIERZBA
em 19/01/2021, 15:19 h
Local: SP Registro: 08/12/2020 Postagens: 5 |
Estou iniciando em ADVPL e gostaria de saber como posso retornar o ultimo registro do campo B1_DESC em uma nova inclusão de cadastro.
No caso, quando fosse incluir um regitro, o campo retorna o valor do ultimo cadastro + sequencial 01.
Exemplo: TESTE01 (Teste=Ultimo Registro + 01)
Obrigado desde já. |
|
|
Mensagem do
INFOBRENO
em 19/01/2021, 16:11 h
Local: MT Registro: 02/03/2011 Postagens: 117 |
Ou voce utiliza o sequenciador padrão do protheus
GetSx8Num("SB1","B1_COD")
ou você pode usar o fonte em anexo que enviei, as instruções de como utilizar estão no código.
Breno Nogueira |
|
|
Mensagem do
GWIERZBA
em 19/01/2021, 16:41 h
Local: SP Registro: 08/12/2020 Postagens: 5 |
Olá, Breno! Tudo bem?
Como posso utilizar seu fonte, quando o cadastro não é feito só por numeração? A B1_COD é alimentada com letras também.
Obrigado! |
|
|
Mensagem do
LUCASLOTT
em 20/01/2021, 08:48 h
Local: SP Registro: 21/05/2020 Postagens: 49 |
Bom dia, pelo que entendi você gostaria de retornar a última descrição do produto cadastrado + 01, no inicializador padrão do campo você chama uma User Function por exemplo U_UltCadB1(), e faz o fonte mais ou menos ou menos assim (ele pode ser usado para o cod também se for o caso), caso for para o código basta ajustar a query para faça a concatenação do cod junto ao 01.
User Function UltCadB1()
Local cRet := "" // Variavel de retorno
Local cSql := ""
cSql := " SELECT TOP 1"
cSql += " (RTRIM(B1_DESC) + ‘01‘) B1_DESC"
cSql += " FROM " + RetSqlName("SB1")
cSql += " WHERE D_E_L_E_T_ = ‘ ‘"
cSql += " ORDER BY R_E_C_N_O_ DESC" // ordena do maior para o menor, selecionando o top 1 pegando o último registro não deletado gravado no banco.
cSql := ChangeQuery(cSql)
TCQUERY cSql NEW ALIAS "QRYSB1"
DbSelectArea("QRYSB1")
While QRYSB1->(!EOF())
cRet := QRYSB1->B1_DESC
QRYSB1->(DbSkip())
EndDo
QRYSB1->(DbCloseArea())
Return(cRet)
Lucas Lott
Desenvolvedor ADVPL
lucas@domaagropecuaria.com |
|
Para postar no Fórum você precisa efetuar o seu login ou se registrar
|
|