|
Beleza wagner , O que ocorreu foi que essa rotina
eu traduzi do Delphi para o Centura e n�o testei a mesma em centura. Como voc�s
sabem , existem diferen�as no manuseio de strings entre as duas linguagens ( o
delphi conta strings a partir do �ndice 01 e o centura apartir do zero
).
Assim , muito obrigado pela corre��o.
Um forte abra�o
Manoel
Valen�a
Analista de Sistemas
DETRAN-PE
----- Original Message -----
Sent: Tuesday, January 28, 2003 12:25
PM
Subject: [sqlwin]
Re:_[sqlwin]_VALIDA��O_PIS/PASE_E_NIT
Manoel , Estive fazendo testes com a sua fun��o e
descobri que na linha:
Set nSoma = nSoma + ( nm11 *
SalStrToNumber(SalStrMidX(sDado,10-i,1) ) )
em vez de usar "10-i" deve-se usar "9-i"
pois o digito n�o � utilizado na soma.
fiz esta altera��o e a fun��o funcionou
.
Wagner
Miu Assessoria de projetos.
----- Original Message -----
Sent: Tuesday, January 28, 2003 11:53
AM
Subject: Re: [sqlwin]
Re:_[sqlwin]_Re:_[sqlwin]_VALIDA��O_PIS/PASE_E_NIT
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.
|