×
Linguagem de Programação ADVPL
Perguntas Gatilho
- rgomes
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 136
- Obrigados Recebidos: 0
11 anos 4 meses atrás #15150
por rgomes
Prezados Senhores,
Estou tentando gerar um código automático de produto que tem o seguinte formato:
B1_Grupo + . + . + B1_Tipo + código automático. Ex. 2101.01.XXXXXX
Já tentei utilizar a função getsxnum, só que não funciona, a contagem deve
ser feita independente do grupo, os seis últimos dígitos devem manter sempre
a sequência, enquanto os outros caracteres são só classificatórios.
Alguém tem alguma sugestão ou gatilho?????
Observação: ESTOU UTILIZANDO O SERIE 3
Desde já agradeço,
Ronaldo Gomes
Estou tentando gerar um código automático de produto que tem o seguinte formato:
B1_Grupo + . + . + B1_Tipo + código automático. Ex. 2101.01.XXXXXX
Já tentei utilizar a função getsxnum, só que não funciona, a contagem deve
ser feita independente do grupo, os seis últimos dígitos devem manter sempre
a sequência, enquanto os outros caracteres são só classificatórios.
Alguém tem alguma sugestão ou gatilho?????
Observação: ESTOU UTILIZANDO O SERIE 3
Desde já agradeço,
Ronaldo Gomes
Por favor Acessar ou Registrar para participar da conversa.
- hbaldin
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 266
- Obrigados Recebidos: 0
- rgomes
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 136
- Obrigados Recebidos: 0
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
11 anos 4 meses atrás #15166
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Ronaldo através de gatilho simples vc não vai conseguir, só vai conseguir com função.
segue um exemplo pra vc ai, depois paga a breja
#include "rwmake.ch"
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³ GCPROD º Autor³ Luiz Alberto º Data ³ 04/07/08 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍ͹±±
±±ºDescricao ³ Gera codigo do bem Produto º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/
User Function GCPROD()
Local cCodigo := ""
Local aArea := GetArea()
//M->N1_GRUPO
cQuery := " "
cQuery += " SELECT MAX(RIGHT(RTRIM(B1_COD),6)) AS COD "
cQuery += " FROM "+RetSQLName("SB1")+" SB1 "
cQuery += " WHERE SB1.D_E_L_E_T_ = '' "
cQuery += " AND B1_FILIAL = '" + xFilial("SB1") + "'"
cQuery := ChangeQuery(cQuery)
dbUseArea( .T.,"TOPCONN",TCGENQRY(,,cQuery),"TRB",.F.,.T.)
dbSelectArea("TRB")
dbGoTop()
If Empty(TRB->COD)
cCodigo := AllTrim(M->B1_GRUPO+"000001")
Else
cIncremen := Soma1(TRB->COD,6)
cCodigo := AllTrim(M->B1_GRUPO + cIncremen)
EndIf
dbCloseArea("TRB")
RestArea(aArea)
Return(cCodigo)
segue um exemplo pra vc ai, depois paga a breja
#include "rwmake.ch"
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³ GCPROD º Autor³ Luiz Alberto º Data ³ 04/07/08 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍ͹±±
±±ºDescricao ³ Gera codigo do bem Produto º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/
User Function GCPROD()
Local cCodigo := ""
Local aArea := GetArea()
//M->N1_GRUPO
cQuery := " "
cQuery += " SELECT MAX(RIGHT(RTRIM(B1_COD),6)) AS COD "
cQuery += " FROM "+RetSQLName("SB1")+" SB1 "
cQuery += " WHERE SB1.D_E_L_E_T_ = '' "
cQuery += " AND B1_FILIAL = '" + xFilial("SB1") + "'"
cQuery := ChangeQuery(cQuery)
dbUseArea( .T.,"TOPCONN",TCGENQRY(,,cQuery),"TRB",.F.,.T.)
dbSelectArea("TRB")
dbGoTop()
If Empty(TRB->COD)
cCodigo := AllTrim(M->B1_GRUPO+"000001")
Else
cIncremen := Soma1(TRB->COD,6)
cCodigo := AllTrim(M->B1_GRUPO + cIncremen)
EndIf
dbCloseArea("TRB")
RestArea(aArea)
Return(cCodigo)
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
Tempo para a criação da página:0.128 segundos