-
Notifications
You must be signed in to change notification settings - Fork 0
OKPO
do- edited this page Sep 21, 2024
·
7 revisions
OKPO — класс-наследник ScalarProduct с фиксированным набором коэффициентов и некоторыми переопределёнными методами.
const c = new OKPO (valueLength)| Имя | Описание |
|---|---|
coefficients |
Массив коэффициентов |
valueLength |
Длина массива коэффициентов |
checkSumLength |
Количество цифр в контрольной сумме (1) |
totalLength |
Общее количество цифр в коде (valueLength + 1) |
modulus1 |
11 |
modulus2 |
10 |
scalarProduct2 |
Резервный ScalarProduct на случай this.sum % 11 === 10
|
Рассчитывает this.sum с резервным набором коэффициентов: 3, 4, 5... вместо основного 1, 2, 3...
Поскольку коды ОКПО принято печатать без лидирующих нулей, дополняет str нулями до totalLength, после чего вызывает унаследованный метод.
Поскольку коды ОКПО принято печатать без лидирующих нулей, то при генерации значения, начинающегося на единственный '0' — удаляет его. Значения с лидирующими '00' не выдаёт, в этом случае генерирует значение повторно.