РАСЧЕТ КОНТРОЛЬНЫХ КЛЮЧЕЙ


РАСЧЕТ КОНТРОЛЬНОГО КЛЮЧА СЧЕТА


Ключом счета является 9 символ в его номере. Значение ключа высчитывается на основе самого счета и БИКа банка, в котором данный счет открыт. Таким образом, некорректность ключа в счете свидетельствует о том, что такой счет в указанном банке (БИК) открыт быть не может.

Алгоритм расчета ключа счета различается для расчетного счета и счета РКЦ (например, кор. счета). Алгоритм расчета описан в "Порядок расчета контрольного ключа в номере лицевого счета" (утв. Банком России 08.09.1997 N 515)

Для расчета ключа счета в АБС Бисквит используется процедура key-tst.p.

key-tst.p (acct, BIC, OUTPUT key).

  • acct - счет, тип CHARACTER;
  • BIC - БИК банка, тип CHARACTER;
  • key - Ключ счета, тип INT64.

Пример:

DEF VAR vAcct AS CHAR INIT "40817810000001000001" NO-UNDO.
DEF VAR vBIC  AS CHAR INIT "043886777" NO-UNDO.
DEF VAR vKey  AS INT64 NO-UNDO.

RUN key-tst.p (vAcct, vBIC, OUTPUT vKey).

DISPL vKey.


РАСЧЕТ КОНТРОЛЬНОГО ЧИСЛА ИНН


Контрольным числом ИНН является последний символ в номере ИНН для юридических лиц и два последних символа для физических лиц

Подробно, алгоритм формирования ИНН описан в Приказе МНС РФ от 03.03.2004 N БГ-3-09/178 "Об утверждении порядка и условий присвоения, применения, а также изменения Идентификационного Номера Налогоплательщика и форм документов, используемых при постановке на учет, снятии с учета юридических и физических лиц" (Зарегистрировано в Минюсте РФ 24.03.2004 N 5685)

Для расчета контрольного числа в АБС используется функция fValidInnSignature описанная в инклюд-файле innchk.i. Данная функция возвращает логическое значение, тип LOGICAL, соответствующее корректности указанного в качестве входного параметра ИНН.

fValidInnSignature(INN, OUTPUT keyVariable).

  • INN - проверяемое ИНН, тип CHARACTER;
  • keyVariable - идентификатор переменной для возврата корректного ключа ИНН, тип CHARACTER.

Пример:

{innchk.i}
DEF VAR lINN AS LOGICAL       NO-UNDO.
DEF VAR vKey AS CHARACTER NO-UNDO.
DEF VAR vINN AS CHARACTER  INIT "123456789012" NO-UNDO.

lINN = fValidInnSignature(vINN, OUTPUT vKey).
IF lINN THEN DISPLAY "ИНН КОРРЕКТЕН".
        ELSE DISPLAY "ПОСЛЕДНИЕ ЦИФРЫ ИНН ДОЛЖНЫ БЫТЬ " vKey.

Вы здесь: Главная ИБС Бисквит БАЗОВЫЙ РАСЧЕТ КОНТРОЛЬНЫХ КЛЮЧЕЙ