Обработка проверяет ИНН в справочниках Контрагенты и Физические лица на:
• пустые значения;
• длину (в зависимости от юр. или физ. лицо)
• соответствие контрольным разрядам;
• наличие символов НЕ цифра;
• пустые значения;
• длину (в зависимости от юр. или физ. лицо)
• соответствие контрольным разрядам;
• наличие символов НЕ цифра;
- При открытии обработки по умолчанию выполняется проверка для справочника Контрагенты. Заполняются две таблицы: «Контрагенты с пустыми ИНН» и «Контрагенты с не правильными ИНН» (см. картинку 1).
- Для выбора нужного справочника: Физические лица – снять флажок «Обработка справочника…», Контрагенты – установить флажок «Обработка справочника…» (см. картинку 2).
- В таблицы выводятся: Код контрагента (физ. лица), ссылка, по которой можно открыть выбранный элемент справочника для просмотра (или редактирования), в таблице «Контрагенты с не правильными ИНН» дополнительно выводятся признак ЮрФизЛицо, ИНН, Примечание.
- В колонке Примечание описание, почему ИНН не правильный (см. картинку 3).
- Строки, в которых ИНН содержит символы отличные от цифры, и где ИНН прошел проверку контрольных разрядов, но неверно выбран признак ЮрФизЛицо, дополнительно подсвечиваются цветом.
- Кнопка «Обновить» предназначена для того, что бы обновить исходные данные в случае, если было редактирование ИНН какого-либо элемента справочника.
Проверено на платформе: 1С:Предприятие 8.2 (8.2.13.205). Конфигурации: «Комплексная автоматизация, редакция 1.1», «Бухгалтерия предприятия, редакция 2.0» ,«Управление торговлей, редакция 10.3»
P.S. Для Управления торговлей проверяется только справочник Контрагенты (ИНН для Физ. лиц не используется…)
15.05.2024. Внесены изменения в обработку.
- Добавлена возможность работы обработки в конфигурации ЗУП 2.5 (обработка ломалась по причине отсутствия в справочнике Контрагенты реквизита «ЮрФизЛицо»).
- Исправлена ошибка, возникающая при проверке ИНН на наличие не цифры.
- По просьбе пользователя b-dm добавлена возможность проверки справочника Контрагенты с отбором по Группе Контрагентов (см. картинку 4).
- Добавлена возможность при проверке ИНН в справочнике Контрагенты с отбором по Группе Контрагентов проверять Контрагентов как в выбранной группе (Без иерархии), так и во всех вложенных группах выбранной (В иерархии) (см. картинку 5).
- Добавлен подсчет времени обработки выбранного справочника.
Обработка проверяет ИНН в справочниках Контрагенты и Физические лица на:
• пустые значения;
• длину (в зависимости от юр. или физ. лицо)
• соответствие контрольным разрядам;
• наличие символов НЕ цифра;
Перейти к публикации
Автор, а можно ссылку на методические материалы, согласно которым ИНН проверяется? Мне важно и нужно для своей задачи, хочу свериться с вами.
(1) Смотрел здесь:
kontragent.info
Спасибо за интересную обработку
(3) Приятно если пригодилась 🙂
(2) Спасибо преогромное!
(5) А сама обработка не пригодилась? Нужна была только методика?
(6) Да, у меня другая задача — распознание платежей. Как известно, в назначении платежа могут написать любую муть, в качестве р/с плательщика может быть не тот, что сопоставлен юрлицу, и так далее. ИНН будет дополнительным фактором уточнения — так хотя бы можно понять, чей это ИНН — плательщика или банковского подразделения.
(8) но только в случае, если плательщик ФизЛицо 🙂
полезная обработка
(10) Спасибо. Если обработка в чем-то пригодилась, дык плюсаните, мелочь а приятно 🙂
Обработку не смотрел. Раньше бы пригодилась, а так уже вписал свою проверку при записи контрагента
Считаю, что обработка полезна для любой организации как дополнительный способ прорверки добросовестности Контрагентов по ИНН.
а я вот встречал реальные ИНН, у которых контрольные суммы не совпадают. ИНН реальных юр. лиц, выданные налоговой. Нонсенс — согласен. Так как в этом случае быть?
(14) Чудеса… Придумывают правила, что бы потом их нарушать… В обработке не вывожу «правильные разряды». Считаю если что-то не срослось проверить можно только по реальному документу.
прецедент был как раз по поводу не прошедшего ИНН при вводе клиента, с которым пытались заключить сделку. Мне тогда предъявили копию свидетельства регистрации, и мне пришлось для этого клиента закрыть проверку ИНН. Вот такая история (((
(16) Видимо исходя из подобных прецедентов в конфах Комплексная автоматизация и Управление торговлей проверки на контрольный разряд нет…
Думаю уж совсем без проверки нельзя. Ваша обработка как раз для этого и подходит.
(18) Спасибо. Вообщем-то и делалась для того, что бы усомниться в правильности ввода ИНН и, на всякий случай, провериться по первоисточнику. 🙂
Все норм, чуток рефакторинга можно провести.
Но есть один момент про последний блок кода (уникальность ИНН):
Если в базе будут использовать ограничение на уровне записи (ака РЛС), и в качестве объекта выберут «Контрагенты», то задвоение ИНН станет реальностью 🙂
Я, для того, чтоб избежать сей ситуации, контроль уникальности ИНН провожу под полными правами, выдавая пользователю имена существующих в базе контрагентов.
Вообще в типовых через ж.. сделаны механизмы получения/контроля данных под РЛС (и 1С в курсе, только им пох…). Попытайтесь наложить РЛС на динамический тип цен 😉
Строку 149 в основной форме обработки надо включить в блок исключения.
Вместо:
Надо:
Или сначала посчитать сумму переменной Сум2, а Сум уже можно без блока исключения.
Тестировал на 1С: Управление строительной организацией, редакция 1.3 (1.3.32.3)
очень полезная обработка)
а зачем приоткрытии начинать все делать ?)и видимо не предусмотрено что может быть забито нечислово значение, т.к. у меня в базе вышла ошибка:
{Форма.Форма.Форма(149)}: Преобразование значения к типу Число не может быть выполнено
Для Сч = 0 По 10 Цикл Сум2 = Сум2 + Сред(ИНН, Сч+1, 1) * Множители[Сч]; КонецЦикла;
(23) b-dm, напишите, на каком ИНН ломается.
(24) как это вычислить ?
ИНН:5256037792/5
(25) b-dm, попробуйте посмотреть отладчиком. Вообще-то проверка на число реализована в Попытке, если строку невозможно преобразовать в число в Исключении формируется соответствующее сообщение. Только что проверил на своей базе, см. картинку, все Ок…
лучше бы в обработке такое сделать предупреждение чтобы когда вылетала писала бы номер ИНН.
(28) b-dm, Да, на самом деле на таком странном ИНН (5256037792/5) обработка сломалась и у меня… Будет свободное время посмотрю сегодня/завтра.
а можно при старте делать проверку не сразу на всех, а на группу например ? У нас такое количество контрагентов, что задача с обработкой висит уже минут 20, если не умерла…
(30) b-dm, сколько у Вас контрагентов, если не секрет?
175 000
(32) b-dm, Да, до фига!… Ок, будет свободное время(сегодня/завтра), допишу.
ИНН:2311024488**
(34) b-dm, да я уже понял. Для того, что бы определить есть ли не цифры в ИНН использовал Ф. Число(ИНН), полагаясь на описание:
Значение типа Строка преобразуется в число в том случае, если параметр является строковым представлением литерала численного типа. При этом строковое представление анализируется как с учетом региональных установок информационной базы, так и без их учета. В противном случае будет выдано сообщение об ошибке выполнения функции.
Получается у меня неверное представление о Литерале численного типа… :(((
Спасибо за внимание к моим пожеланиям, буду ждать обновленную версию!
Видимо её не будет 🙂