![]() |
![]() |
![]() |
|
Контроль ИНН и ККП | ☑ | ||
---|---|---|---|---|
0
Чертеночек
07.12.10
✎
16:28
|
Ребята подскажите кто и как делал контроль ИНН и КПП, чтобы левые в базу не забивали...
|
|||
1
Irbis
07.12.10
✎
16:28
|
||||
2
Maxus43
07.12.10
✎
16:29
|
а разве его нет изначально? в типовых?
|
|||
3
Чертеночек
07.12.10
✎
16:30
|
а на 1С???
|
|||
4
Irbis
07.12.10
✎
16:31
|
(3) А какая разница, там главное алгоритм формирования контрольных цифр
|
|||
5
Maxus43
07.12.10
✎
16:32
|
ИННОрг = ?(ЮрФизЛицо = Перечисления.ЮрФизЛицо.ФизЛицо, ИндивидуальныйПредприниматель.ИНН, ИНН);
Если НЕ ПустаяСтрока(ИННОрг) И НЕ РегламентированнаяОтчетность.ИННСоответствуетТребованиям(ИННОрг, ЮрФизЛицо) Тогда Сообщить("ИНН организации задан неверно!", СтатусСообщения.Важное); Отказ = Истина; КонецЕсли; Если ЮрФизЛицо <> Перечисления.ЮрФизЛицо.ФизЛицо И Ссылка.КПП <> КПП Тогда Если НЕ ПустаяСтрока(КПП) И СтрДлина(КПП) <> 9 Тогда Сообщить("КПП организации задан неверно!", СтатусСообщения.Важное); Отказ = Истина; КонецЕсли; КонецЕсли; |
|||
6
Чертеночек
07.12.10
✎
16:32
|
(2) нет там только на длину проверка и на то, чтобы одинаковых не было...
|
|||
7
Maxus43
07.12.10
✎
16:34
|
(6) ТОгда будем копипастить
РегламентированнаяОтчетность.ИННСоответствуетТребованиям Функция ИННСоответствуетТребованиям(Знач ИНН, Знач ТипЛица) Экспорт ИНН = СокрЛП(ИНН); ДлинаИНН = СтрДлина(ИНН); Если НЕ ОбщегоНазначения.ТолькоЦифрыВСтроке(ИНН) Тогда Возврат Ложь; КонецЕсли; Если Метаданные.Перечисления.Найти("ЮрФизЛицо") = Неопределено Тогда ПроверяетсяИННФизЛица = ТипЛица; Иначе ПроверяетсяИННФизЛица = (ТипЛица = Истина ИЛИ ТипЛица = Перечисления.ЮрФизЛицо.ФизЛицо); КонецЕсли; Если ДлинаИНН = 10 И НЕ ПроверяетсяИННФизЛица Тогда КонтрольнаяСумма = 0; Для Н = 1 По 9 Цикл Если Н = 1 Тогда Множитель = 2; ИначеЕсли Н = 2 Тогда Множитель = 4; ИначеЕсли Н = 3 Тогда Множитель = 10; ИначеЕсли Н = 4 Тогда Множитель = 3; ИначеЕсли Н = 5 Тогда Множитель = 5; ИначеЕсли Н = 6 Тогда Множитель = 9; ИначеЕсли Н = 7 Тогда Множитель = 4; ИначеЕсли Н = 8 Тогда Множитель = 6; ИначеЕсли Н = 9 Тогда Множитель = 8; КонецЕсли; Цифра = Число(Сред(ИНН,Н,1)); КонтрольнаяСумма = КонтрольнаяСумма + Цифра * Множитель; КонецЦикла; КонтрольныйРазряд = (КонтрольнаяСумма %11) %10; Если КонтрольныйРазряд <> Число(Сред(ИНН,10,1)) Тогда Возврат Ложь; КонецЕсли; ИначеЕсли ДлинаИНН =12 И ПроверяетсяИННФизЛица Тогда КонтрольнаяСумма11 = 0; КонтрольнаяСумма12 = 0; Для Н=1 По 11 Цикл // Расчет множителя для 11-го и 12-го разрядов Если Н = 1 Тогда Множитель11 = 7; Множитель12 = 3; ИначеЕсли Н = 2 Тогда Множитель11 = 2; Множитель12 = 7; ИначеЕсли Н = 3 Тогда Множитель11 = 4; Множитель12 = 2; ИначеЕсли Н = 4 Тогда Множитель11 = 10; Множитель12 = 4; ИначеЕсли Н = 5 Тогда Множитель11 = 3; Множитель12 = 10; ИначеЕсли Н = 6 Тогда Множитель11 = 5; Множитель12 = 3; ИначеЕсли Н = 7 Тогда Множитель11 = 9; Множитель12 = 5; ИначеЕсли Н = 8 Тогда Множитель11 = 4; Множитель12 = 9; ИначеЕсли Н = 9 Тогда Множитель11 = 6; Множитель12 = 4; ИначеЕсли Н = 10 Тогда Множитель11 = 8; Множитель12 = 6; ИначеЕсли Н = 11 Тогда Множитель11 = 0; Множитель12 = 8; КонецЕсли; Цифра = Число(Сред(ИНН,Н,1)); КонтрольнаяСумма11 = КонтрольнаяСумма11 + Цифра * Множитель11; КонтрольнаяСумма12 = КонтрольнаяСумма12 + Цифра * Множитель12; КонецЦикла; КонтрольныйРазряд11 = (КонтрольнаяСумма11 %11) %10; КонтрольныйРазряд12 = (КонтрольнаяСумма12 %11) %10; Если КонтрольныйРазряд11 <> Число(Сред(ИНН,11,1)) ИЛИ КонтрольныйРазряд12 <> Число(Сред(ИНН,12,1)) Тогда Возврат Ложь; КонецЕсли; Иначе Возврат Ложь; КонецЕсли; Возврат Истина; КонецФункции |
|||
8
IamAlexy
07.12.10
✎
16:35
|
я на ИС выкладывал генератор ИнН и КПП которые "левые" но проверки проходят.. так что - либо подключай ЕГРЮЛ либо забей.
|
|||
9
Чертеночек
07.12.10
✎
16:35
|
(4) ха круто... у нас нифига не вызыватся эта функция....((( пипец
|
|||
10
Чертеночек
07.12.10
✎
16:36
|
Ребята спасибо)))
чтобы я без вас делала))) |
|||
11
Maxus43
07.12.10
✎
16:44
|
(10) имела бы более достойную и прибыльную работу...)
|
|||
12
andrewks
07.12.10
✎
16:58
|
(7) вот это изврат!!! вот уж точно - доступно и всерьёз. я сам писал, по описанию контрольного механизма в ИНН
|
|||
13
Maxus43
07.12.10
✎
16:58
|
(12) это типовое из УПП)
|
|||
14
Mikeware
07.12.10
✎
16:59
|
(11) ровно вдвое более прибыльную!
|
|||
15
Mikeware
07.12.10
✎
17:00
|
(12) делать что-то самостоятельно при наличии интернета - плохой тон.
|
|||
16
andrewks
07.12.10
✎
17:00
|
(13) я понял, я к ним и адресовал
|
|||
17
Irbis
07.12.10
✎
17:01
|
(12) а у нас еще и ОКПО, ОГРН и еще много каких кодов контролируется (ж/д станции, номера вагонов и т. п. ерунда)
|
|||
18
andrewks
07.12.10
✎
17:01
|
(17) агась!
|
|||
19
Maxus43
07.12.10
✎
17:05
|
(17) В УПП они тоже контролируются, функции контроля в том же общем модуле все
|
|||
20
Irbis
07.12.10
✎
17:07
|
(19) Я на УПП даже не смотрел, и БП у нас насяльника сопровождает.
|
|||
21
Maxus43
07.12.10
✎
17:08
|
(20) ну щас знаеш откуда тырить готовое)
|
|||
22
Irbis
07.12.10
✎
17:09
|
(21) Поздняк уже, сам все когда-то давно нашел, закодил. Теперь уже и неинтересно.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |