Форум ДИЦ

Пользовательский и Дилерский форум ДИЦ
Текущее время: Пн мар 25, 2019 7:20 am

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 63 ]  На страницу Пред.  1, 2, 3, 4, 5
Автор Сообщение
 Заголовок сообщения: Re: Заполнение Контрагента по ИНН
СообщениеДобавлено: Ср окт 31, 2018 9:42 am 
Не в сети

Зарегистрирован: Пн мар 29, 2004 11:50 pm
Сообщения: 6724
Откуда: Новороссийск
storm писал(а):
Попробовал - сразу заработал без доработок.

Может, выложишь повторно работающий код? Ну, чтобы не искать и не перебирать... :)

_________________
Ян Терновский, Новороссийск


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: Заполнение Контрагента по ИНН
СообщениеДобавлено: Ср окт 31, 2018 10:37 am 
Не в сети

Зарегистрирован: Пт апр 16, 2004 5:11 pm
Сообщения: 6835
Откуда: OpenFly Soft Technology, Москва
Код:
  func ЗагрузкаПоИНН(rec:базовый.данные.субъект;БезАдреса:integer=0):string;
   VAR sHTTPЗапрос        :String;
   VAR хHTTP              :Variant;
   var ТекстЗапроса:String;
   VAR iИНН               :Integer;

   func ВзятьЗначение(пер:строка):строка;
    var i:integer;
    var lok:строка;
      i=поз(пер,ТекстЗапроса);
      lok=подстр(ТекстЗапроса,i+длина(пер),999999999);
      i=поз('","',lok);
      Result =подстр(lok,1,i);
      Result=подстр(Result,2,длина(Result)-2);
   end;

  with rec do
    iИНН=Length(ИНН);
    IF Not iИНН In [10,12] THEN
      result=result+" "+'Проверь ИНН';
      Return;
    END;

      sHTTPЗапрос="https://sbis.ru/contragents/"+ИНН;
      хHTTP = AutoObject.Create("Msxml2.XMLHTTP.6.0");
      хHTTP.open ("GET", sHTTPЗапрос, False);
      хHTTP.send;
      ТекстЗапроса=хHTTP.responseText;
      if поз("error",ТекстЗапроса)>0 then
         seterror(0,"По такому ИНН нет контрагентов!");
      иначе
        сис2.функциидокумента.recordedit(rec);
        Имя             =ВзятьЗначение('"Название":');
        try
        rec.SetField("ИмяДляСортировки",Имя);
        исключение
        конец;
        if iИНН In [10] then
          Имя             =Trim(ExtractWord(Имя,2,','))+' "'+Trim(ExtractWord(Имя,1,','))+'"';
          ПолнИмя         =СИС2.СтроковыеФункции.ЗаменитьвСтроке(ВзятьЗначение('"НазваниеПолное":'),'\\','');
          КодПричины      =ВзятьЗначение('"КПП":');
          ОГРН            =ВзятьЗначение('"ОГРН":');
          ОКПО            =ВзятьЗначение('"ОКПО":');
          АльтИмя   =Имя;
          ИмяДляПФР =Имя;
          Контрагент=True;            ТипКонтрагента=0;
        иначе
          Имя             =Trim(ExtractWord(Имя,2,','))+' '+Trim(ExtractWord(Имя,1,','))+'';
          ПолнИмя         ="Индивидуальный предприниматель "+ВзятьЗначение('"НазваниеПолное":');
          ОГРНИП          =ВзятьЗначение('"ОГРН":');
          АльтИмя   =Имя;
          ИмяДляПФР =Имя;
          IF Фамилия.Count=0 THEN                                             -- Если нет строк (новая запись)
            Фамилия    [01.01.1900]=ExtractWord(Имя,2);
            ИмяСубъекта[01.01.1900]=ExtractWord(Имя,3);
            Отчество   [01.01.1900]=ExtractWord(Имя,4);
            Инициалы   =ExtractWord(Имя,3)[1]+'.'+ExtractWord(Имя,4)[1]+'.';
          END;
          Контрагент=True;            ТипКонтрагента=1;
          ФизическоеЛицо=True;        ФизЛицо=rec;
          IF ДатаРождения<01.01.1900 THEN ДатаРождения=01.01.1900; END;       -- Обхожу стандартную проверку
          IF Пол=0 THEN Пол=1; END;                                           -- Обхожу стандартную проверку
        end;
        ИНН             =ВзятьЗначение('"ИНН":');
        КраткоеИмя      =Имя;
        ОКВЭД           =ВзятьЗначение('"ОсновнойОКВЭД":');
        ЮрАдрес         =ВзятьЗначение('"Адрес":');
        АдресПочтовый   =ЮрАдрес;
        Адрес           =ЮрАдрес;
        Рук_ФИО         =ВзятьЗначение('"ДиректорФИО":');
        Рук_Должн       =ВзятьЗначение('"ДиректорДолжность":');

      end;
   end;
  end;

_________________
www.TurboFlyERP.ru


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: Заполнение Контрагента по ИНН
СообщениеДобавлено: Ср мар 13, 2019 3:43 pm 
Не в сети

Зарегистрирован: Пн мар 29, 2004 11:50 pm
Сообщения: 6724
Откуда: Новороссийск
https://www.rusprofile.ru/egrul?ogrn=1057746684522 - вот я еще нашел сайт. Бесплатный, вроде...

_________________
Ян Терновский, Новороссийск


Вернуться к началу
 Профиль Отправить личное сообщение  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 63 ]  На страницу Пред.  1, 2, 3, 4, 5

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB