powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Алгоритм расчета контрольного ключа счета (банковского)
7 сообщений из 7, страница 1 из 1
Алгоритм расчета контрольного ключа счета (банковского)
    #32439222
vgross
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа!
А нет ли у кого готового Алгоритма расчета контрольного ключа счета (банковского)?
Поделитесь пожалуйста.
...
Рейтинг: 0 / 0
Алгоритм расчета контрольного ключа счета (банковского)
    #32439255
Юрий Р.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А этот алгоритм для России и Украины разный ?
...
Рейтинг: 0 / 0
Алгоритм расчета контрольного ключа счета (банковского)
    #32439265
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотри здесь (для Российских счетов)

http://www.foxclub.ru/sol/index.php?act=view&id=236
...
Рейтинг: 0 / 0
Алгоритм расчета контрольного ключа счета (банковского)
    #32439401
Юрий Р.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А вот это для Украины, если устроит. (DOS вариант)

FUNCTION ScetKey

PARAMETERS char_scet, curr_mfo

PRIVATE check_num, long_scet, ind_for, sum1, sum2, sum3, ;
check_key, ret_scet, i

check_num = "1371337137137137137"
curr_mfo = Left(curr_mfo, 5)
char_scet = Left(char_scet, 4) + "0" + ;
Right(char_scet, Len(char_scet) - 4)
long_scet = curr_mfo + char_scet
sum1 = 0

FOR ind_for = 1 to Len(long_scet)
sum1 = sum1 + ;
Val(Right(Str(Val(SubStr(long_scet, ind_for, 1)) * ;
Val(SubStr(check_num, ind_for, 1))), 1))
ENDFOR

sum2 = sum1 + Len(char_scet)
sum3 = Val(Right(Str(sum2), 1)) * 7
check_key = Right(Str(sum3), 1)
ret_scet = Stuff(char_scet, 5, 1, check_key)

RETURN ret_scet
...
Рейтинг: 0 / 0
Алгоритм расчета контрольного ключа счета (банковского)
    #32439741
Фотография FM32YO aka KID
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверка контрольного разряда для лицевого счета для Украины
*/* ------ 15.12.97 09:37 ORLOV 1997 --------
* Name: TESTLS
* Params: cMfo, cLs
* Return: Variable
* Example: DO TESTLS WITH cMfo, cLs
* öπ¡¬µ¿∩ »α«óÑન ß««ΓóÑΓßΓó¿∩ ¼Σ« ¿ ½/ßτÑΓá »« ¡«ó«¼π »½á¡π ßτÑΓ«ó
* ..........................................................................
*/
*FUNCTION TESTLS(cMfo, cLs)
PARAMETERS cMfo, cLs


DIMENSION arr(19)
STORE '1' TO arr(1)
STORE '3' TO arr(2)
STORE '7' TO arr(3)
STORE '1' TO arr(4)
STORE '3' TO arr(5)
STORE '3' TO arr(6)
STORE '7' TO arr(7)
STORE '1' TO arr(8)
STORE '3' TO arr(9)
STORE '7' TO arr(10)
STORE '1' TO arr(11)
STORE '3' TO arr(12)
STORE '7' TO arr(13)
STORE '1' TO arr(14)
STORE '3' TO arr(15)
STORE '7' TO arr(16)
STORE '1' TO arr(17)
STORE '3' TO arr(18)
STORE '7' TO arr(19)

pRIVATE cStr="", tStr
SumArr=0
PRIVATE Rzr=0
PRIVATE i=0

tStr=padr(alltrim(str(cLs,15, 0)),14,"0")
Rzr=val(substr(tStr,5,1))

cStr=substr(str(cMfo,6),1,5)


cStr=substr(str(cMfo,6),1,5)+tStr

for i=1 to 19 &&len(Arr)
if(i<>10)

Arr(i)=val(Arr(i))*val(substr(cStr,i,1))

IF LEN(ALLTRIM(STR(Arr(i),2,0)))>1
Arr(i)=substr(alltrim(STR(Arr(i))),2, 1)
ELSE
Arr(i)=alltrim(STR(Arr(i)))
ENDIF
else
Arr(i)="0"
endif

SumArr=SumArr+val(Arr )

NEXT


SumArr=SumArr+len(alltrim(str(cLs,15, 0)))

*********************
do case
case LEN(ALLTRIM(STR(SumArr,3,0)))>2

Arr(1)=7*val(substr(ALLTRIM(STR(SumArr,3,0)),3,1))

case LEN(ALLTRIM(STR(SumArr,2,0)))>1

Arr(1)=7*val(substr(ALLTRIM(STR(SumArr,2,0)),2,1))
otherwise
Arr(1)=7*VAL(alltrim(STR(SumArr)))
ENDcase
***********************

if LEN(ALLTRIM(STR(Arr[1],2,0))) > 1

Arr[1]=val(substr(ALLTRIM(STR(Arr[1],2,0)),2,1))
ELSE

Arr[1]=VAL(substr(ALLTRIM(STR(Arr[1],2,0)),1,1))

ENDIF

****************

Arr[1]=VAL(substr(ALLTRIM(STR(Arr[1],2,0)),1,1))

IF Rzr==Arr[1]


IF Rzr==Arr[1]
wait window 'разряд верен'
ELSE

wait window 'разряд НЕверен'

_err=1


ENDIF
...
Рейтинг: 0 / 0
Алгоритм расчета контрольного ключа счета (банковского)
    #32459735
Y307
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
'==== VB6 ====
Function CheckBank(AccountNo As String, MFO As String) As Boolean
Dim mask As String
Dim buf As String
Dim kl, i, ln
'============================
mask = "1371337137137137137"
kl = 0
buf = Left(Trim(MFO), 5) & Trim(AccountNo)
ln = Len(buf)
For i = 1 To ln
If i <> 10 Then
kl = kl + (Val(Mid(buf, i, 1)) * Val(Mid(mask, i, 1))) Mod 10
End If
Next i
kl = (((kl + ln - 5) Mod 10) * 7) Mod 10
CheckBank = (kl = Val(Mid(buf, 10, 1)))
End Function

!!!
Может быть у кого-то есть алгоритм расчета контрольного ключа МФО(для Украины)?
...
Рейтинг: 0 / 0
Алгоритм расчета контрольного ключа счета (банковского)
    #32459748
Фотография FM32YO aka KID
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня есть алгоритм для расчета МФО для Украины.. но... на неделю я уезжаю.. так что если напомните мне на мыло - помещу егосдесь после 4-04-2004
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Алгоритм расчета контрольного ключа счета (банковского)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]