1С 8.3 Загрузка Google Sheets в Таблицу значений - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

1С 8.3 Загрузка Google Sheets в Таблицу значений

Перейти в раздел примеры кода 1С 8.3:
Get-запрос к сервису Google Sheets в 1С 8.3:
Функция ЗапросHTTPGoogleSheets(TableID, SheetName, ApiKey)

   АдресРесурса = "sheets.googleapis.com";
   АдресНужнойСтраницы = "/v4/spreadsheets/"+TableID+"/values/"+SheetName+"?key="+ApiKey;

   СоединениеHTTP = Новый HTTPСоединениеHTTP(АдресРесурса,,,,,,Новый ЗащищенноеСоединениеHTTPOpenSSL());
   ЗапросHTTP = Новый HTTPЗапрос(АдресНужнойСтраницы);
   РезультатЗапроса = СоединениеHTTP.Получить(ЗапросHTTP);

   Если РезультатЗапроса.КодСостояния = 200 Тогда
       СоединениеHTTP = Новый HTTPСоединениеHTTP(АдресРесурса,,,,,,Новый ЗащищенноеСоединениеHTTPOpenSSL());
       ЗапросHTTP = Новый HTTPЗапрос(АдресНужнойСтраницы);
       РезультатЗапроса = СоединениеHTTP.Получить(ЗапросHTTP);
       ТекстЗапроса = РезультатЗапроса.ПолучитьТелоКакСтроку();
       Возврат ТекстЗапроса;
   Иначе
       Сообщение = Новый СообщениеПользователю;
       Сообщение.Текст = "Не выполнено. Код ответа: " + РезультатЗапроса.КодСостояния;
       Сообщение.Сообщить();
       Возврат "";
   КонецЕсли;

КонецФункции

СтрокаJSON = ЗапросHTTPGoogleSheets("1KRVSRJZOP4h3VJZcNM0de7rt5q", "Лист1", "ZpX921bG75");
Преобраование JSON в Таблицу значений в 1С 8.3:
//...
СтрокаJSON = ЗапросHTTPGoogleSheets("1KRVSRJZOP4h3VJZcNM0de7rt5q","Лист1","ZpX921bG75");
Если ЗначениеЗаполнено(СтрокаJSON) Тогда

   МассивСтрок = ИзJSON(СтрокаJSON).values;
   ТЗ = ПолучитьТЗ(МассивСтрок);

КонецЕсли;
//...

Функция ИзJSON(СтрокаJSON) Экспорт

   ТекБлюдоJSON = Новый ЧтениеJSON ;
   ТекБлюдоJSON.УстановитьСтроку(СтрокаJSON);

   Возврат ПрочитатьJSON(ТекБлюдоJSON);

КонецФункции

Функция ПолучитьТЗ(МассивСтрок)

   ТЗ = Новый ТаблицаЗначений;
   ТЗ.Колонки.Добавить("Блюдо", Новый ОписаниеТипов("Строка", ,Новый КвалификаторыСтроки(50)));
   ТЗ.Колонки.Добавить("Выход", Новый ОписаниеТипов("Число", ,Новый КвалификаторыЧисла(8, 0, ДопустимыйЗнак.Неотрицательный)));
   ТЗ.Колонки.Добавить("Ккал",    Новый ОписаниеТипов("Число", ,Новый КвалификаторыЧисла(5, 0, ДопустимыйЗнак.Неотрицательный)));
   ТЗ.Колонки.Добавить("СрокЧас", Новый ОписаниеТипов("Число", ,Новый КвалификаторыЧисла(3, 0, ДопустимыйЗнак.Неотрицательный)));

   ПерваяСтрока = Истина;
   Для Каждого Стр Из МассивСтрок Цикл
       Если ПерваяСтрока Или Стр[0]="" Тогда
           ПерваяСтрока = Ложь;
           Продолжить;
       КонецЕсли;
       НоваяСтрока = ТЗ.Добавить();
       НоваяСтрока.Блюдо = Стр[0];
       НоваяСтрока.Выход = Стр[1];
       НоваяСтрока.Ккал = Стр[2];
       НоваяСтрока.СрокЧас = Стр[3];
   КонецЦикла;

   Возврат ТЗ;

КонецФункции
Пример структуры файла JSON:
{
 "range": "'Лист1'!A1:Z100",
 "majorDimension": "ROWS",
 "values": [
    [
         "Блюдо",
         "Выход",
         "Ккал",
         "СрокГодностиЧ"
    ],
    [
         "Суши из форели",
         "270",
         "324",
         "2"
    ],
    [
         "Лапша фирменная",
         "300",
         "358",
         "12"
    ],
    [
       "Суп из малюсков",
         "190",
         "173",
         "4"
         ]
    ]
}
0
комментарии
____________________
Copyright©, «Программист 1С в г.Минске», 11.09.2023
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Назад к содержимому