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 listaManoel ValençaAnalista de SistemasDETRAN-PE----- Original Message -----From: Ricardo GuimarãesSent: Tuesday, January 28, 2003 8:45 AMSubject: Re: [sqlwin] Re:_[sqlwin]_VALIDAÇÃO_PIS/PASE_E_NITManoel, 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çoManoel ValençaAnalista de SistemasDETRAN-PEFunction : vpisDescriptionReturnsBoolean:Parameters:String: sDadoStatic VariablesLocal VariablesNumber: iNumber: nSomaNumber: nm11Number:ndvNumber: nDigitoBoolean: bRetornoActionsIf SalStrTrimX( sDado ) != ''Set ndv = SalStrToNumber( SalStrMidX( sDado,10,1) )Set nSoma = 0Set nm11 = 2Set i = 0While i <= 9Set nSoma = nSoma + ( nm11 * SalStrToNumber(SalStrMidX(sDado,10-i,1) ) )If nm11 < 8Set nm11 = nm11 + 1ElseSet nm11 = 2Set i = i + 1Set nDigito = 11 - ( SalNumberMod( nSoma , 11 ) )If nDigito > 9Set nDigito = 0If ndv = nDigitoSet bReturno = TRUEElseSet bReturno = FALSEElsebReturn = FALSEReturn bReturno----- Original Message -----To: Lista SqlWindowsSent: Monday, January 27, 2003 3:08 PMSubject: [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.