Perguntas Bloqueio inclusão de documento de entrada sem centro de custo MT100TOK

Mais
8 anos 11 meses atrás - 8 anos 11 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
Ultima edição: 8 anos 11 meses atrás por sarraipa.

Por favor Acessar ou Registrar para participar da conversa.

Mais
8 anos 11 meses atrás - 8 anos 11 meses atrás #28216 por weider05
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.
Ultima edição: 8 anos 11 meses atrás por weider05.

Por favor Acessar ou Registrar para participar da conversa.

Mais
8 anos 11 meses atrás #28217 por sarraipa
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.

Mais
8 anos 11 meses atrás #28219 por henry.charriere
Brother, bom dia!

Porque não coloca o campo obrigatório?


Atenciosamente,
Henry

Por favor Acessar ou Registrar para participar da conversa.

Mais
8 anos 11 meses atrás #28229 por sarraipa
Bom deu certo,

Ficou assim


if Len(aCols) > 0 .AND. ProcName(5)= "TUDOOK"

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.126 segundos
Joomla templates by a4joomla