УНП контрагента Беларусь контрольная сумма код 1с
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Функция УНПБеларусьСоответствуетТребованиям(Знач ИНН, ЭтоЮридическоеЛицо, ТекстСообщения) Экспорт
// 1С-Минск Замена содержимого функции
УНП = СокрЛП(ИНН);
ДлинаИНН = СтрДлина(УНП);
//Если НЕ (СтроковыеФункцииКлиентСервер.ТолькоЦифрыВСтроке(УНП)) и ЭтоЮридическоеЛицо Тогда
// Возврат Ложь;
//ИначеЕсли СтроковыеФункцииКлиентСервер.ТолькоЦифрыВСтроке(УНП) и НЕ ЭтоЮридическоеЛицо Тогда
// Возврат Ложь;
//КонецЕсли;
Если НЕ ТолькоЦифрыВСтроке(УНП) Тогда
Возврат Ложь;
КонецЕсли;
Если ДлинаИНН = 9 и ЭтоЮридическоеЛицо Тогда
КонтрольнаяСумма = 0;
Для Н = 1 По 8 Цикл
Если Н = 1 Тогда
Множитель = 29;
ИначеЕсли Н = 2 Тогда
Множитель = 23;
ИначеЕсли Н = 3 Тогда
Множитель = 19;
ИначеЕсли Н = 4 Тогда
Множитель = 17;
ИначеЕсли Н = 5 Тогда
Множитель = 13;
ИначеЕсли Н = 6 Тогда
Множитель = 7;
ИначеЕсли Н = 7 Тогда
Множитель = 5;
ИначеЕсли Н = 8 Тогда
Множитель = 3;
КонецЕсли;
Цифра = Число(Сред(УНП,Н,1));
КонтрольнаяСумма = КонтрольнаяСумма + Цифра * Множитель;
КонецЦикла;
КонтрольныйРазряд = (КонтрольнаяСумма %11);
Если КонтрольныйРазряд <> Число(Сред(УНП,9,1))или КонтрольныйРазряд = 10 Тогда
Возврат Ложь;
КонецЕсли;
ИначеЕсли ДлинаИНН =9 и НЕ ЭтоЮридическоеЛицо Тогда
КонтрольнаяСумма = 0;
Для Н = 1 По 8 Цикл
Если Н = 1 Тогда
Множитель = 29;
Буква = Сред(УНП,Н,1);
Если Буква = "А" Тогда
Цифра = 10;
ИначеЕсли Буква = "В" Тогда
Цифра = 11;
ИначеЕсли Буква = "С" Тогда
Цифра = 12;
ИначеЕсли Буква = "Е" Тогда
Цифра = 14;
ИначеЕсли Буква = "Н" Тогда
Цифра = 17;
ИначеЕсли Буква = "К" Тогда
Цифра = 20;
ИначеЕсли Буква = "М" Тогда
Цифра = 22;
Иначе
Возврат Ложь;
КонецЕсли;
ИначеЕсли Н = 2 Тогда
Множитель = 23;
Буква = Сред(УНП,Н,1);
Если Буква = "А" Тогда
Цифра = 0;
ИначеЕсли Буква = "В" Тогда
Цифра = 1;
ИначеЕсли Буква = "С" Тогда
Цифра = 2;
ИначеЕсли Буква = "Е" Тогда
Цифра = 3;
ИначеЕсли Буква = "Н" Тогда
Цифра = 4;
ИначеЕсли Буква = "К" Тогда
Цифра = 5;
ИначеЕсли Буква = "М" Тогда
Цифра = 6;
ИначеЕсли Буква = "О" Тогда
Цифра = 7;
ИначеЕсли Буква = "Р" Тогда
Цифра = 8;
ИначеЕсли Буква = "Т" Тогда
Цифра = 9;
Иначе
Возврат Ложь;
КонецЕсли;
ИначеЕсли Н = 3 Тогда
Множитель = 19;
Цифра = Число(Сред(УНП,Н,1));
ИначеЕсли Н = 4 Тогда
Множитель = 17;
Цифра = Число(Сред(УНП,Н,1));
ИначеЕсли Н = 5 Тогда
Множитель = 13;
Цифра = Число(Сред(УНП,Н,1));
ИначеЕсли Н = 6 Тогда
Множитель = 7;
Цифра = Число(Сред(УНП,Н,1));
ИначеЕсли Н = 7 Тогда
Множитель = 5;
Цифра = Число(Сред(УНП,Н,1));
ИначеЕсли Н = 8 Тогда
Множитель = 3;
Цифра = Число(Сред(УНП,Н,1));
КонецЕсли;
КонтрольнаяСумма = КонтрольнаяСумма + Цифра * Множитель;
КонецЦикла;
КонтрольныйРазряд = (КонтрольнаяСумма %11);
Если КонтрольныйРазряд <> Число(Сред(УНП,9,1))или КонтрольныйРазряд = 10 Тогда
Возврат Ложь;
КонецЕсли;
Иначе
Возврат Ложь;
КонецЕсли;
Возврат Истина;
// конец 1С-Минск
КонецФункции
// 1С-Минск Замена содержимого функции
УНП = СокрЛП(ИНН);
ДлинаИНН = СтрДлина(УНП);
//Если НЕ (СтроковыеФункцииКлиентСервер.ТолькоЦифрыВСтроке(УНП)) и ЭтоЮридическоеЛицо Тогда
// Возврат Ложь;
//ИначеЕсли СтроковыеФункцииКлиентСервер.ТолькоЦифрыВСтроке(УНП) и НЕ ЭтоЮридическоеЛицо Тогда
// Возврат Ложь;
//КонецЕсли;
Если НЕ ТолькоЦифрыВСтроке(УНП) Тогда
Возврат Ложь;
КонецЕсли;
Если ДлинаИНН = 9 и ЭтоЮридическоеЛицо Тогда
КонтрольнаяСумма = 0;
Для Н = 1 По 8 Цикл
Если Н = 1 Тогда
Множитель = 29;
ИначеЕсли Н = 2 Тогда
Множитель = 23;
ИначеЕсли Н = 3 Тогда
Множитель = 19;
ИначеЕсли Н = 4 Тогда
Множитель = 17;
ИначеЕсли Н = 5 Тогда
Множитель = 13;
ИначеЕсли Н = 6 Тогда
Множитель = 7;
ИначеЕсли Н = 7 Тогда
Множитель = 5;
ИначеЕсли Н = 8 Тогда
Множитель = 3;
КонецЕсли;
Цифра = Число(Сред(УНП,Н,1));
КонтрольнаяСумма = КонтрольнаяСумма + Цифра * Множитель;
КонецЦикла;
КонтрольныйРазряд = (КонтрольнаяСумма %11);
Если КонтрольныйРазряд <> Число(Сред(УНП,9,1))или КонтрольныйРазряд = 10 Тогда
Возврат Ложь;
КонецЕсли;
ИначеЕсли ДлинаИНН =9 и НЕ ЭтоЮридическоеЛицо Тогда
КонтрольнаяСумма = 0;
Для Н = 1 По 8 Цикл
Если Н = 1 Тогда
Множитель = 29;
Буква = Сред(УНП,Н,1);
Если Буква = "А" Тогда
Цифра = 10;
ИначеЕсли Буква = "В" Тогда
Цифра = 11;
ИначеЕсли Буква = "С" Тогда
Цифра = 12;
ИначеЕсли Буква = "Е" Тогда
Цифра = 14;
ИначеЕсли Буква = "Н" Тогда
Цифра = 17;
ИначеЕсли Буква = "К" Тогда
Цифра = 20;
ИначеЕсли Буква = "М" Тогда
Цифра = 22;
Иначе
Возврат Ложь;
КонецЕсли;
ИначеЕсли Н = 2 Тогда
Множитель = 23;
Буква = Сред(УНП,Н,1);
Если Буква = "А" Тогда
Цифра = 0;
ИначеЕсли Буква = "В" Тогда
Цифра = 1;
ИначеЕсли Буква = "С" Тогда
Цифра = 2;
ИначеЕсли Буква = "Е" Тогда
Цифра = 3;
ИначеЕсли Буква = "Н" Тогда
Цифра = 4;
ИначеЕсли Буква = "К" Тогда
Цифра = 5;
ИначеЕсли Буква = "М" Тогда
Цифра = 6;
ИначеЕсли Буква = "О" Тогда
Цифра = 7;
ИначеЕсли Буква = "Р" Тогда
Цифра = 8;
ИначеЕсли Буква = "Т" Тогда
Цифра = 9;
Иначе
Возврат Ложь;
КонецЕсли;
ИначеЕсли Н = 3 Тогда
Множитель = 19;
Цифра = Число(Сред(УНП,Н,1));
ИначеЕсли Н = 4 Тогда
Множитель = 17;
Цифра = Число(Сред(УНП,Н,1));
ИначеЕсли Н = 5 Тогда
Множитель = 13;
Цифра = Число(Сред(УНП,Н,1));
ИначеЕсли Н = 6 Тогда
Множитель = 7;
Цифра = Число(Сред(УНП,Н,1));
ИначеЕсли Н = 7 Тогда
Множитель = 5;
Цифра = Число(Сред(УНП,Н,1));
ИначеЕсли Н = 8 Тогда
Множитель = 3;
Цифра = Число(Сред(УНП,Н,1));
КонецЕсли;
КонтрольнаяСумма = КонтрольнаяСумма + Цифра * Множитель;
КонецЦикла;
КонтрольныйРазряд = (КонтрольнаяСумма %11);
Если КонтрольныйРазряд <> Число(Сред(УНП,9,1))или КонтрольныйРазряд = 10 Тогда
Возврат Ложь;
КонецЕсли;
Иначе
Возврат Ложь;
КонецЕсли;
Возврат Истина;
// конец 1С-Минск
КонецФункции
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот