mirror of
https://github.com/bia-technologies/yaxunit.git
synced 2025-03-17 20:48:01 +02:00
feat: Добавлена генерация СНИЛС и ИНН для людей
This commit is contained in:
parent
4623873e25
commit
edcdfc5243
@ -107,10 +107,40 @@
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка
|
||||
Функция ИНН()
|
||||
Функция ИНН() Экспорт
|
||||
Возврат ЮТТестовыеДанные.Подражатель().Компании().ИНН(, Истина);
|
||||
КонецФункции
|
||||
|
||||
// Формирует случаный СНИЛС.
|
||||
// https://ru.wikipedia.org/wiki/Контрольное_число
|
||||
// Возвращаемое значение:
|
||||
// Строка
|
||||
Функция СНИЛС() Экспорт
|
||||
ЧастиСнилс = Новый Массив();
|
||||
ЧастиСнилс.Добавить(Формат(ЮТТестовыеДанные.СлучайноеЧисло(100, 999), "ЧЦ=3; ЧВН=;"));
|
||||
ЧастиСнилс.Добавить(Формат(ЮТТестовыеДанные.СлучайноеЧисло(0, 999), "ЧЦ=3; ЧВН=;"));
|
||||
ЧастиСнилс.Добавить(Формат(ЮТТестовыеДанные.СлучайноеЧисло(0, 999), "ЧЦ=3; ЧВН=;"));
|
||||
|
||||
ИтогоСтрокой = СтрСоединить(ЧастиСнилс, "");
|
||||
ДлинаОсновнойЧасти = СтрДлина(ИтогоСтрокой);
|
||||
Сумма = 0;
|
||||
Для Итератор = 0 По 8 Цикл
|
||||
Сумма = Сумма + (Число(Сред(ИтогоСтрокой, ДлинаОсновнойЧасти - Итератор, 1)) * (Итератор + 1));
|
||||
КонецЦикла;
|
||||
|
||||
ОстатокОтДеления = Сумма % 101;
|
||||
КонтрольноеЧисло = ?(ОстатокОтДеления = 100, 0, ОстатокОтДеления);
|
||||
|
||||
Возврат СтрШаблон(
|
||||
"%1-%2-%3 %4",
|
||||
ЧастиСнилс[0],
|
||||
ЧастиСнилс[1],
|
||||
ЧастиСнилс[2],
|
||||
Формат(КонтрольноеЧисло, "ЧЦ=2; ЧВН=;")
|
||||
);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#Область ФабрикаПеречислений
|
||||
|
||||
Функция ПолЧеловека() Экспорт
|
||||
|
@ -26,6 +26,8 @@
|
||||
.ДобавитьТест("Фамилия")
|
||||
.ДобавитьТест("Отчество")
|
||||
.ДобавитьТест("ФИО")
|
||||
.ДобавитьТест("ИНН")
|
||||
.ДобавитьТест("СНИЛС")
|
||||
.ДобавитьТестовыйНабор("Локализации")
|
||||
.ДобавитьТест("УстановкаЛокализации")
|
||||
.ДобавитьТест("НесуществующийСловарьПоЛокализации")
|
||||
@ -101,6 +103,24 @@
|
||||
;
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ИНН() Экспорт
|
||||
ИНН = ЮТТестовыеДанные.Подражатель().Люди().ИНН();
|
||||
Ютест.ОжидаетЧто(ИНН)
|
||||
.ИмеетТип("Строка")
|
||||
.Заполнено()
|
||||
.ИмеетДлину(12)
|
||||
;
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура СНИЛС() Экспорт
|
||||
СНИЛС = ЮТТестовыеДанные.Подражатель().Люди().СНИЛС();
|
||||
Ютест.ОжидаетЧто(СНИЛС)
|
||||
.ИмеетТип("Строка")
|
||||
.Заполнено()
|
||||
.ИмеетДлину(14)
|
||||
;
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура УстановкаЛокализации() Экспорт
|
||||
|
||||
Подражатель = ЮТТестовыеДанные.Подражатель();
|
||||
|
Loading…
x
Reference in New Issue
Block a user