Каталог решений - Примеры вызова в 1С методов API до реестров открытой части Электронного кабинета налогоплательщика (Украина)

Примеры вызова в 1С методов API до реестров открытой части Электронного кабинета налогоплательщика (Украина)

Примеры вызова в 1С методов API до реестров открытой части Электронного кабинета налогоплательщика (Украина)

В наличии

Примеры вызова в 1С методов API до реестров открытой части Электронного кабинета налогоплательщика, Украина.
Тестирование проводил на 1С:Предприятие 8.3 (8.3.10.2561).

Категория:

Описание

Доброго времени суток, уважаемые читатели!

Я хотел бы поделиться опытом использования API Электронного кабинета налогоплательщика для Украины. Документация API написана, на мой взгляд, не очень понятно и с некоторыми ошибками. Когда разбирался, то потерял кучу времени. По этому примеры вызова методов решил выложить на Инфостарте.

На текущий момент использую два метода. Чтобы использовать эти методы, необходимо в Настройках  личного кабинета налогоплательщика зарегистрировать себе Токен. Токен имеет ограничение по периоду 3 месяца и на получение 1000 запросов в день.

   1. Получение информации по ПРРО (программный РРО)

  // Описание: Метод возвращает информацию по зарегистрированному ПРРО
  //
  // Параметры:
  //  СтруктураПараметров    - Структура - 
  //							СтруктураПараметров.ИНН - КодПоЕДРПОУ Юр/Физ лица; 
  //							СтруктураПараметров.ФН_кассы - Фискальный номер ПРРО кассы
  //
  // Возвращаемое значение:
  //  ОтветHTTP - HTTPОтвет на запрос
  // 	Пример ответа
  //{
  //    "DATA": [
  //        {
  //            "N_FIS": 4099999999,
  //            "D_REG": "03.06.2021",
  //            "D_SKS": null,
  //            "SKS_REASON": null,
  //            "ADDRESS": "УКРАЇНА, ЧЕРНIВЕЦЬКА ОБЛ., ....."
  //        },
  //        {
  //            "N_FIS": 4099999998,
  //            "D_REG": "18.05.2021",
  //            "D_SKS": null,
  //            "SKS_REASON": null,
  //            "ADDRESS": "УКРАЇНА, М.КИЇВ ОБОЛОНСЬКИЙ Р-Н, ...."
  //        }
  //    ],
  //    "FULL_NAME": "ИВАНОВ ИВАН ИВАНОВИЧ",
  //    "TIN_S": "**********"
  //} 
  Функция ИнформацияПроПРРО(СтруктураПараметров) Экспорт
  	
  	АдресСервера = "cabinet.tax.gov.ua";
  	
  	ИНН = СтруктураПараметров.ИНН;
  	ФН_кассы = СтруктураПараметров.ФН_кассы;  	
  	Токен	= "111111"; //ОбщиеФункции.ПолучитьЗначениеКонстанты("ТокенДФС");
  	
  	СтруктураЗапроса = Новый Структура;
  	СтруктураЗапроса.Вставить("tins", ИНН); //Обязательный. Передается код ЕДРПОУ
  	СтруктураЗапроса.Вставить("nFis", ФН_кассы); //Не обязательный. Передается фискальный номер ПРРО, если не передвать вернет все ПРРО по Коду ЕДРПОУ
  	СтруктураЗапроса.Вставить("token", Токен); //Обязательный. Токен из личного кабинета налогоплательщика
  	//СтруктураЗапроса.Вставить("name",""); // Не обязательный. Передается название плательщика НДС
  	
  	СтрJSON = ПРРО_Checkbox.ПолучитьJSONИзСтруктуры(СтруктураЗапроса);
  	
  	Соответствие = Новый Соответствие;
  	Соответствие.Вставить("Content-Type", "application/json");
  	
  	Соединение = Новый HTTPСоединение(АдресСервера,Неопределено, Неопределено, Неопределено, Неопределено, Неопределено,  Новый ЗащищенноеСоединениеOpenSSL);
  	
  	ЗапросHTTP = Новый HTTPЗапрос("ws/api/public/registers/prro", Соответствие);
  	ЗапросHTTP.УстановитьТелоИзСтроки(СтрJSON, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);
  
  	ОтветHTTP = Соединение.ВызватьHTTPМетод("POST", ЗапросHTTP);
  		
  	Возврат ОтветHTTP;
  	
  КонецФункции //ИнформацияПроПРРО 
  

   2. Поиск фискального чека в Государственной фискальной службе

  // Описание: Поиск фискального чека на сервере Налоговой по Фискальному номеру и дате
  //
  // Параметры:
  //  СтруктураПараметров    - Структура - 
  //							СтруктураПараметров.Дата - (Дата) Дата чека; 
  //							СтруктураПараметров.ФискальныйНомерЧека - (Строка) Фискальный номер чека
  //
  // Возвращаемое значение:
  //  ОтветHTTP - HTTPОтвет на запрос
  // 
  Функция ПоискФискальногоЧека(СтруктураПараметров) Экспорт 
  	
  	АдресСервера = "cabinet.tax.gov.ua";
  	
  	пДата 			= СтруктураПараметров.Дата; // Дата чека
  	пФискальныйКод 	= СтруктураПараметров.ФискальныйНомерЧека; // Фискальный номер чека	
  	Токен	= "1111"; //ОбщиеФункции.ПолучитьЗначениеКонстанты("ТокенДФС"); 
  	
  	Соответствие = Новый Соответствие;
  	Соответствие.Вставить("Content-Type", "application/json");
  	
  	Соединение = Новый HTTPСоединение(АдресСервера,Неопределено, Неопределено, Неопределено, Неопределено, Неопределено,  Новый ЗащищенноеСоединениеOpenSSL);
  	ДатаОтбора = Формат(пДата, "ДФ=' yyyy-MM-dd HH:mm:ss'");
  	ЗапросHTTP = Новый HTTPЗапрос("ws/api_public/rro/chkAll?id="+пФискальныйКод+"&date="+ДатаОтбора+"&type=3&token="+Токен, Соответствие);
  	
  	ОтветHTTP = Соединение.ВызватьHTTPМетод("GET", ЗапросHTTP);
  	
  	Возврат ОтветHTTP;
  
  КонецФункции //ПоискФискальногоЧека
  

 

has been added to your cart:
Оформление заказа