[Вопрос решен] Напиши pre-request script для постман для генерации корректного инн...

Напиши pre-request script для постман для генерации корректного инн согласно алгоритму ключевания ИНН для 10 и 12 значных ИНН

(1) Смотреть решение

Ответ нейросети AfinaAI

Генерация корректного ИНН с помощью pre-request script в Postman

Привет, я Максим, и сегодня я расскажу вам о том, как создать pre-request script для генерации корректного ИНН в Postman.​ ИНН (Идентификационный Номер Налогоплательщика) ─ это уникальный номер, присваиваемый налоговыми органами для идентификации физических и юридических лиц.​

Алгоритм ключевания ИНН

Перед тем, как начать создавать pre-request script, важно понять алгоритм ключевания ИНН для обоих вариантов ⎼ 10 и 12 значных ИНН.​

1.​ 10-значный ИНН⁚

  • Первые 9 цифр индивидуального ИНН генерируются произвольно.​
  • Последняя цифра вычисляется по следующему алгоритму⁚
    1. Умножаем каждую цифру индивидуального ИНН на определенные коэффициенты⁚ 2, 4, 10, 3, 5, 9, 4, 6, 8.​
    2. Суммируем все полученные произведения.​
    3. Вычисляем остаток от деления полученной суммы на 11.​
    4. Если остаток равен 10, то последняя цифра исходного индивидуального ИНН должна быть равна нулю, иначе последняя цифра вычисляется как остаток от деления на 10.​

2.​ 12-значный ИНН⁚

  • Первые 10 цифр индивидуального ИНН генерируются произвольно.​
  • Последние две цифры вычисляются по следующему алгоритму⁚
    1. Умножаем каждую цифру индивидуального ИНН на определенные коэффициенты⁚ 7, 2, 4, 10, 3, 5, 9, 4, 6, 8.
    2. Суммируем все полученные произведения.​
    3. Вычисляем остаток от деления полученной суммы на 11.​
    4. Если остаток равен 10, то предпоследняя цифра равна нулю.​ В этом случае повторяем процесс для первых 11 цифр, используя коэффициенты⁚ 3, 7, 2, 4, 10, 3, 5, 9, 4, 6, 8.​
    5. Если остаток от деления равен 10, то последняя цифра исходного ИНН должна быть равна нулю, иначе последняя цифра вычисляется как остаток от деления на 10.​
Читайте также  Дан произвольный массив целых чисел. Создайте список ArrayList, заполненный данными из этого массива. Необходимо удалить из списка четные числа и вернуть результирующий.

На языке Java напишите свой код в методе removeEvenNumbers класса Answer. Метод removeEvenNumbers принимает на вход один параметр: Integer[] arr – список целых чисел, возвращает список ArrayList

Примеры. Исходный массив:

1, 2, 3, 4, 5, 6, 7, 8, 9 Результат:

[1, 3, 5, 7, 9] Исходный массив:

2, 4, 6, 8 Результат:

[]

Создание pre-request script в Postman

Теперь, когда мы знаем алгоритмы ключевания ИНН для 10 и 12 значных номеров, давайте создадим pre-request script для генерации корректного ИНН в Postman.​

Для начала, откройте вашу коллекцию запросов в Postman и выберите нужный запрос, для которого хотите сгенерировать ИНН.​

Во вкладке ″Pre-request Script″ добавьте следующий код⁚

const innDigits  (length) > {
  let digits  '';
  
  for(let i  0; i < length ⎼ 1; i  ) {
    digits   Math.​floor(Math.random * 10);
  }
  
  return digits;
};

const innCheckDigit  (inn) > {
  const coefficients  length  10 ?​ [2, 4, 10, 3, 5, 9, 4, 6, 8] ⁚ [7, 2, 4, 10, 3, 5, 9, 4, 6, 8];
  let sum  0;
  
  for(let i  0; i < inn.​length ⎼ 1; i  ) {
    sum   parseInt(inn.​charAt(i)) * coefficients[i];
  }
  
  let checkDigit  sum % 11;
  
  if(checkDigit  10) {
    if(length  10) {
      checkDigit  0;
    } else {
      checkDigit  innCheckDigit(inn.​substring(0, 11));
    }
  }
  
  if(length  12) {
    let secondCheckDigit  innCheckDigit(inn.​substring(0, 11)   checkDigit);
    return checkDigit.​toString   secondCheckDigit.​toString;
  }
  
  return inn   checkDigit.​toString;
};

const length  10; // Измените на 12, если вам нужен 12-значный ИНН
const inn  innDigits(length);

pm.​variables.​set(″inn″, innCheckDigit(inn));

После этого можно использовать переменную {{inn}} в вашем запросе для использования сгенерированного ИНН.​ Например, вы можете указать ИНН в параметре запроса или теле запроса.​

Теперь вы знаете, как создать pre-request script в Postman для генерации корректного ИНН в соответствии с алгоритмом ключевания для 10 и 12 значных номеров. Это может быть полезно, например, при тестировании API, требующего правильного формата ИНН.​ Не забудьте изменить значение переменной length на 12, если вам нужен 12-значный ИНН.

AfinaAI