1.
SvetaBr
28.03.24 12:00
Сейчас в теме
Добрый день!
Поставили задачу, перед созданием счета контрагенту проверять его данные через сервис ЕГРЮЛ, и если данные отличаются программно обновлять.
* Счет так же создается программно.
По сути нужно обратиться к коду который скрыт под кнопкой "Заполнить по ИНН" в справочнике Контрагенты.
Но переписывать данные контрагента только если хотя бы один параметр отличается.
Так же если по ИНН не нашли контрагента в базе , его необходимо создать программно , программно создать договор номер банковского счета , все данные для этого есть в поступающих данных , ИНН , БИК , номер счета.
Никаких ручных манипуляций не предусмотрено, все автоматически - программно.
1) Обратиться в ЕГРЮЛ по ИНН и получить все данные в некоторую структуру
2) Если контрагент найдет в базе сравнить полученные данные с данными по текущему контрагенты
3) Если данные отличаются записать по контрагенту только измененные данные , если данные не отличаются не записывать
4) Если контрагент в базе не найдет, программно создать его по данным из ЕГРЮЛ , создать договор в справочнике договора , создать номер счета в справочнике счета , все данные для этого есть в поступающих данных.
5) если контрагент не найден в ЕГРЮЛ сообщение о ошибке
Нашла две функции которые возвращают полные данные из ЕГРЮЛ
предварительно самостоятельно определить какую вызывать по длине ИНН 10 или 12
1) Юл // ИНН длина 10
СведенияОКонтрагенте = РаботаСКонтрагентами.СведенияОЮридическомЛицеПоИНН(ИННОбъекта);
2) ИП // ИНН длина 12
СведенияОКонтрагенте = РаботаСКонтрагентами.РеквизитыПредпринимателяПоИНН(ИННОбъекта);
на выходе получаемя полные данные из ЕГРЮЛ
СведенияОКонтрагенте.ЕГРЮЛ
Далее нужно сравнить данные по контрагенту.
Есть ли какие то подводные камни в выбранном алгоритме ?
* Бухгалтерия предприятия КОРП, редакция 3.0 (3.0.149.18)