|
ИНН сотрудника в ЗУП | ☑ | ||
---|---|---|---|---|
0
uuu_ggg
19.05.12
✎
15:12
|
когда заполняешь ИНН сотрудника,если что-то заполнено неверно он выделяет красным цветом.А кто-нибудь знает, по какому принципу он считает,что ИНН неверный??ну то что ,цифры какой то не хватает-это понятно...в других случаях почему...
|
|||
1
ДенисЧ
19.05.12
✎
15:15
|
А в код посмотреть? Аллах не велит?
|
|||
2
uuu_ggg
19.05.12
✎
15:16
|
ну я просто подумала,может кто-то знает)))
|
|||
3
ДенисЧ
19.05.12
✎
15:17
|
(2) а я тебе и подсказал, кто знает...
|
|||
4
Luhtas
19.05.12
✎
15:18
|
(0) В ИНН какя то цифра, последняя, это контрольное число остальных чисел, почитай в Вики...так прога и анализирует.
|
|||
5
Armando
19.05.12
✎
15:26
|
||||
6
aka AMIGO
19.05.12
✎
19:16
|
Функция Валид(ИНН)
ИНН = СокрЛП(ИНН); Если СтрДлина(ИНН)=10 Тогда КонтрольнаяСтрока = Прав(ИНН,1); СуммаРазрядов = 2*Сред(ИНН,1,1)+ 4*Сред(ИНН,2,1)+ 10*Сред(ИНН,3,1)+ 3*Сред(ИНН,4,1)+ 5*Сред(ИНН,5,1)+ 9*Сред(ИНН,6,1)+ 4*Сред(ИНН,7,1)+ 6*Сред(ИНН,8,1)+ 8*Сред(ИНН,9,1); ВычисленноеКонтрольноеЗначение = ""+(СуммаРазрядов % 11) % 10; Если ВычисленноеКонтрольноеЗначение <> КонтрольнаяСтрока Тогда Возврат "Ошибка в ИНН!"; КонецЕсли; ИначеЕсли СтрДлина(ИНН)=12 Тогда КонтрольнаяСтрока = Прав(ИНН,2); СуммаРазрядов = 7*Сред(ИНН,1,1)+ 2*Сред(ИНН,2,1)+ 4*Сред(ИНН,3,1)+ 10*Сред(ИНН,4,1)+ 3*Сред(ИНН,5,1)+ 5*Сред(ИНН,6,1)+ 9*Сред(ИНН,7,1)+ 4*Сред(ИНН,8,1)+ 6*Сред(ИНН,9,1)+ 8*Сред(ИНН,10,1); СуммаРазрядов1 = (СуммаРазрядов % 11) % 10; СуммаРазрядов2 = 3*Сред(ИНН,1,1)+ 7*Сред(ИНН,2,1)+ 2*Сред(ИНН,3,1)+ 4*Сред(ИНН,4,1)+ 10*Сред(ИНН,5,1)+ 3*Сред(ИНН,6,1)+ 5*Сред(ИНН,7,1)+ 9*Сред(ИНН,8,1)+ 4*Сред(ИНН,9,1)+ 6*Сред(ИНН,10,1)+ 8*СуммаРазрядов1; ВычисленноеКонтрольноеЗначение = ""+СуммаРазрядов1+(СуммаРазрядов2 % 11) % 10; Если ВычисленноеКонтрольноеЗначение <> КонтрольнаяСтрока Тогда Возврат "Ошибка в ИНН!"; КонецЕсли; Иначе Возврат "Ошибочная длина ИНН!"; КонецЕсли; КонецФункции |
|||
7
aka AMIGO
19.05.12
✎
19:20
|
а здесь - менее кривая ф-ция:
Функция Валид() //ИНН = СокрЛП(ИНН); Если СтрДлина(СокрЛП(ИНН))=10 Тогда КонтрольнаяСтрока = Прав(СокрЛП(ИНН),1); СуммаРазрядов = 2*Сред(ИНН,1,1)+ 4*Сред(ИНН,2,1)+ 10*Сред(ИНН,3,1)+ 3*Сред(ИНН,4,1)+ 5*Сред(ИНН,5,1)+ 9*Сред(ИНН,6,1)+ 4*Сред(ИНН,7,1)+ 6*Сред(ИНН,8,1)+ 8*Сред(ИНН,9,1); ВычисленноеКонтрольноеЗначение = ""+(СуммаРазрядов % 11) % 10; Если ВычисленноеКонтрольноеЗначение <> КонтрольнаяСтрока Тогда Возврат "Ошибка в контрольном разряде ИНН!"; КонецЕсли; Возврат ""; ИначеЕсли СтрДлина(СокрЛП(ИНН))=12 Тогда КонтрольнаяСтрока = Прав(СокрЛП(ИНН),2); СуммаРазрядов = 7*Сред(ИНН,1,1)+ 2*Сред(ИНН,2,1)+ 4*Сред(ИНН,3,1)+ 10*Сред(ИНН,4,1)+ 3*Сред(ИНН,5,1)+ 5*Сред(ИНН,6,1)+ 9*Сред(ИНН,7,1)+ 4*Сред(ИНН,8,1)+ 6*Сред(ИНН,9,1)+ 8*Сред(ИНН,10,1); СуммаРазрядов1 = (СуммаРазрядов % 11) % 10; СуммаРазрядов2 = 3*Сред(ИНН,1,1)+ 7*Сред(ИНН,2,1)+ 2*Сред(ИНН,3,1)+ 4*Сред(ИНН,4,1)+ 10*Сред(ИНН,5,1)+ 3*Сред(ИНН,6,1)+ 5*Сред(ИНН,7,1)+ 9*Сред(ИНН,8,1)+ 4*Сред(ИНН,9,1)+ 6*Сред(ИНН,10,1)+ 8*СуммаРазрядов1; ВычисленноеКонтрольноеЗначение = ""+СуммаРазрядов1+(СуммаРазрядов2 % 11) % 10; Если ВычисленноеКонтрольноеЗначение <> КонтрольнаяСтрока Тогда Возврат "Ошибка в контрольном разряде ИНН!"; КонецЕсли; Возврат ""; Иначе Возврат "Ошибочная длина ИНН!"; КонецЕсли; КонецФункции |
|||
8
aka AMIGO
19.05.12
✎
19:22
|
+ если этот гкод очистить от мусора и причесать - вполне сойдет для проверки
только это для 7. в 8-ку не писал такое, нет понтов |
|||
9
Armando
19.05.12
✎
22:26
|
В БСП есть модуль РегламентированныеДанныеКлиентСервер с функциями для проверок ИНН, КПП, ОГРН и пр.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |