Criar uma condição dentro do Call center

Boa tarde a todos, preciso criar uma regra para que tudo que estiver setado como "A" no cadastro do cliente obrigue dentro do call center o vendedor não alterar para nem uma condição de pagamento diferente de 1, fiz dessa forma abaixo e deu certo. Porem para condições que iniciam com "1" exemplo 11 até 19, ele deixa passar porque tem o numero 1 na frente. coo fariam? Help! Obrigao pela atenção

Include 'Protheus.ch'

User Function TMKDADOS(cCodPagto, cCodTransp, cCob, cEnt, cCidadeC, cCepC, cBairroC, cBairroE, cCidadeE, cCepE, cUfE, aParcelas)

Local aArea := GetArea() Local lRet := .T.

If SA1->A1_CARACTE == "A" .AND. cCodPagto <> "1" MsgInfo("Somente a Vista") lRet := .F. Endif

restArea(aArea)

Return lRet

Há várias opções de como você montar isso, uma delas seria você colocar cCodPagto <> '1', você mudar para SUBSTR(cCodPagto,1,1) <> '1'. Explicando esse trecho:

SUBSTR(cCodPagto,1,1)

Esse pedaço aqui você pega à partir da primeira posição, 1 caracter, da sua variável cCodPagto e faz uma validação que ela é diferente de 1. Usando essa regra, tudo o que começar com 1, cairá na sua validação. Se, em algum momento, você quiser filtrar, por exemplo 15, 16 e 17, você pode também criar uma variável que receba os outros números e validar com '$' que seria um IN do SQL.

cTeste := "15,16,17"

if cCodPagto $ cTeste

... seu código

endif

O inverso também, mas, só uma pequena diferença na sintaxe:

if !(cCodPagto $ cTeste)

... seu código

endif

Veja se funciona para a sua necessidade e nos dê um retorno aqui.