- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Pontos de Entrada
- Bloqueio inclusão de documento de entrada sem centro de custo MT100TOK
Perguntas Bloqueio inclusão de documento de entrada sem centro de custo MT100TOK
- sarraipa
- Autor do Tópico
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 232
- Obrigados Recebidos: 1
9 anos 6 meses atrás - 9 anos 6 meses atrás #28214
por sarraipa
Estou tentando bloquear a inclusão de documento de entrada sem centro de custo, bom quando vou incluir o documento o bloquei funciona que é uma beleza, mas quando eu tendo retornar um documento de saida o sistema mostra uma tela informando inconsistencia na sf1.
Então o grande problema ta em conseguir que o ponto de entrada que rode apenas no confirmar da rotina de retorno de nota e não antes de montar a telas com os itens que serão confirmados.
Segue o ponto que estou usando ele só não funciona na rotina de retorno.
#INCLUDE "Rwmake.ch"
#INCLUDE "Totvs.ch"
#INCLUDE "Protheus.ch"
//rOTINA EM TESTE
User Function MT100TOK()
Local lRET := .T.
Local aArea := GetArea()
Local nPosPed := Ascan(aHeader, {|n| Alltrim(n[2]) = 'D1_CC'})
Local nPosRat := Ascan(aHeader, {|n| Alltrim(n[2]) = 'D1_RATEIO'})
Local nX := 0
local cItem :=""
Local cCusto := ''
lMT100TOK := .F.
if Len(aCols) > 0
For nX := 1 To Len(aCols)
if Empty(aCols[nX][nPosPed]) .AND. (aCols[nX][nPosRat]) != '1'
citem += cValToChar(nX) +"; "
endif
Next
IF !Empty(citem)
lRET := .F.
MsgAlert("A informação de centro de custo é obrigatória para os itens: " + citem +" do documento")
endif
Endif
RestArea( aArea )
Return lRET
Então o grande problema ta em conseguir que o ponto de entrada que rode apenas no confirmar da rotina de retorno de nota e não antes de montar a telas com os itens que serão confirmados.
Segue o ponto que estou usando ele só não funciona na rotina de retorno.
#INCLUDE "Rwmake.ch"
#INCLUDE "Totvs.ch"
#INCLUDE "Protheus.ch"
//rOTINA EM TESTE
User Function MT100TOK()
Local lRET := .T.
Local aArea := GetArea()
Local nPosPed := Ascan(aHeader, {|n| Alltrim(n[2]) = 'D1_CC'})
Local nPosRat := Ascan(aHeader, {|n| Alltrim(n[2]) = 'D1_RATEIO'})
Local nX := 0
local cItem :=""
Local cCusto := ''
lMT100TOK := .F.
if Len(aCols) > 0
For nX := 1 To Len(aCols)
if Empty(aCols[nX][nPosPed]) .AND. (aCols[nX][nPosRat]) != '1'
citem += cValToChar(nX) +"; "
endif
Next
IF !Empty(citem)
lRET := .F.
MsgAlert("A informação de centro de custo é obrigatória para os itens: " + citem +" do documento")
endif
Endif
RestArea( aArea )
Return lRET
Ultima edição: 9 anos 6 meses atrás por sarraipa.
Por favor Acessar ou Registrar para participar da conversa.
- weider05
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 137
- Obrigados Recebidos: 0
9 anos 6 meses atrás - 9 anos 6 meses atrás #28216
por weider05
Respondido por weider05 no tópico Bloqueio inclusão de documento de entrada sem centro de custo MT100TOK
Nao sei qual array vc consegue isso (se no proprio aHeader) mas criar uma condição onde o tipo da nota for D ou B retornar lRET := .T.
ou ate melhor..so executar sua validação de centro de custo senao for "d"..e inicia a variavel lRET como true.
ou ate melhor..so executar sua validação de centro de custo senao for "d"..e inicia a variavel lRET como true.
Ultima edição: 9 anos 6 meses atrás por weider05.
Por favor Acessar ou Registrar para participar da conversa.
- sarraipa
- Autor do Tópico
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 232
- Obrigados Recebidos: 1
9 anos 6 meses atrás #28217
por sarraipa
Respondido por sarraipa no tópico Bloqueio inclusão de documento de entrada sem centro de custo MT100TOK
A ideia é fazer com que o ponto de entrada MT100TOK seja chamado apenas no botão confirmar na rotina de retorno.
Por favor Acessar ou Registrar para participar da conversa.
- henry.charriere
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 492
- Obrigados Recebidos: 0
9 anos 6 meses atrás #28219
por henry.charriere
Respondido por henry.charriere no tópico Bloqueio inclusão de documento de entrada sem centro de custo MT100TOK
Brother, bom dia!
Porque não coloca o campo obrigatório?
Atenciosamente,
Henry
Porque não coloca o campo obrigatório?
Atenciosamente,
Henry
Por favor Acessar ou Registrar para participar da conversa.
- sarraipa
- Autor do Tópico
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 232
- Obrigados Recebidos: 1
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Pontos de Entrada
- Bloqueio inclusão de documento de entrada sem centro de custo MT100TOK
Tempo para a criação da página:0.145 segundos