2 в 1: Проверить действительность паспорта / Получить ИНН по паспорту
Платформа 1С v8.3
Управляемые формы
1С:ERP Управление предприятием 2
1С:Бухгалтерия 3.0
1С:Зарплата и Управление Персоналом 3.x
Представляю вашему вниманию внешнюю обработку заполнения элемента справочника "Физические лица".
Обработка выполнена с использованием API (для работы необходим доступ в интернет), содержит полностью открытый код и 2 команды: Проверка документа, удостоверяющего личность, в списке недействительных паспортов и Заполнение ИНН по паспортным данным.
Обработка выполнена с использованием API (для работы необходим доступ в интернет), содержит полностью открытый код и 2 команды: Проверка документа, удостоверяющего личность, в списке недействительных паспортов и Заполнение ИНН по паспортным данным.
Комментарии
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
(3) Его не существует. Нашёл на одном форуме информацию, что можно через "Инструменты разработчика" в браузере проанализировать, что передаётся в POST-запросе, как посмотреть ответ и т.п. Дальше - свободное творчество.
Проверку ФМС позаимствовал в конфигурации "1С:Управление МФО и КПК". К API этого сервиса, вероятно, есть какая-то документация.
Проверку ФМС позаимствовал в конфигурации "1С:Управление МФО и КПК". К API этого сервиса, вероятно, есть какая-то документация.
а я всегда пишу подключаемые обработки чтобы их можно было запустить через файл-открыть и при этом не было пустой формы :)
тем более что это совсем несложно сделать. Ссылку на физика на форму и пару кнопок.
Теперь по существу:
ERP 2.4.2, 8.3.10.
- если без заполненных данных о паспорте нажать "Получить ИНН" то вылетит ошибка "Преобразование значения к типу Число не может быть выполнено" в Форма(167) потому что тогда Серия=null, и вместо СтруктураДанныхФЛ.Серия + " " + СтруктураДанныхФЛ.Номер лучше было бы написать "" + СтруктураДанныхФЛ.Серия + " " + СтруктураДанныхФЛ.Номер.
- при ошибке соединения с service.nalog.ru (Форма(208)) лучше было бы не использовать Попытку-Исключение без какого-то сообщения пользователю о причинах этой ошибки. Пока я не вывел там Сообщить(ОписаниеОшибки()) я не узнал что, например, дата рождения это обязательный реквизит для обращения.
- ну и как-то сигнализировать пользователю о результате заполнения. Потому что сейчас неясно, то ли ИНН получен такой же как и был указан, то ли не получен совсем. И в том и в том случае визуальный результат одинаков.
- если ФМС на запрос о проверке паспорта возвращает ответ "Не действителен (ЗАМЕНЕН НА НОВЫЙ)" то это интерпретируется в сообщение "Указаны некорректные паспортные данные". Не знаю насколько смысл этих фраз аналогичен, но лучше было бы возвратить ровно тот же ответ что и ФМС.
- отличие "(:" от ":)" это что, проверка на внимательность? Или чтоб не расстраивать владельцев недействительных паспортов, выдавая им ответ "успешно"?
А в общем -- вроде работает, спасибо. :)
тем более что это совсем несложно сделать. Ссылку на физика на форму и пару кнопок.
Теперь по существу:
ERP 2.4.2, 8.3.10.
- если без заполненных данных о паспорте нажать "Получить ИНН" то вылетит ошибка "Преобразование значения к типу Число не может быть выполнено" в Форма(167) потому что тогда Серия=null, и вместо СтруктураДанныхФЛ.Серия + " " + СтруктураДанныхФЛ.Номер лучше было бы написать "" + СтруктураДанныхФЛ.Серия + " " + СтруктураДанныхФЛ.Номер.
- при ошибке соединения с service.nalog.ru (Форма(208)) лучше было бы не использовать Попытку-Исключение без какого-то сообщения пользователю о причинах этой ошибки. Пока я не вывел там Сообщить(ОписаниеОшибки()) я не узнал что, например, дата рождения это обязательный реквизит для обращения.
- ну и как-то сигнализировать пользователю о результате заполнения. Потому что сейчас неясно, то ли ИНН получен такой же как и был указан, то ли не получен совсем. И в том и в том случае визуальный результат одинаков.
- если ФМС на запрос о проверке паспорта возвращает ответ "Не действителен (ЗАМЕНЕН НА НОВЫЙ)" то это интерпретируется в сообщение "Указаны некорректные паспортные данные". Не знаю насколько смысл этих фраз аналогичен, но лучше было бы возвратить ровно тот же ответ что и ФМС.
- отличие "(:" от ":)" это что, проверка на внимательность? Или чтоб не расстраивать владельцев недействительных паспортов, выдавая им ответ "успешно"?
А в общем -- вроде работает, спасибо. :)
Опубликовал обновленную версию обработки.
В исправленной версии учтены все замечания Александра Полетаева. Спасибо ему ещё раз!
В том числе уточнен метод оповещения о недействительном паспорте.
Теперь, если паспорт "Не действителен", пользователю выдаётся предупреждение в виде форматированной красной строки типа
"Не действителен (ЗАМЕНЕН НА НОВЫЙ)", "Не действителен (ИЗЪЯТ, УНИЧТОЖЕН)" ,"Не действителен (ЧИСЛИТСЯ В РОЗЫСКЕ)" и т.п.
В предыдущей версии ответ сервера зачастую интерпретировался некорректно, выдавая сообщение об успешной проверке.
Как писал ранее, эта часть проверки была позаимствована в конфигурации "1С:Управление МФО и КПК". И до сегодняшнего дня детально проверить её не было возможности.
В исправленной версии учтены все замечания Александра Полетаева. Спасибо ему ещё раз!
В том числе уточнен метод оповещения о недействительном паспорте.
Теперь, если паспорт "Не действителен", пользователю выдаётся предупреждение в виде форматированной красной строки типа
"Не действителен (ЗАМЕНЕН НА НОВЫЙ)", "Не действителен (ИЗЪЯТ, УНИЧТОЖЕН)" ,"Не действителен (ЧИСЛИТСЯ В РОЗЫСКЕ)" и т.п.
В предыдущей версии ответ сервера зачастую интерпретировался некорректно, выдавая сообщение об успешной проверке.
Как писал ранее, эта часть проверки была позаимствована в конфигурации "1С:Управление МФО и КПК". И до сегодняшнего дня детально проверить её не было возможности.
Добавил версию для УТ 11. Протестировал на релизе 11.4.3.126.
Основной файл при запуске обработки выдавал ошибку в этой конфигурации. Решил внести изменения, учитывающие особенности УТ, и выложить в виде отдельного файла.
Основной файл при запуске обработки выдавал ошибку в этой конфигурации. Решил внести изменения, учитывающие особенности УТ, и выложить в виде отдельного файла.
(13)
Да, всё верно. Эти онлайн сервисы требуют капчу как защиту от массовых запросов, чтобы их сервера не упали. И работоспособность предложенных инструментов, естественно, зависит от работоспособности официальных сервисов МВД/ФНС.
Правильно я понимаю что проверка производится только после ввода капчи
Да, всё верно. Эти онлайн сервисы требуют капчу как защиту от массовых запросов, чтобы их сервера не упали. И работоспособность предложенных инструментов, естественно, зависит от работоспособности официальных сервисов МВД/ФНС.
Получение ИНН не работает, потому что неверно извлекается токен капчи в методе ПолучитьКартинкуКапчиФНС модуля объекта обработки.
Должно быть:
Было:
Должно быть:
captchaToken = Сред(Картинка,23,СтрДлина(Картинка)-32);
Было:
captchaToken = Сред(Картинка,24,СтрДлина(Картинка)-33);
(23) Здравствуйте еще раз! Скачал новую версию обработки, но проблема все равно осталась - появляется на долю секунды окно с капчей и сразу пропадает. Что в ЗУПе, что в БП. релизы: ЗУП 3.1.5.353, БП 3.0.61.47. Проблема одинаковая на обоих командах - Получить ИНН с портала ФНС и проверить действительность паспорта. Отчего это может быть?
(24) Окно с капчей - это просто форма. Она открывается и пока вы её не закроете, она будет висеть открытой. Что её может закрыть, если не вы, можно попытаться понять, только сделав трассировку в отладчике. Я на типовых конфигурациях как в файловом, так и в серверном режиме, не наблюдал подобного поведения своей обработки.
(25) Здравствуйте! проверяю на 2х разных базах (типовых) на 2х разных компьютерах ЗУП 3.1.8.216 одна рабочая, другая просто демо база - из формы физ лица все работает, а из формы списка ведет как я писал выше - открывается на секунду окно с капчей и исчезает. Может ли это быть связано с какими-то настройками эксплорера например? и второй вопрос - ваша обработка предназначена для проверки только одного физ лица за 1 раз, или можно проверить сразу 10 человек?
(26) Текущая версия обработки не заточена под использование её в форме списка. В частности, сейчас получение ИНН предполагает помещение полученного значения в соответствующее поле на форме элемента справочника без принудительной записи. Проверка нескольких человек за раз в HTTP-сервисах, которые использует обработка, не предусмотрена, насколько мне известно, поэтому и обработка этого не умеет. Насчёт работы из формы списка подумаю на досуге.
Ни на ЗУП 3.1.14.55, ни на бухгалтерии 3.0.77.56 не взлетела :(
При попытке загрузить ИНН с сайта ФНС "Работников Работник Работникович - не удалось получить ИНН по данным физ.лица", при попытке проверить действительность паспорта - "Метод объекта не обнаружен "Получить данные из строки"". Буду более, чем признательна за помощь :)
При попытке загрузить ИНН с сайта ФНС "Работников Работник Работникович - не удалось получить ИНН по данным физ.лица", при попытке проверить действительность паспорта - "Метод объекта не обнаружен "Получить данные из строки"". Буду более, чем признательна за помощь :)
(38) Получение ИНН отрабатывает не в 100% случаев. Если не удалось получть, значит этих данных нет в базе ФНС, с которой работает API. В целом функционал по-прежнему работает (проверено на себе).
Проверка паспорта, действительно, поломалась в последних версиях БП. Связано это с переименованием некоторых методов в общих модулях БСП. Способы исправления: в модуле внешней обработки (строка 143) заменить
на актуальное обращение
или просто скачать версию обработки 1.4.
Проверка паспорта, действительно, поломалась в последних версиях БП. Связано это с переименованием некоторых методов в общих модулях БСП. Способы исправления: в модуле внешней обработки (строка 143) заменить
СтроковыеФункцииКлиентСервер.ПолучитьПараметрыИзСтроки
на актуальное обращение
СтроковыеФункцииКлиентСервер.ПараметрыИзСтроки
или просто скачать версию обработки 1.4.
Вакансии
Ведущий разработчик 1С / Team lead отдела разработки 1С
Москва
зарплата от 300 000 руб. до 300 000 руб.
Полный день
Москва
зарплата от 300 000 руб. до 300 000 руб.
Полный день
Аналитик-архитектор 1С ЕРП (управленческого учета)
Москва
зарплата от 300 000 руб. до 300 000 руб.
Полный день
Москва
зарплата от 300 000 руб. до 300 000 руб.
Полный день