- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Controle de Numeração SE2 p/ PA
×
Linguagem de Programação ADVPL
Perguntas Controle de Numeração SE2 p/ PA
- diegoo_martins
- Autor do Tópico
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 175
- Obrigados Recebidos: 0
8 anos 3 semanas atrás #31480
por diegoo_martins
Controle de Numeração SE2 p/ PA foi criado por diegoo_martins
Pessoal, bom dia.
Temos a necessidade de controlar a numeração do campo SE2->E2_NUM, quando o título for PA. Pois, quando o título é gerado por NF, a numeração assume o número da NF.
Alguém tem alguma idéia de como controlar automaticamente?
Existe alguma tratativa?
Algum Ponto de Entrada?
Att,
Temos a necessidade de controlar a numeração do campo SE2->E2_NUM, quando o título for PA. Pois, quando o título é gerado por NF, a numeração assume o número da NF.
Alguém tem alguma idéia de como controlar automaticamente?
Existe alguma tratativa?
Algum Ponto de Entrada?
Att,
Por favor Acessar ou Registrar para participar da conversa.
- drigosimoes
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 2
- Obrigados Recebidos: 0
8 anos 2 semanas atrás #31488
por drigosimoes
Respondido por drigosimoes no tópico Controle de Numeração SE2 p/ PA
Diego, bom dia !
Você precisa seguir uma sequencia no PA é isso, não entendi direito. Porém se de fato for o que precisa fazer, eu utilizo aqui, baseado em uma função chamada por gatilho no campo tipo.
If Empty(cNum)
If cTipo <> 'AB-'
cSql := "SELECT MAX(E2_NUM) AS NUMERO FROM "+RetSqlName("SE2")
cSql += " WHERE E2_FILIAL = '"+xFilial("SE2")+"' AND E2_TIPO = '"+cTipo+"' AND D_E_L_E_T_<> '*' "
If !Empty(cSql)
If select("QRY") > 0
QRY->(DbCloseArea())
Endif
TcQuery ChangeQuery(cSql) New Alias "QRY"
If Empty(QRY->NUMERO)
cProxCod := '000000001'
Else
cProxCod := Soma1(Alltrim(QRY->NUMERO))
Endif
Rodrigo Simões
Você precisa seguir uma sequencia no PA é isso, não entendi direito. Porém se de fato for o que precisa fazer, eu utilizo aqui, baseado em uma função chamada por gatilho no campo tipo.
If Empty(cNum)
If cTipo <> 'AB-'
cSql := "SELECT MAX(E2_NUM) AS NUMERO FROM "+RetSqlName("SE2")
cSql += " WHERE E2_FILIAL = '"+xFilial("SE2")+"' AND E2_TIPO = '"+cTipo+"' AND D_E_L_E_T_<> '*' "
If !Empty(cSql)
If select("QRY") > 0
QRY->(DbCloseArea())
Endif
TcQuery ChangeQuery(cSql) New Alias "QRY"
If Empty(QRY->NUMERO)
cProxCod := '000000001'
Else
cProxCod := Soma1(Alltrim(QRY->NUMERO))
Endif
Rodrigo Simões
Por favor Acessar ou Registrar para participar da conversa.
- diegoo_martins
- Autor do Tópico
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 175
- Obrigados Recebidos: 0
8 anos 2 semanas atrás #31494
por diegoo_martins
Respondido por diegoo_martins no tópico Controle de Numeração SE2 p/ PA
Bom dia Rodrigo.
Isso mesmo. Preciso seguir uma sequencia na SE2 quando o título for PA.
Vou testar.
Obrigado.
Isso mesmo. Preciso seguir uma sequencia na SE2 quando o título for PA.
Vou testar.
Obrigado.
Por favor Acessar ou Registrar para participar da conversa.
- diegoo_martins
- Autor do Tópico
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 175
- Obrigados Recebidos: 0
8 anos 2 semanas atrás #31495
por diegoo_martins
Respondido por diegoo_martins no tópico Controle de Numeração SE2 p/ PA
Rodrigo,
Quando compila a função dá erro de sintaxe. Poderia enviar a função completa?
User Function HWGAT001()
If Empty(cNum)
If cTipo <> 'AB-'
cSql := "SELECT MAX(E2_NUM) AS NUMERO FROM "+RetSqlName("SE2")
cSql += " WHERE E2_FILIAL = '"+xFilial("SE2")+"' AND E2_TIPO = '"+cTipo+"' AND D_E_L_E_T_<> '*' "
If !Empty(cSql)
If select("QRY") > 0
QRY->(DbCloseArea())
Endif
TcQuery ChangeQuery(cSql) New Alias "QRY"
If Empty(QRY->NUMERO)
cProxCod := '000000001'
Else
cProxCod := Soma1(Alltrim(QRY->NUMERO))
Endif
Endif
Endif
Endif
Quando compila a função dá erro de sintaxe. Poderia enviar a função completa?
User Function HWGAT001()
If Empty(cNum)
If cTipo <> 'AB-'
cSql := "SELECT MAX(E2_NUM) AS NUMERO FROM "+RetSqlName("SE2")
cSql += " WHERE E2_FILIAL = '"+xFilial("SE2")+"' AND E2_TIPO = '"+cTipo+"' AND D_E_L_E_T_<> '*' "
If !Empty(cSql)
If select("QRY") > 0
QRY->(DbCloseArea())
Endif
TcQuery ChangeQuery(cSql) New Alias "QRY"
If Empty(QRY->NUMERO)
cProxCod := '000000001'
Else
cProxCod := Soma1(Alltrim(QRY->NUMERO))
Endif
Endif
Endif
Endif
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
8 anos 2 semanas atrás #31509
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Controle de Numeração SE2 p/ PA
no inicio do fonte vc colocou os includes
#include 'protheus.ch'
#include 'tbiconn.ch'
#include 'topconn.ch'
#include 'fileio.ch'
#INCLUDE "rwmake.ch"
#include 'protheus.ch'
#include 'tbiconn.ch'
#include 'topconn.ch'
#include 'fileio.ch'
#INCLUDE "rwmake.ch"
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.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Controle de Numeração SE2 p/ PA
Tempo para a criação da página:0.120 segundos