Manoel, desculpe mais continua me retonando FALSE.

voce poderia dar mais uma conferida e se possivel me passar um numero de PIS para checar se o numero que estou usando esta correto

OBS.; PIS 10826631077

Grato

Ricardo

 

 Manoel_Valença <[EMAIL PROTECTED]> wrote:

Ricardo, faça a seguinte correção :
 
If nM11 < 8  Troque por If nM11 < 9.
 
Me desculpe, foi um erro de digitação na primeira que te mandei.
 
 
Um abraço e espero que dê certo.
 
Qualquer coisa , Me contate ela lista
 
 
Manoel Valença
Analista de Sistemas
DETRAN-PE
 
 
----- Original Message -----
Sent: Tuesday, January 28, 2003 8:45 AM
Subject: Re: [sqlwin] Re:_[sqlwin]_VALIDAÇÃO_PIS/PASE_E_NIT

Manoel, bom dia

Estou testando a rotina de validar o pis que voce mandou para o Alexandre só que o que eu fiz só esta me retornando false

Estou colando a minha rotina será que voce poderia dar uma olhada o que estou fazendo de errado?

Grato pela atenção

Ricardo G. Reis

Function: fPisPase

Description:

Returns

Boolean:

Parameters

String: psDados

Static Variables

Local variables

Number: i

Number: nSoma

Number: nM11

Number: nDv

Number: nDigito

Boolean: bRetorno

Actions

If SalStrTrimX( psDados ) != ''

Set nDv = SalStrToNumber( SalStrMidX( psDados, 10, 1 ) )

Set nSoma = 0

Set nM11 = 2

Set i = 0

While i <= 9

Set nSoma = nSoma + (nM11 * SalStrToNumber( SalStrMidX( psDados, 10-i, 1 ) ) )

If nM11 < 8

Set nM11 = nM11 + 1

Else

Set nM11 = 2

Set i = i + 1

Set nDigito = 11 - (SalNumberMod( nSoma, 11 ) )

If nDigito > 9

Set nDigito = 0

If nDv = nDigito

Set bRetorno = TRUE

Else

Set bRetorno = FALSE

Else

Set bRetorno = FALSE

Return bRetorno

 

 Manoel_Valença <[EMAIL PROTECTED]> wrote:

Caro Alexandre , aí vai a rotina para cálculo Validação do PIS.  Caso tenha alguma dúvida, me contate pela lista.
Um abraço
 
 
Manoel Valença
Analista de Sistemas
DETRAN-PE
 
Function : vpis
    Description
    Returns
        Boolean:
    Parameters:
        String: sDado
    Static Variables
    Local Variables
        Number: i
        Number: nSoma
        Number: nm11
        Number:ndv
        Number: nDigito
        Boolean: bRetorno
    Actions
        If SalStrTrimX( sDado ) != ''
            Set ndv = SalStrToNumber( SalStrMidX( sDado,10,1) )
            Set nSoma = 0
            Set nm11 = 2
            Set i = 0
            While i <= 9
                Set nSoma = nSoma + ( nm11 * SalStrToNumber(SalStrMidX(sDado,10-i,1) ) )
                If nm11 < 8
                    Set nm11 = nm11 + 1
                Else
                    Set nm11 = 2
                Set i = i + 1
            Set nDigito = 11 - ( SalNumberMod( nSoma , 11 ) )
            If nDigito > 9
                Set nDigito = 0
            If ndv = nDigito
                Set bReturno = TRUE
            Else
                Set bReturno = FALSE
        Else
              bReturn = FALSE
        Return bReturno
 
                           
----- Original Message -----
Sent: Monday, January 27, 2003 3:08 PM
Subject: [sqlwin] VALIDAÇÃO PIS/PASE E NIT


E-mail Premium BOL
Antivírus, anti-spam e até 100 MB de espaço. Assine já!
http://email.bol.com.br
Amigos,
 
Gostaria de saber se alguém sabe a fórmula para validar os números de PIS/PASEP e NIT.
 
Agradeço desde já a colaboração.
 
Obrigado,
 
Alexandre Augusto Teixeira
Miu Assessoria de Projetos
Tel.: (11) 3284-1472



Busca Yahoo!
O serviço de busca mais completo da Internet. O que você pensar o Yahoo! encontra.



Busca Yahoo!
O serviço de busca mais completo da Internet. O que você pensar o Yahoo! encontra.

Responder a