// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os

// MIT License

// Copyright (c) 2023 Anton Tsitavets

// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:

// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.

// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.

// https://github.com/Bayselonarrend/OpenIntegrations

// Набор тестов для YAxUnit

// BSLLS:Typo-off
// BSLLS:LatinAndCyrillicSymbolInWord-off
// BSLLS:IncorrectLineBreak-off
// BSLLS:UsingServiceTag-off
// BSLLS:UnusedParameters-off
// BSLLS:DuplicateStringLiteral-off

//@skip-check undefined-variable
//@skip-check wrong-string-literal-content
//@skip-check module-structure-top-region
//@skip-check module-structure-method-in-regions
//@skip-check undefined-function-or-procedure
//@skip-check wrong-string-literal-content
//@skip-check module-unused-local-variable

// Раскомментировать, если выполняется OneScript
#Использовать oint
#Использовать asserts

#Область СлужебныйПрограммныйИнтерфейс

// Для YaxUnit

Процедура ИсполняемыеСценарии() Экспорт

    OPI_ПолучениеДанныхТестов.СформироватьТестыЯкс();

КонецПроцедуры

// Для Asserts

Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт

   Возврат OPI_ПолучениеДанныхТестов.СформироватьТестыАссертс();

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

#Область ЗапускаемыеТесты

#Область Telegram

Процедура Телеграм_ПолучитьИнформациюБота() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token", ПараметрыТеста);

    Telegram_ПолучитьИнформациюБота(ПараметрыТеста);

КонецПроцедуры

Процедура Телеграм_ПолучитьОбновления() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token", ПараметрыТеста);

    Telegram_УдалитьWebhook(ПараметрыТеста);
    Telegram_ПолучитьОбновления(ПараметрыТеста);

КонецПроцедуры

Процедура Телеграм_УстановитьWebhook() Экспорт

     ПараметрыТеста = Новый Структура;
     OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token", ПараметрыТеста);
     OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_URL"  , ПараметрыТеста);

    Telegram_УстановитьWebhook(ПараметрыТеста);
    Telegram_УдалитьWebhook(ПараметрыТеста);

КонецПроцедуры

Процедура Телеграм_ОтправитьТекстовоеСообщение() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token"    , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChatID"   , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelID", ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("String"            , ПараметрыТеста);

    Telegram_ОтправитьТекстовоеСообщение(ПараметрыТеста);

КонецПроцедуры

Процедура Телеграм_ОтправитьКартинку() Экспорт

    ПараметрыТеста = Новый Структура;
     OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token"    , ПараметрыТеста);
     OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChatID"   , ПараметрыТеста);
     OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelID", ПараметрыТеста);
     OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("String"            , ПараметрыТеста);
     OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture"           , ПараметрыТеста);

    Telegram_ОтправитьКартинку(ПараметрыТеста);
    Telegram_СкачатьФайл(ПараметрыТеста);

КонецПроцедуры

Процедура Телеграм_ОтправитьВидео() Экспорт

    ПараметрыТеста = Новый Структура;
     OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token"    , ПараметрыТеста);
     OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChatID"   , ПараметрыТеста);
     OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelID", ПараметрыТеста);
     OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("String"            , ПараметрыТеста);
     OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Video"             , ПараметрыТеста);

    Telegram_ОтправитьВидео(ПараметрыТеста);
    Telegram_СкачатьФайл(ПараметрыТеста);

КонецПроцедуры

Процедура Телеграм_ОтправитьАудио() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token"    , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChatID"   , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelID", ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("String"            , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Audio"             , ПараметрыТеста);

    Telegram_ОтправитьАудио(ПараметрыТеста);
    Telegram_СкачатьФайл(ПараметрыТеста);

КонецПроцедуры

Процедура Телеграм_ОтправитьДокумент() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token"    , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChatID"   , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelID", ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("String"            , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Document"          , ПараметрыТеста);

    Telegram_ОтправитьДокумент(ПараметрыТеста);

КонецПроцедуры

Процедура Телеграм_ОтправитьГифку() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token"    , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChatID"   , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelID", ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("String"            , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("GIF"               , ПараметрыТеста);

    Telegram_ОтправитьГифку(ПараметрыТеста);

КонецПроцедуры

Процедура Телеграм_ОтправитьМедиагруппу() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token"    , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChatID"   , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelID", ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("String"            , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture"           , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Video"             , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Document"          , ПараметрыТеста);

    Telegram_ОтправитьМеидагруппу(ПараметрыТеста);

КонецПроцедуры

Процедура Телеграм_ОтправитьМестоположение() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token"    , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChatID"   , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelID", ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Long"              , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Lat"               , ПараметрыТеста);

    Telegram_ОтправитьМестоположение(ПараметрыТеста);

КонецПроцедуры

Процедура Телеграм_ОтправитьКонтакт() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token"    , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChatID"   , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelID", ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Name"              , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Surname"           , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Phone"             , ПараметрыТеста);

    Telegram_ОтправитьКонтакт(ПараметрыТеста);

КонецПроцедуры

Процедура Телеграм_ОтправитьОпрос() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token"    , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChatID"   , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelID", ПараметрыТеста);

    Telegram_ОтправитьОпрос(ПараметрыТеста);

КонецПроцедуры

Процедура Телеграм_ПереслатьСообщение() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token"           , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChatID"          , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelID"       , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelMessageID", ПараметрыТеста);

    Telegram_ПереслатьСообщение(ПараметрыТеста);

КонецПроцедуры

Процедура Телеграм_БанРазбан() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token"           , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChatID"          , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelID"       , ПараметрыТеста);

    Telegram_Бан(ПараметрыТеста);
    Telegram_Разбан(ПараметрыТеста);

КонецПроцедуры

Процедура Телеграм_СоздатьСсылкуПриглашение() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token"    , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelID", ПараметрыТеста);

    Telegram_СоздатьСсылкуПриглашение(ПараметрыТеста);

КонецПроцедуры

Процедура Телеграм_ЗакрепитьОткрепитьСообщение() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token"           , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelID"       , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelMessageID", ПараметрыТеста);

    Telegram_ЗакрепитьСообщение(ПараметрыТеста);
    Telegram_ОткрепитьСообщение(ПараметрыТеста);
    Telegram_УдалитьСообщение(ПараметрыТеста);

КонецПроцедуры

Процедура Телеграм_ПолучитьЧислоУчастников() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token"    , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelID", ПараметрыТеста);

    Telegram_ПолучитьЧислоУчастников(ПараметрыТеста);

КонецПроцедуры

Процедура Телеграм_ПолучитьСписокАватаровФорума() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token", ПараметрыТеста);

    Telegram_ПолучитьСписокАватаровФорума(ПараметрыТеста);

КонецПроцедуры

Процедура Телеграм_СоздатьУдалитьТемуФорума() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token"  , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ForumID", ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture"         , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("String"          , ПараметрыТеста);

    Telegram_СоздатьТемуФорума(ПараметрыТеста);
    Telegram_ИзменитьТемуФорума(ПараметрыТеста);
    Telegram_ЗакрытьТемуФорума(ПараметрыТеста);
    Telegram_ОткрытьТемуФорума(ПараметрыТеста);
    Telegram_ОчиститьСписокЗакрепленныхСообщенийТемы(ПараметрыТеста);
    Telegram_УдалитьТемуФорума(ПараметрыТеста);

КонецПроцедуры

Процедура Телеграм_СкрытьПоказатьГлавнуюТему() Экспорт

     ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token"  , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ForumID", ПараметрыТеста);

    Telegram_СкрытьГлавнуюТемуФорума(ПараметрыТеста);
    Telegram_ПоказатьГлавнуюТемуФорума(ПараметрыТеста);

КонецПроцедуры

Процедура Телеграм_ИзменитьИмяГлавнойТемы() Экспорт

     ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token"  , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ForumID", ПараметрыТеста);

    Telegram_ИзменитьИмяГлавнойТемыФорума(ПараметрыТеста);

КонецПроцедуры

#КонецОбласти

#Область VK

Процедура ВК_СоздатьСсылкуТокена() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("VK_AppID", ПараметрыТеста);

    VK_СоздатьСсылкуПолученияТокена(ПараметрыТеста);

КонецПроцедуры

Процедура ВК_СоздатьУдалитьПост() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture2", ПараметрыТеста);

    VK_СоздатьПост(ПараметрыТеста);
    VK_УдалитьПост(ПараметрыТеста);

КонецПроцедуры

Процедура ВК_СоздатьСоставнойПост() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Video"   , ПараметрыТеста);

    VK_СоздатьСоставнойПост(ПараметрыТеста);

КонецПроцедуры

Процедура ВК_СоздатьОпрос() Экспорт

    VK_СоздатьОпрос();

КонецПроцедуры

Процедура ВК_СохранитьУдалитьКартинку() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста);

    VK_СоздатьАльбом(ПараметрыТеста);
    VK_СохранитьКартинкуВАльбом(ПараметрыТеста);
    VK_УдалитьКартинку(ПараметрыТеста);
    VK_УдалитьАльбом(ПараметрыТеста);

КонецПроцедуры

Процедура ВК_СоздатьИсторию() Экспорт

    ПараметрыТеста = Новый Соответствие;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста);

    VK_СоздатьИсторию(ПараметрыТеста);

КонецПроцедуры

Процедура ВК_МетодыОбсуждений() Экспорт

    ПараметрыТеста = Новый Структура;
    Параметры      = ПолучитьПараметрыВК();

    VK_СоздатьОбсуждение(ПараметрыТеста);
    VK_ЗакрытьОбсуждение(ПараметрыТеста);
    VK_ОткрытьОбсуждение(ПараметрыТеста);
    VK_НаписатьВОбсуждение(ПараметрыТеста);

    OPI_VK.ЗакрытьОбсуждение(ПараметрыТеста["VK_ConvID"], Истина, Параметры);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура ВК_ЛайкРепостКоммент() Экспорт

    ПараметрыТеста  = Новый Структура();
    Параметры       = ПолучитьПараметрыВК();
    Текст           = "Пост из автотеста";

    Результат = OPI_VK.СоздатьПост(Текст, Новый Массив, , , Параметры);
    ИДПоста   = Результат["response"]["post_id"];

    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("VK_PostID", ИДПоста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("VK_PostID", ПараметрыТеста);

    VK_ПоставитьЛайк(ПараметрыТеста);
    VK_СделатьРепост(ПараметрыТеста);
    VK_НаписатьКомментарий(ПараметрыТеста);

    OPI_VK.УдалитьПост(ИДПоста                 , Параметры);
    OPI_VK.УдалитьПост(ПараметрыТеста["Repost"], Параметры);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура ВК_ПолучитьСтатистику() Экспорт

    ПараметрыТеста = Новый Структура();

    VK_ПолучитьСтатистику(ПараметрыТеста);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура ВК_ПолучитьСтатистикуПостов() Экспорт

    ПараметрыТеста = Новый Структура();

    VK_ПолучитьСтатистикуПостов(ПараметрыТеста);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура ВК_СоздатьРекламнуюКампанию() Экспорт

    Параметры       = ПолучитьПараметрыВК();
    Текст           = "Пост из автотеста";

    Результат = OPI_VK.СоздатьПост(Текст, Новый Массив, , , Параметры);
    ИДПоста   = Результат["response"]["post_id"];

    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("VK_PostID", ИДПоста);

    ПараметрыТеста  = Новый Структура();
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("VK_AdsCabinetID", ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("VK_PostID"      , ПараметрыТеста);

    VK_СоздатьРекламнуюКампанию(ПараметрыТеста);
    VK_СоздатьРекламноеОбъявление(ПараметрыТеста);
    VK_ПриостановитьРекламноеОбъявление(ПараметрыТеста);

    OPI_VK.УдалитьПост(ИДПоста, Параметры);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура ВК_ОтправитьСообщение() Экспорт

    ПараметрыТеста = Новый Структура;

    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("VK_UserID"        , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("VK_CommunityToken", ПараметрыТеста);

    VK_СформироватьКлавиатуру(ПараметрыТеста);
    VK_НаписатьСообщение(ПараметрыТеста);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура ВК_ПолучитьКатегорииТоваров() Экспорт

    ПараметрыТеста = Новый Структура;

    VK_ПолучитьСписокКатегорийТоваров(ПараметрыТеста);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура ВК_СоздатьТоварПодборку() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture2", ПараметрыТеста);

    VK_СоздатьПодборкуТоваров(ПараметрыТеста);
    VK_ИзменитьПодборкуТоваров(ПараметрыТеста);
    VK_ДобавитьТовар(ПараметрыТеста);
    VK_ИзменитьТовар(ПараметрыТеста);
    VK_ДобавитьТоварВПодборку(ПараметрыТеста);
    VK_УдалитьТоварИзПодборки(ПараметрыТеста);
    VK_УдалитьТовар(ПараметрыТеста);
    VK_УдалитьПодборку(ПараметрыТеста);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура ВК_СоздатьТоварСоСвойствами() Экспорт

    Параметры      = ПолучитьПараметрыВК();

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture2", ПараметрыТеста);

    VK_СоздатьСвойствоТовара(ПараметрыТеста);
    VK_ИзменитьСвойствоТовара(ПараметрыТеста);
    VK_ДобавитьВариантСвойстваТовара(ПараметрыТеста);
    VK_ИзменитьВариантСвойстваТовара(ПараметрыТеста);
    VK_СоздатьТоварСоСвойством(ПараметрыТеста);
    VK_ПолучитьТоварыПоИД(ПараметрыТеста);
    VK_СгруппироватьТовары(ПараметрыТеста);

    OPI_VK.УдалитьТовар(ПараметрыТеста["VK_MarketItemID2"], Параметры);
    OPI_VK.УдалитьТовар(ПараметрыТеста["VK_MarketItemID3"], Параметры);

    VK_УдалитьВариантСвойстваТовара(ПараметрыТеста);
    VK_УдалитьСвойствоТовара(ПараметрыТеста);

КонецПроцедуры

Процедура ВК_ПолучитьСписокТоваров() Экспорт

    ПараметрыТеста = Новый Структура;

    VK_ПолучитьСписокТоваров(ПараметрыТеста);

КонецПроцедуры

Процедура ВК_ПолучитьСписокПодборок() Экспорт

    ПараметрыТеста = Новый Структура;

    VK_ПолучитьСписокПодборок(ПараметрыТеста);

КонецПроцедуры

Процедура ВК_ПолучитьСписокСвойств() Экспорт

    ПараметрыТеста = Новый Структура;

    VK_ПолучитьСписокСвойств(ПараметрыТеста);

КонецПроцедуры

Процедура ВК_ПолучитьСписокЗаказов() Экспорт

    ПараметрыТеста = Новый Структура;

    VK_ПолучитьСписокЗаказов(ПараметрыТеста);

КонецПроцедуры

Процедура ВК_ЗагрузитьВидео() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Video", ПараметрыТеста);

    VK_ЗагрузитьВидеоНаСервер(ПараметрыТеста);

КонецПроцедуры

#КонецОбласти

#Область YandexDisk

Процедура ЯДиск_ПолучитьИнформациюОДиске() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YandexDisk_Token", ПараметрыТеста);

    YandexDisk_ПолучитьИнформациюОДиске(ПараметрыТеста);

КонецПроцедуры

Процедура ЯДиск_СоздатьПапку() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YandexDisk_Token", ПараметрыТеста);

    YandexDisk_СоздатьПапку(ПараметрыТеста);

КонецПроцедуры

Процедура ЯДиск_ЗагрузитьПоАдресуПолучитьОбъект() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YandexDisk_Token", ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture"         , ПараметрыТеста);

    YandexDisk_ЗагрузитьФайлПоURL(ПараметрыТеста);
    YandexDisk_ПолучитьОбъект(ПараметрыТеста);
    YandexDisk_УдалитьОбъект(ПараметрыТеста);

КонецПроцедуры

Процедура ЯДиск_ЗагрузитьУдалитьФайл() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YandexDisk_Token", ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture"         , ПараметрыТеста);

    YandexDisk_ЗагрузитьФайл(ПараметрыТеста);

КонецПроцедуры

Процедура ЯДиск_СоздатьКопиюОбъекта() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YandexDisk_Token", ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture"         , ПараметрыТеста);

    Токен           = ПараметрыТеста["YandexDisk_Token"];
    URL             = ПараметрыТеста["Picture"];

    ПутьОригинала   = "/" + Строка(Новый УникальныйИдентификатор) + ".png";

    OPI_YandexDisk.ЗагрузитьФайлПоURL(Токен, ПутьОригинала, URL);
    OPI_Инструменты.Пауза(35);

    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("YandexDisk_OriginalFilePath", ПутьОригинала);
    ПараметрыТеста.Вставить("YandexDisk_OriginalFilePath", ПутьОригинала);

    YandexDisk_СоздатьКопиюОбъекта(ПараметрыТеста);

    ПутьКопии = ПараметрыТеста["YandexDisk_CopyFilePath"];

    OPI_YandexDisk.УдалитьОбъект(Токен, ПутьОригинала, Ложь);
    OPI_YandexDisk.УдалитьОбъект(Токен, ПутьКопии    , Ложь);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура ЯДиск_ПолучитьСсылкуНаСкачивание() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YandexDisk_Token", ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture"         , ПараметрыТеста);

    Токен = ПараметрыТеста["YandexDisk_Token"];
    URL   = ПараметрыТеста["Picture"];

    Путь  = "/" + Строка(Новый УникальныйИдентификатор) + ".png";

    OPI_YandexDisk.ЗагрузитьФайлПоURL(Токен, Путь, URL);
    OPI_Инструменты.Пауза(35);

    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("YandexDisk_PathForLink", Путь);
    ПараметрыТеста.Вставить("YandexDisk_PathForLink", Путь);

    YandexDisk_ПолучитьСсылкуДляСкачивания(ПараметрыТеста);
    YandexDisk_СкачатьФайл(ПараметрыТеста);

    OPI_YandexDisk.УдалитьОбъект(Токен, Путь, Ложь);

КонецПроцедуры

Процедура ЯДиск_ПолучитьСписокФайлов() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YandexDisk_Token", ПараметрыТеста);

    YandexDisk_ПолучитьСписокФайлов(ПараметрыТеста);

КонецПроцедуры

Процедура ЯДиск_ПереместитьОбъект() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YandexDisk_Token", ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture"         , ПараметрыТеста);

    Токен           = ПараметрыТеста["YandexDisk_Token"];
    URL             = ПараметрыТеста["Picture"];

    ПутьОригинала   = "/" + Строка(Новый УникальныйИдентификатор) + ".png";

    OPI_YandexDisk.ЗагрузитьФайлПоURL(Токен, ПутьОригинала, URL);
    OPI_Инструменты.Пауза(35);

    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("YandexDisk_OriginalFilePath", ПутьОригинала);
    ПараметрыТеста.Вставить("YandexDisk_OriginalFilePath", ПутьОригинала);

    YandexDisk_ПереместитьОбъект(ПараметрыТеста);

    ПутьНового = ПараметрыТеста["YandexDisk_NewFilePath"];

    OPI_YandexDisk.УдалитьОбъект(Токен, ПутьОригинала, Ложь);
    OPI_YandexDisk.УдалитьОбъект(Токен, ПутьНового   , Ложь);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура ЯДиск_ДействияПубличныхОбъектов() Экспорт

    PUrl         = "public_url";
    Соответствие = "Соответствие";

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YandexDisk_Token", ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture"         , ПараметрыТеста);

    Токен           = ПараметрыТеста["YandexDisk_Token"];
    URL             = ПараметрыТеста["Picture"];

    ПутьОригинала   = "/" + Строка(Новый УникальныйИдентификатор) + ".png";

    OPI_YandexDisk.ЗагрузитьФайлПоURL(Токен, ПутьОригинала, URL);
    OPI_Инструменты.Пауза(35);

    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("YandexDisk_OriginalFilePath", ПутьОригинала);
    ПараметрыТеста.Вставить("YandexDisk_OriginalFilePath", ПутьОригинала);

    YandexDisk_ОпубликоватьОбъект(ПараметрыТеста);
    YandexDisk_ПолучитьСсылкуСкачиванияПубличногоОбъекта(ПараметрыТеста);
    YandexDisk_ПолучитьПубличныйОбъект(ПараметрыТеста);
    YandexDisk_СохранитьПубличныйОбъектНаДиск(ПараметрыТеста);
    YandexDisk_ОтменитьПубликациюОбъекта(ПараметрыТеста);

    OPI_YandexDisk.УдалитьОбъект(Токен, ПутьОригинала, Ложь);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура ЯДиск_ПолучитьСписокОпубликованных() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YandexDisk_Token", ПараметрыТеста);

    YandexDisk_ПолучитьСписокОпубликованныхОбъектов(ПараметрыТеста);

КонецПроцедуры

#КонецОбласти

#Область Viber

Процедура Вайбер_ПолучитьИнформациюОКанале() Экспорт

    Токен     = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelToken");
    Результат = OPI_Viber.ПолучитьИнформациюОКанале(Токен);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюОКанале");

    Проверка_ВайберОк(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Вайбер_ПолучитьДанныеПользователя() Экспорт

    Токен        = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelToken");
    Пользователь = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelAdminID");
    Результат    = OPI_Viber.ПолучитьДанныеПользователя(Токен, Пользователь);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьДанныеПользователя");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["chat_hostname"]).Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["status_message"]).Заполнено();
    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Вайбер_ПолучитьОнлайнПользователей() Экспорт

    Токен        = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelToken");
    Пользователь = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_UserID");
    Результат    = OPI_Viber.ПолучитьОнлайнПользователей(Токен, Пользователь);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьОнлайнПользователей");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["users"]).ИмеетТип("Массив");
    Проверка_ВайберОк(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Вайбер_ОтправитьТекстовоеСообщение() Экспорт

    Текст         = "Тестовое сообщение";
    ТокенКанал    = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelToken");
    ТокенБота     = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_Token");
    Пользователь  = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_UserID");
    Администратор = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelAdminID");

    МассивКнопок  = Новый Массив;
    МассивКнопок.Добавить("Кнопка 1");
    МассивКнопок.Добавить("Кнопка 2");
    МассивКнопок.Добавить("Кнопка 3");

    Клавиатура = OPI_Viber.СформироватьКлавиатуруИзМассиваКнопок(МассивКнопок);

    Результат  = OPI_Viber.ОтправитьТекстовоеСообщение(ТокенБота, Текст, Пользователь, Ложь, Клавиатура);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьТекстовоеСообщение");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message_token"]).Заполнено();
    Проверка_ВайберОк(Результат);

    Результат  = OPI_Viber.ОтправитьТекстовоеСообщение(ТокенКанал, Текст, Администратор, Истина, Клавиатура);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьТекстовоеСообщение");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message_token"]).Заполнено();
    Проверка_ВайберОк(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Вайбер_ОтправитьКартинку() Экспорт

    Текст         = "Тестовое сообщение";
    Картинка      = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Picture");
    ТокенКанал    = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelToken");
    ТокенБота     = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_Token");
    Пользователь  = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_UserID");
    Администратор = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelAdminID");

    Результат  = OPI_Viber.ОтправитьКартинку(ТокенБота, Картинка, Пользователь, Ложь, Текст);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьКартинку");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message_token"]).Заполнено();
    Проверка_ВайберОк(Результат);

    Результат  = OPI_Viber.ОтправитьКартинку(ТокенКанал, Картинка, Администратор, Истина, Текст);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьКартинку");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message_token"]).Заполнено();
    Проверка_ВайберОк(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Вайбер_ОтправитьФайл() Экспорт

    Документ      = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Document");
    ТокенКанал    = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelToken");
    ТокенБота     = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_Token");
    Пользователь  = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_UserID");
    Администратор = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelAdminID");

    Результат  = OPI_Viber.ОтправитьФайл(ТокенБота, Документ, Пользователь, Ложь, "docx");

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьФайл");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message_token"]).Заполнено();
    Проверка_ВайберОк(Результат);

    Результат  = OPI_Viber.ОтправитьФайл(ТокенКанал, Документ, Администратор, Истина, "docx");

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьФайл");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message_token"]).Заполнено();
    Проверка_ВайберОк(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Вайбер_ОтправитьКонтакт() Экспорт

    Имя           = "Петр Петров";
    Телефон       = "+123456789";
    ТокенКанал    = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelToken");
    ТокенБота     = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_Token");
    Пользователь  = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_UserID");
    Администратор = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelAdminID");

    Результат  = OPI_Viber.ОтправитьКонтакт(ТокенБота, Имя, Телефон, Пользователь, Ложь);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьКонтакт");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message_token"]).Заполнено();
    Проверка_ВайберОк(Результат);

    Результат  = OPI_Viber.ОтправитьКонтакт(ТокенКанал, Имя, Телефон, Администратор, Истина);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьКонтакт");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message_token"]).Заполнено();
    Проверка_ВайберОк(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Вайбер_ОтправитьЛокацию() Экспорт

    Широта        = "48.87373649724122";
    Долгота       = "2.2954639195323967";
    ТокенКанал    = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelToken");
    ТокенБота     = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_Token");
    Пользователь  = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_UserID");
    Администратор = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelAdminID");

    Результат  = OPI_Viber.ОтправитьЛокацию(ТокенБота, Широта, Долгота, Пользователь, Ложь);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьЛокацию");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message_token"]).Заполнено();
    Проверка_ВайберОк(Результат);

    Результат  = OPI_Viber.ОтправитьЛокацию(ТокенКанал, Широта, Долгота, Администратор, Истина);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьЛокацию");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message_token"]).Заполнено();
    Проверка_ВайберОк(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Вайбер_ОтправитьСсылку() Экспорт

    URL           = "https://github.com/Bayselonarrend/OpenIntegrations";
    ТокенКанал    = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelToken");
    ТокенБота     = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_Token");
    Пользователь  = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_UserID");
    Администратор = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelAdminID");

    Результат  = OPI_Viber.ОтправитьСсылку(ТокенБота, URL, Пользователь, Ложь);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьСсылку");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message_token"]).Заполнено();
    Проверка_ВайберОк(Результат);

    Результат  = OPI_Viber.ОтправитьСсылку(ТокенКанал, URL, Администратор, Истина);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьСсылку");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message_token"]).Заполнено();
    Проверка_ВайберОк(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

#КонецОбласти

#Область GoogleWorkspace

Процедура ГВ_ПолучитьСсылкуАвторизации() Экспорт

    ClientID  = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_ClientID");
    Результат = OPI_GoogleWorkspace.СформироватьСсылкуПолученияКода(ClientID);

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат)
        .ИмеетТип("Строка")
        .Заполнено();

    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Google_Link", Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура ГВ_ПолучитьТокен() Экспорт

    ClientID      = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_ClientID");
    ClientSecret  = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_ClientSecret");
    Code          = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Code");

    Результат = OPI_GoogleWorkspace.ПолучитьТокенПоКоду(ClientID, ClientSecret, Code);

    Если ЗначениеЗаполнено(Результат["access_token"])
        И ЗначениеЗаполнено(Результат["refresh_token"]) Тогда

        OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Google_Token"  , Результат["access_token"]);
        OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Google_Refresh", Результат["refresh_token"]);

    КонецЕсли;

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура ГВ_ОбновитьТокен() Экспорт

    ClientID      = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_ClientID");
    ClientSecret  = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_ClientSecret");
    RefreshToken  = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Refresh");

    Результат = OPI_GoogleWorkspace.ОбновитьТокен(ClientID, ClientSecret, RefreshToken);

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["access_token"]).Заполнено();

    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Google_Token", Результат["access_token"]);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

#КонецОбласти

#Область GoogleCalendar

Процедура ГК_ПолучитьСписокКалендарей() Экспорт

    Токен     = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token");
    Результат = OPI_GoogleCalendar.ПолучитьСписокКалендарей(Токен);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокКалендарей");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат)
        .ИмеетТип("Массив");

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура ГК_СоздатьУдалитьКалендарь() Экспорт

    Токен                   = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token");
    Наименование            = "Тестовый календарь";
    Описание                = "Тестовое описание";
    НаименованиеИзмененное  = Наименование + " (изм.)";
    ТипСоответствие         = Тип("Соответствие");
    ТипСтрока               = Тип("Строка");
    Summary                 = "summary";
    Черный                  = "#000000";
    Желтый                  = "#ffd800";

    Результат = OPI_GoogleCalendar.СоздатьКалендарь(Токен, Наименование);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьКалендарь");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Summary]).Равно(Наименование);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["id"]).ИмеетТип(ТипСтрока).Заполнено();

    Календарь = Результат["id"];

    Результат = OPI_GoogleCalendar.ИзменитьМетаданныеКалендаря(Токен
        , Календарь
        , НаименованиеИзмененное
        , Описание);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьМетаданныеКалендаря");

    Проверка_ГКОбъект(Результат, НаименованиеИзмененное, Описание);

    Результат = OPI_GoogleCalendar.ПолучитьМетаданныеКалендаря(Токен, Календарь);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьМетаданныеКалендаря");

    Проверка_ГКОбъект(Результат, НаименованиеИзмененное, Описание);

    Результат = OPI_GoogleCalendar.ДобавитьКалендарьВСписок(Токен, Календарь);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьКалендарьВСписок");

    Проверка_ГКОбъект(Результат, НаименованиеИзмененное, Описание);

    Результат = OPI_GoogleCalendar.ИзменитьКалендарьСписка(Токен, Календарь, Черный, Желтый, Ложь);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьКалендарьСписка");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Summary]).Равно(НаименованиеИзмененное);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["foregroundColor"]).Равно(Черный);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["backgroundColor"]).Равно(Желтый);

    Результат = OPI_GoogleCalendar.ПолучитьКалендарьСписка(Токен, Календарь);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьКалендарьСписка");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Summary]).Равно(НаименованиеИзмененное);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["foregroundColor"]).Равно(Черный);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["backgroundColor"]).Равно(Желтый);

    Результат = OPI_GoogleCalendar.ОчиститьОсновнойКалендарь(Токен);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОчиститьОсновнойКалендарь");

    Проверка_Пусто(Результат);

    Результат = OPI_GoogleCalendar.УдалитьКалендарьИзСписка(Токен, Календарь);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьКалендарьИзСписка");

    Проверка_Пусто(Результат);

    Результат = OPI_GoogleCalendar.УдалитьКалендарь(Токен, Календарь);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьКалендарь");

    Проверка_Пусто(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура ГК_СоздатьУдалитьСобытие() Экспорт

    ТекущаяДата     = OPI_Инструменты.ПолучитьТекущуюДату();
    Токен           = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token");
    Календарь       = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_CalendarID");
    Наименование    = "Новое событие";
    Описание        = "Описание тестового события";
    ОписаниеИзм     = "Описание тестового события (изм.)";
    UID             = "id";
    Час             = 3600;

    Вложения        = Новый Соответствие;

    Вложения.Вставить("Картинка1"
        , "https://opi.neocities.org/assets/images/logo_long-e8fdcca6ff8b32e679ea49a1ccdd3eac.png");
    Вложения.Вставить("Картинка2"
        , "https://github.com/Bayselonarrend/OpenIntegrations/raw/main/Media/logo.png?v1");

    СоответствиеСобытия = Новый Соответствие;
    СоответствиеСобытия.Вставить("Описание"                 , Описание);
    СоответствиеСобытия.Вставить("Заголовок"                , Наименование);
    СоответствиеСобытия.Вставить("МестоПроведения"          , "В офисе");
    СоответствиеСобытия.Вставить("ДатаНачала"               , ТекущаяДата);
    СоответствиеСобытия.Вставить("ДатаОкончания"            , СоответствиеСобытия["ДатаНачала"] + Час);
    СоответствиеСобытия.Вставить("МассивURLФайловВложений"  , Вложения);
    СоответствиеСобытия.Вставить("ОтправлятьУведомления"    , Истина);

    Результат = OPI_GoogleCalendar.СоздатьСобытие(Токен, Календарь, СоответствиеСобытия);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСобытие");

    Событие   = Результат[UID];

    Проверка_ГКОбъект(Результат, Наименование, Описание);

    СоответствиеСобытия = Новый Соответствие;
    СоответствиеСобытия.Вставить("Описание", ОписаниеИзм);

    Результат = OPI_GoogleCalendar.ИзменитьСобытие(Токен, Календарь, СоответствиеСобытия, Событие);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьСобытие");

    Проверка_ГКОбъект(Результат, Наименование, ОписаниеИзм);

    Результат = OPI_GoogleCalendar.ПолучитьСобытие(Токен, Календарь, Событие);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСобытие");

    Проверка_ГКОбъект(Результат, Наименование, ОписаниеИзм);

    Результат = OPI_GoogleCalendar.ПереместитьСобытие(Токен, Календарь, Календарь, Событие);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереместитьСобытие");

    Проверка_ГКОбъект(Результат, Наименование, ОписаниеИзм);

    Результат = OPI_GoogleCalendar.УдалитьСобытие(Токен, Календарь, Событие);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСобытие");

    Проверка_Пусто(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура ГК_ПолучитьСписокСобытий() Экспорт

    Токен     = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token");
    Календарь = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_CalendarID");

    Результат = OPI_GoogleCalendar.ПолучитьСписокСобытий(Токен, Календарь);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокСобытий");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Массив");

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

#КонецОбласти

#Область GoogleDrive

Процедура ГД_ПолучитьСписокКаталогов() Экспорт

    MimeType_ = "mimeType";
    Name_     = "name";
    Имя       = "Тестовая папка";
    Токен     = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token");
    Результат = OPI_GoogleDrive.ПолучитьСписокКаталогов(Токен, Имя, Истина);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокКаталогов");

    Результат = Результат[0];

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["files"]).ИмеетТип("Массив");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[MimeType_]).Равно("application/vnd.google-apps.folder");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Name_]).Заполнено();

    OPI_Инструменты.Пауза(5);
    Идентификатор = Результат["id"];

    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("GD_Catalog", Идентификатор);

    Результат   = OPI_GoogleDrive.ПолучитьИнформациюОбОбъекте(Токен, Идентификатор);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюОбОбъекте");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[MimeType_]).Равно("application/vnd.google-apps.folder");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Name_]).Заполнено();

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура ГД_ЗагрузитьУдалитьФайл() Экспорт

    ЛишниеБайты = 2;

    Kind_      = "kind";
    Content_   = "content";
    MIME_      = "MIME";
    MimeType_  = "mimeType";
    Name_      = "name";
    Id_        = "id";

    МассивУдаляемых = Новый Массив;
    Токен           = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token");
    Картинка        = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture");
    КартинкаЗамены  = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture2");
    Каталог         = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("GD_Catalog");

    Описание = OPI_GoogleDrive.ПолучитьОписаниеФайла();
    Описание.Вставить("Родитель", Каталог);

    Результат = OPI_GoogleDrive.ЗагрузитьФайл(Токен, Картинка, Описание);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьФайл");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[MimeType_]).Равно(Описание[MIME_]);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Name_]).Равно(Описание["Имя"]);

    Идентификатор = Результат[Id_];
    МассивУдаляемых.Добавить(Идентификатор);

    НовоеИмя  = "Скопированный файл.jpeg";
    Результат = OPI_GoogleDrive.СкопироватьОбъект(Токен, Идентификатор, НовоеИмя, "root");

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СкоприроватьОбъект");

    OPI_Инструменты.Пауза(5);

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[MimeType_]).Равно(Описание[MIME_]);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Name_]).Равно(НовоеИмя);

    МассивУдаляемых.Добавить(Результат[Id_]);

    Результат = OPI_GoogleDrive.СкачатьФайл(Токен, Идентификатор);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СкачатьФайл");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат.Размер()).Равно(Картинка.Размер() + ЛишниеБайты);
    OPI_Инструменты.Пауза(5);

    НовоеИмя  = "Обновленный файл.jpg";
    Результат = OPI_GoogleDrive.ОбновитьФайл(Токен, Идентификатор, КартинкаЗамены, НовоеИмя);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОбновитьФайл");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[MimeType_]).Равно(Описание[MIME_]);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Name_]).Равно(НовоеИмя);

    OPI_Инструменты.Пауза(5);

    Комментарий = "Yo";
    Результат   = OPI_GoogleDrive.СоздатьКомментарий(Токен, Идентификатор, Комментарий);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьКомментарий");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Content_]).Равно(Комментарий);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Kind_]).Равно("drive#comment");

    OPI_Инструменты.Пауза(5);

    Для Каждого Удаляемый Из МассивУдаляемых Цикл
        Результат = OPI_GoogleDrive.УдалитьОбъект(Токен, Удаляемый);

        OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьОбъект");

        OPI_ПолучениеДанныхТестов.ОжидаетЧто(ЗначениеЗаполнено(Результат)).Равно(Ложь);
        OPI_Инструменты.Пауза(2);
    КонецЦикла;

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура ГД_СоздатьУдалитьКомментарий() Экспорт

    Kind_     = "kind";
    Content_  = "content";
    Id_       = "id";
    Comments_ = "comments";
    Токен     = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token");
    Каталог   = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("GD_Catalog");
    Картинка  = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture");

    Описание  = OPI_GoogleDrive.ПолучитьОписаниеФайла();
    Описание.Вставить("Родитель", Каталог);

    Результат     = OPI_GoogleDrive.ЗагрузитьФайл(Токен, Картинка, Описание);
    Идентификатор = Результат[Id_];

    Комментарий         = "Новый комментарий";
    МассивРезультатов   = Новый Массив;
    Результат           = OPI_GoogleDrive.СоздатьКомментарий(Токен, Идентификатор, Комментарий);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьКомментарий");

    ИДКомментария       = Результат[Id_];

    МассивРезультатов.Добавить(Результат);

    Результат = OPI_GoogleDrive.ПолучитьКомментарий(Токен, Идентификатор, ИДКомментария);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьКомментарий");

    МассивРезультатов.Добавить(Результат);

    Результат         = OPI_GoogleDrive.ПолучитьСписокКомментариев(Токен, Идентификатор);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокКомментариев");

    Комментарии       = Результат[Comments_];
    ОбъектКомментарий = Комментарии[Комментарии.ВГраница()];

    МассивРезультатов.Добавить(ОбъектКомментарий);

    Для Каждого Результат Из МассивРезультатов Цикл
        OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Content_]).Равно(Комментарий);
        OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Kind_]).Равно("drive#comment");
    КонецЦикла;

    Результат = OPI_GoogleDrive.УдалитьКомментарий(Токен, Идентификатор, ИДКомментария);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьКомментарий");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(ЗначениеЗаполнено(Результат)).Равно(Ложь);

    OPI_GoogleDrive.УдалитьОбъект(Токен, Идентификатор);

КонецПроцедуры

Процедура ГД_СоздатьКаталог() Экспорт

    Name_      = "name";
    Имя        = "Тестовая папка";
    Токен      = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token");
    Каталог    = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("GD_Catalog");

    МассивРезультатов = Новый Массив;

    МассивРезультатов.Добавить(OPI_GoogleDrive.СоздатьПапку(Токен, Имя));
    МассивРезультатов.Добавить(OPI_GoogleDrive.СоздатьПапку(Токен, Имя, Каталог));

    Для Каждого Результат Из МассивРезультатов Цикл

        OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьПапку");

        ИДКаталога = Результат["id"];

        OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Name_]).Равно(Имя);

        OPI_GoogleDrive.УдалитьОбъект(Токен, ИДКаталога);

    КонецЦикла;

КонецПроцедуры

#КонецОбласти

#Область GoogleSheets

Процедура ГТ_СоздатьТаблицу() Экспорт

    Токен        = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token");
    Наименование = "Тестовая таблица";

    МассивЛистов = Новый Массив;
    МассивЛистов.Добавить("Лист1");
    МассивЛистов.Добавить("Лист2");

    Результат = OPI_GoogleSheets.СоздатьКнигу(Токен, Наименование, МассивЛистов);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьКнигу");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["properties"]["title"]).Равно(Наименование);

    Для Н = 0 По МассивЛистов.ВГраница() Цикл

        ИмяЛиста = Результат["sheets"][Н]["properties"]["title"];
        OPI_ПолучениеДанныхТестов.ОжидаетЧто(ИмяЛиста).Равно(МассивЛистов[Н]);
        Лист     = Результат["sheets"][Н]["properties"]["sheetId"];
        Лист     = OPI_Инструменты.ЧислоВСтроку(Лист);

    КонецЦикла;

    Книга   = Результат["spreadsheetId"];

    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("GS_Spreadsheet", Книга);
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("GS_Sheet"      , Лист);

    Наименование = "Тестовая таблица (доп.)";
    Результат    = OPI_GoogleSheets.СоздатьКнигу(Токен, Наименование, МассивЛистов);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "КопироватьЛист (доп.)");

    Книга2  = Результат["spreadsheetId"];

    Результат = OPI_GoogleSheets.КопироватьЛист(Токен, Книга, Книга2, Лист);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "КопироватьЛист");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["title"]).Заполнено();

    Наименование = "Тестовый лист";

    Результат = OPI_GoogleSheets.ДобавитьЛист(Токен, Книга, Наименование);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьЛист");

    НовыйЛист = Результат["replies"][0]["addSheet"]["properties"]["sheetId"];
    НовыйЛист = OPI_Инструменты.ЧислоВСтроку(НовыйЛист);

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["spreadsheetId"]).Равно(Книга);

    Результат = OPI_GoogleSheets.УдалитьЛист(Токен, Книга, НовыйЛист);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьЛист");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["spreadsheetId"]).Равно(Книга);

    Наименование = "Тестовая таблица (изм.)";

    Результат    = OPI_GoogleSheets.ИзменитьНаименованиеКниги(Токен, Книга, Наименование);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьНаименованиеКниги");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["spreadsheetId"]).Равно(Книга);

КонецПроцедуры

Процедура ГТ_ПолучитьТаблицу() Экспорт

    Токен        = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token");
    Книга        = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("GS_Spreadsheet");
    Наименование = "Тестовая таблица (изм.)";

    Результат = OPI_GoogleSheets.ПолучитьКнигу(Токен, Книга);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьТаблицу");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["properties"]["title"]).Равно(Наименование);

КонецПроцедуры

Процедура ГТ_ЗаполнитьОчиститьЯчейки() Экспорт

    Токен        = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token");
    Книга        = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("GS_Spreadsheet");
    Лист         = "Лист2";

    СтруктураЯчеек = Новый Соответствие;
    СтруктураЯчеек.Вставить("A1", "Это A1");
    СтруктураЯчеек.Вставить("A2", "Это A2");
    СтруктураЯчеек.Вставить("B2", "Это B2");
    СтруктураЯчеек.Вставить("B3", "Это B3");
    СтруктураЯчеек.Вставить("A3", "Это A3");
    СтруктураЯчеек.Вставить("A4", "Это A4");
    СтруктураЯчеек.Вставить("B1", "Это B1");
    СтруктураЯчеек.Вставить("B4", "Это B4");

    МассивЯчеек = Новый Массив;
    МассивЯчеек.Добавить("B2");
    МассивЯчеек.Добавить("A3");
    МассивЯчеек.Добавить("B4");

    Результат = OPI_GoogleSheets.УстановитьЗначенияЯчеек(Токен, Книга, СтруктураЯчеек, Лист);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УстановитьЗначенияЯчеек");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["spreadsheetId"]).Равно(Книга);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["totalUpdatedCells"]).Равно(СтруктураЯчеек.Количество());

    Результат = OPI_GoogleSheets.ПолучитьЗначенияЯчеек(Токен, Книга, МассивЯчеек, Лист);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗначенияЯчеек");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["spreadsheetId"]).Равно(Книга);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["valueRanges"].Количество()).Равно(МассивЯчеек.Количество());

    Результат = OPI_GoogleSheets.ПолучитьЗначенияЯчеек(Токен, Книга, , Лист);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗначенияЯчеек");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["spreadsheetId"]).Равно(Книга);

    МассивЯчеек = Новый Массив;
    МассивЯчеек.Добавить("B2");
    МассивЯчеек.Добавить("A3");
    МассивЯчеек.Добавить("B4");

    Результат = OPI_GoogleSheets.ОчиститьЯчейки(Токен, Книга, МассивЯчеек, Лист);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОчиститьЯчейки");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["spreadsheetId"]).Равно(Книга);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["clearedRanges"].Количество()).Равно(МассивЯчеек.Количество());

КонецПроцедуры

#КонецОбласти

#Область Twitter

Процедура Твиттер_ПолучитьСсылкуАвторизации() Экспорт

    Параметры = ПолучитьПараметрыТвиттер();
    Результат = OPI_Twitter.ПолучитьСсылкуАвторизации(Параметры);

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Строка").Заполнено();

    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Twitter_URL", Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Твиттер_ОбновитьТокен() Экспорт

    Параметры = ПолучитьПараметрыТвиттер();
    Результат = OPI_Twitter.ОбновитьТокен(Параметры);

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["access_token"]).Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["refresh_token"]).Заполнено();

    Рефреш = Результат["refresh_token"];
    Токен  = Результат["access_token"];

    Если ЗначениеЗаполнено(Рефреш) И Не Рефреш = "null" Тогда
        OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Twitter_Refresh", Рефреш);
    КонецЕсли;

    Если ЗначениеЗаполнено(Токен) И Не Токен = "null" Тогда
        OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Twitter_Token"  , Токен);
    КонецЕсли;

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Твиттер_СоздатьТекстовыйТвит() Экспорт

    Параметры = ПолучитьПараметрыТвиттер();
    Текст     = "Тестовый твитт" + Строка(Новый УникальныйИдентификатор);

    Результат = OPI_Twitter.СоздатьТекстовыйТвит(Текст, Параметры);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТекстовыйТвит");

    Проверка_ТвиттерТекст(Результат, Текст);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Твиттер_СоздатьТвитСКартинкой() Экспорт

    Параметры = ПолучитьПараметрыТвиттер();
    Текст     = "Тестовый твитт" + Строка(Новый УникальныйИдентификатор);
    Картинка  = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture");
    ИВФ       = ПолучитьИмяВременногоФайла("png");
    Картинка.Записать(ИВФ);

    Результат = OPI_Twitter.СоздатьТвитКартинки(Текст, Картинка, Параметры);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТвитКартинки");

    Проверка_ТвиттерТекст(Результат, Текст);

    Текст     = "Тестовый твитт" + Строка(Новый УникальныйИдентификатор);
    Результат = OPI_Twitter.СоздатьТвитКартинки(Текст, ИВФ, Параметры);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТвитКартинки");

    Проверка_ТвиттерТекст(Результат, Текст);

    УдалитьФайлы(ИВФ);

    OPI_Инструменты.Пауза(20);

КонецПроцедуры

Процедура Твиттер_СоздатьТвитСВидео() Экспорт

    Параметры = ПолучитьПараметрыТвиттер();
    Текст     = "Тестовый твитт" + Строка(Новый УникальныйИдентификатор);
    Видео     = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Video");
    ИВФ       = ПолучитьИмяВременногоФайла("mp4");
    Видео.Записать(ИВФ);

    Результат = OPI_Twitter.СоздатьТвитВидео(Текст, Видео, Параметры);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТвитВидео");

    Проверка_ТвиттерТекст(Результат, Текст);

    Текст     = "Тестовый твитт" + Строка(Новый УникальныйИдентификатор);
    Результат = OPI_Twitter.СоздатьТвитВидео(Текст, ИВФ, Параметры);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТвитВидео");

    Проверка_ТвиттерТекст(Результат, Текст);

    УдалитьФайлы(ИВФ);

    OPI_Инструменты.Пауза(20);

КонецПроцедуры

Процедура Твиттер_СоздатьТвитСГиф() Экспорт

    Параметры = ПолучитьПараметрыТвиттер();
    Текст     = "Тестовый твитт" + Строка(Новый УникальныйИдентификатор);
    Гифка     = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("GIF");
    ИВФ       = ПолучитьИмяВременногоФайла("gif");
    Гифка.Записать(ИВФ);

    Результат = OPI_Twitter.СоздатьТвитГифки(Текст, Гифка, Параметры);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТвитГифки");

    Проверка_ТвиттерТекст(Результат, Текст);

    Текст     = "Тестовый твитт" + Строка(Новый УникальныйИдентификатор);
    Результат = OPI_Twitter.СоздатьТвитГифки(Текст, ИВФ, Параметры);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТвитГифки");

    Проверка_ТвиттерТекст(Результат, Текст);

    УдалитьФайлы(ИВФ);

    OPI_Инструменты.Пауза(20);

КонецПроцедуры

Процедура Твиттер_СоздатьТвитСОпросом() Экспорт

    Параметры       = ПолучитьПараметрыТвиттер();
    Текст           = "Тестовый твитт" + Строка(Новый УникальныйИдентификатор);
    МассивОтветов   = Новый Массив;
    МассивОтветов.Добавить("Вариант 1");
    МассивОтветов.Добавить("Вариант 2");

    Результат = OPI_Twitter.СоздатьТвитОпрос(Текст, МассивОтветов, 60, Параметры);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТвитОпрос");

    Проверка_ТвиттерТекст(Результат, Текст);

    OPI_Инструменты.Пауза(20);

КонецПроцедуры

#КонецОбласти

#Область Notion

Процедура Ноушн_СоздатьСтраницу() Экспорт

    Токен     = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Token");
    Родитель  = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Parent");
    Заголовок = "Тестовый заголовок";

    Результат = OPI_Notion.СоздатьСтраницу(Токен, Родитель, Заголовок);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСтраницу");

    Проверка_НоушнОбъект(Результат);

КонецПроцедуры

Процедура Ноушн_СоздатьИзменитьБазу() Экспорт

    Токен     = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Token");
    Родитель  = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Parent");
    Заголовок = "Тестовый заголовок";

    Свойства = Новый Соответствие;
    Свойства.Вставить("Имя"            , "title");
    Свойства.Вставить("Описание"       , "rich_text");
    Свойства.Вставить("Номер"          , "number");
    Свойства.Вставить("Статус"         , "status");
    Свойства.Вставить("Дата создания"  , "date");
    Свойства.Вставить("Картинка"       , "files");
    Свойства.Вставить("Активен"        , "checkbox");
    Свойства.Вставить("Сайт"           , "url");
    Свойства.Вставить("Почта"          , "email");
    Свойства.Вставить("Телефон"        , "phone_number");
    Свойства.Вставить("Пользователь"   , "people");

    ВыборЗначения = Новый Соответствие;
    ВыборЗначения.Вставить("Новый"    , "green");
    ВыборЗначения.Вставить("В работе" , "yellow");
    ВыборЗначения.Вставить("Удаленный", "red");
    Свойства.Вставить("Статус", ВыборЗначения);

    Результат = OPI_Notion.СоздатьБазуДанных(Токен, Родитель, Заголовок, Свойства);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьБазуДанных");

    Проверка_НоушнОбъект(Результат, "database");

    База         = Результат["id"];
    Заголовок    = "Тестовый заголовок";
    Описание     = "Тестовое описание";

    Свойства = Новый Соответствие;
    Свойства.Вставить("Почта", "rich_text"); // Тип поля "Почта" будет изменен с email на текст
    Свойства.Вставить("Сайт");               // Поле "Сайт" будет удалено

    Результат = OPI_Notion.ИзменитьСвойстваБазы(Токен, База, Свойства, Заголовок, Описание);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьСвойстваБазы");

    Проверка_НоушнОбъект(Результат, "database");

КонецПроцедуры

Процедура Ноушн_ПолучитьИнформациюОСтранице() Экспорт

    Токен     = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Token");
    Страница  = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Page");

    Результат = OPI_Notion.ПолучитьСтраницу(Токен, Страница);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтраницу");

    Проверка_НоушнОбъект(Результат);

КонецПроцедуры

Процедура Ноушн_ПолучитьИнформациюОБазе() Экспорт

    Токен     = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Token");
    База      = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Base");

    Результат = OPI_Notion.ПолучитьБазуДанных(Токен, База);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьБазуДанных");

    Проверка_НоушнОбъект(Результат, "database");

КонецПроцедуры

Процедура Ноушн_СоздатьСтраницуВБазу() Экспорт

    Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Token");
    База  = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Base");

    Картинка = Новый Соответствие;
    Картинка.Вставить("Лого", OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Picture"));

    Свойства = Новый Соответствие;
    Свойства.Вставить("Имя"               , "ООО Вектор");
    Свойства.Вставить("Описание"          , "Наш первый клиент");
    Свойства.Вставить("Номер"             , 1);
    Свойства.Вставить("Статус"            , "Обычный");
    Свойства.Вставить("Дата создания"     , OPI_Инструменты.ПолучитьТекущуюДату());
    Свойства.Вставить("Картинка"          , Картинка);
    Свойства.Вставить("Активен"           , Истина);
    Свойства.Вставить("Сайт"              , "https://vector.ru");
    Свойства.Вставить("Почта"             , "mail@vector.ru");
    Свойства.Вставить("Телефон"           , "88005553535");
    Свойства.Вставить("Статус"            , "Новый");

    Результат = OPI_Notion.СоздатьСтраницуВБазу(Токен, База, Свойства);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСтраницуВБазу");

    Проверка_НоушнОбъект(Результат);

    Родитель = СтрЗаменить(Результат["parent"]["database_id"], "-", "");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Родитель).Равно(База);

КонецПроцедуры

Процедура Ноушн_ИзменитьСвойстваСтраницы() Экспорт

    Токен        = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Token");
    Страница     = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Page");
    Иконка       = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Picture");
    Обложка      = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Picture2");
    Архивировать = Ложь;

    Свойства = Новый Соответствие;
    Свойства.Вставить("Активен"     , Ложь);
    Свойства.Вставить("Почта"       , "vector@mail.ru");

    Результат = OPI_Notion.ИзменитьСвойстваСтраницы(Токен
        , Страница
        , Свойства
        , Иконка
        , Обложка
        , Архивировать);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьСвойстваСтраницы");

    Проверка_НоушнОбъект(Результат);

КонецПроцедуры

Процедура Ноушн_СоздатьУдалитьБлок() Экспорт

    Токен     = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Token");
    Родитель  = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Parent");
    Блок      = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Block");

    Результат = OPI_Notion.ВернутьБлок(Токен, Блок);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВернутьБлок");

    Проверка_НоушнОбъект(Результат, "block");

    Результат = OPI_Notion.СоздатьБлок(Токен, Родитель, Результат);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьБлок");

    Проверка_НоушнОбъект(Результат, "list");

    Блок         = Результат["results"][0]["id"];
    Результат    = OPI_Notion.ВернутьДочерниеБлоки(Токен, Блок);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВернутьДочерниеБлоки");

    Проверка_НоушнОбъект(Результат, "list");

    Результат = OPI_Notion.УдалитьБлок(Токен, Блок);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьБлок");

    Проверка_НоушнОбъект(Результат, "block");

КонецПроцедуры

Процедура Ноушн_ПолучитьПользователей() Экспорт

    Токен     = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Token");
    Результат = OPI_Notion.СписокПользователей(Токен);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СписокПользователей");

    Проверка_НоушнОбъект(Результат, "list");

КонецПроцедуры

Процедура Ноушн_ПолучитьДанныеПользователя() Экспорт

    Токен        = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Token");
    Пользователь = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_User");
    Результат    = OPI_Notion.ПолучитьДанныеПользователя(Токен, Пользователь);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьДанныеПользователя");

    Проверка_НоушнОбъект(Результат, "user");

КонецПроцедуры

#КонецОбласти

#Область Slack

Процедура Слак_ПолучитьИнформациюОБоте() Экспорт

    Токен     = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token");
    Результат = OPI_Slack.ПолучитьИнформациюОБоте(Токен);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюОБоте");

    Проверка_СлакОк(Результат);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["bot_id"]).Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["user_id"]).Заполнено();

КонецПроцедуры

Процедура Слак_ПолучитьСписокПользователей() Экспорт

    Токен     = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token");
    Результат = OPI_Slack.ПолучитьСписокПользователей(Токен);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокПользователей");

    Проверка_СлакОк(Результат);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["members"]).ИмеетТип("Массив");

КонецПроцедуры

Процедура Слак_ПолучитьСписокОбластей() Экспорт

    Токен     = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token");
    Результат = OPI_Slack.ПолучитьСписокРабочихОбластей(Токен);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокРабочихОбластей");

    Проверка_СлакОк(Результат);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["teams"]).ИмеетТип("Массив");

КонецПроцедуры

Процедура Слак_ОтправитьУдалитьСообщение() Экспорт

    Токен    = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token");
    Канал    = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Channel");
    Текст    = "Тестовое сообщение 1";
    Текст2   = "Тестовое сообщение 2";
    Отметки  = Новый Массив;
    Картинка = "https://github.com/Bayselonarrend/OpenIntegrations/raw/main/Media/logo.png?v1";

    Результат = OPI_Slack.ОтправитьСообщение(Токен, Канал, Текст);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьСообщение");

    Проверка_СлакОк(Результат);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["channel"]).Равно(Канал);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ts"]).Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message"]["text"]).Равно(Текст);

    Отметка = Результат["ts"];

    Результат = OPI_Slack.ИзменитьСообщение(Токен, Канал, Отметка, Текст2);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьСообщение");

    Проверка_СлакОк(Результат);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["channel"]).Равно(Канал);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ts"]).Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message"]["text"]).Равно(Текст2);

    Результат = OPI_Slack.ПолучитьСписокОтветовНаСообщение(Токен, Канал, Отметка);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокОтветовНаСообщение");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["messages"]).ИмеетТип("Массив");

    Результат = OPI_Slack.ПолучитьСсылкуНаСообщение(Токен, Канал, Отметка);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСсылкуНаСообщение");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["channel"]).Равно(Канал);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["permalink"]).Заполнено();

    Проверка_СлакОк(Результат);

    Отметки.Добавить(Отметка);

    МассивБлоков = Новый Массив;
    Блок         = OPI_Slack.СформироватьБлокКартинку(Картинка, "Yo");
    МассивБлоков.Добавить(Блок);

    Результат = OPI_Slack.ОтправитьСообщение(Токен, Канал, Текст, , МассивБлоков);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьСообщение (картинка)");

    Проверка_СлакОк(Результат);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["channel"]).Равно(Канал);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ts"]).Заполнено();

    Отметки.Добавить(Результат["ts"]);

    Блок     = OPI_Slack.СформироватьБлокКартинку(Картинка, "Yo");
    БлокJSON = OPI_Инструменты.JSONСтрокой(Блок);

    ИВФ = ПолучитьИмяВременногоФайла("json");

    ТекстовыйДокумент = Новый ТекстовыйДокумент();
    ТекстовыйДокумент.УстановитьТекст(БлокJSON);
    ТекстовыйДокумент.Записать(ИВФ);

    Результат = OPI_Slack.ОтправитьСообщение(Токен, Канал, Текст, , ИВФ);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьСообщение (json)");

    Проверка_СлакОк(Результат);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["channel"]).Равно(Канал);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ts"]).Заполнено();

    Отметки.Добавить(Результат["ts"]);

    Блоки     = "['" + ИВФ + "','" + ИВФ + "']";
    Результат = OPI_Slack.ОтправитьСообщение(Токен, Канал, Текст, , Блоки);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьСообщение (json массив)");

    Проверка_СлакОк(Результат);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["channel"]).Равно(Канал);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ts"]).Заполнено();

    Отметки.Добавить(Результат["ts"]);

    УдалитьФайлы(ИВФ);

    Для Каждого Отметка Из Отметки Цикл

        Результат = OPI_Slack.УдалитьСообщение(Токен, Канал, Отметка);

        OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСообщение");

        Проверка_СлакОк(Результат);
        OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["channel"]).Равно(Канал);
        OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ts"]).Заполнено();

    КонецЦикла;

    Час       = 3600;
    Сутки     = 24;
    Отправка  = OPI_Инструменты.ПолучитьТекущуюДату() + (Сутки * Час);
    Результат = OPI_Slack.ОтправитьСообщение(Токен, Канал, Текст, Отправка);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьСообщение (отложенное)");

    Проверка_СлакОк(Результат);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["channel"]).Равно(Канал);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["scheduled_message_id"]).Заполнено();

    Отметка   = Результат["scheduled_message_id"];
    Результат = OPI_Slack.УдалитьСообщение(Токен, Канал, Отметка, Истина);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСообщение");

    Проверка_СлакОк(Результат);

КонецПроцедуры

Процедура Слак_ОтправитьУдалитьЭфемерное() Экспорт

    Токен        = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token");
    Канал        = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Channel");
    Пользователь = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_User");
    Картинка     = "https://github.com/Bayselonarrend/OpenIntegrations/raw/main/Media/logo.png?v1";
    Текст        = "Тестовое сообщение 1";

    Блок      = OPI_Slack.СформироватьБлокКартинку(Картинка, "Yo");
    Результат = OPI_Slack.ОтправитьЭфемерноеСообщение(Токен, Канал, Текст, Пользователь, Блок);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьСообщение");

    Проверка_СлакОк(Результат);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message_ts"]).Заполнено();

КонецПроцедуры

Процедура Слак_ПолучитьОтложенныеСообщения() Экспорт

    Токен    = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token");
    Канал    = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Channel");

    Результат = OPI_Slack.ПолучитьСписокОтложенныхСообщений(Токен, Канал);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокОтложенныхСообщений");

    Проверка_СлакОк(Результат);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["scheduled_messages"]).ИмеетТип("Массив");

КонецПроцедуры

Процедура Слак_СоздатьАрхивироватьКанал() Экспорт

    Токен        = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token");
    Пользователь = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_User");
    Имя          = "testconv" + Строка(Новый УникальныйИдентификатор);
    Тема         = "Тестовая тема";
    Цель         = "Тестовая цель";

    #Область СоздатьКанал
    Результат = OPI_Slack.СоздатьКанал(Токен, Имя);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьКанал");

    Данные = Результат["channel"];
    Канал  = Данные["id"];

    Проверка_СлакОк(Результат);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Данные["name"]).Равно(Имя);
    #КонецОбласти

    #Область УстановитьТемуКанала
    Результат = OPI_Slack.УстановитьТемуКанала(Токен, Канал, Тема);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УстановитьТемуКанала");

    Данные = Результат["channel"];
    Канал  = Данные["id"];

    Проверка_СлакОк(Результат);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Данные["name"]).Равно(Имя);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Данные["topic"]["value"]).Равно(Тема);
    #КонецОбласти

    #Область УстановитьЦельКанала
    Результат = OPI_Slack.УстановитьЦельКанала(Токен, Канал, Цель);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УстановитьЦельКанала");

    Проверка_СлакОк(Результат);
    #КонецОбласти

    #Область ПолучитьКанал
    Результат = OPI_Slack.ПолучитьКанал(Токен, Канал);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьКанал");

    Данные = Результат["channel"];
    Канал  = Данные["id"];

    Проверка_СлакОк(Результат);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Данные["name"]).Равно(Имя);
    #КонецОбласти

    #Область ПригласитьПользователейВКанал
    Результат = OPI_Slack.ПригласитьПользователейВКанал(Токен, Канал, Пользователь);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПригласитьПользователейВКанал");

    Данные = Результат["channel"];
    Канал  = Данные["id"];

    Проверка_СлакОк(Результат);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Данные["name"]).Равно(Имя);
    #КонецОбласти

    #Область ВыгнатьПользователяИзКанала
    Результат = OPI_Slack.ВыгнатьПользователяИзКанала(Токен, Канал, Пользователь);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВыгнатьПользователяИзКанала");

    Проверка_СлакОк(Результат);
    #КонецОбласти

    #Область ПолучитьИсториюКанала
    Результат = OPI_Slack.ПолучитьИсториюКанала(Токен, Канал);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИсториюКанала");

    Проверка_СлакОк(Результат);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["messages"]).ИмеетТип("Массив");
    #КонецОбласти

    #Область ПолучитьСписокПользователейКанала
    Результат = OPI_Slack.ПолучитьСписокПользователейКанала(Токен, Канал);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокПользователейКанала");

    Проверка_СлакОк(Результат);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["members"]).ИмеетТип("Массив");
    #КонецОбласти

    #Область ПокинутьКанал
    Результат = OPI_Slack.ПокинутьКанал(Токен, Канал);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПокинутьКанал");

    Проверка_СлакОк(Результат);
    #КонецОбласти

    #Область ВступитьВКанал
    Результат = OPI_Slack.ВступитьВКанал(Токен, Канал);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВступитьВКанал");

    Данные = Результат["channel"];
    Канал  = Данные["id"];

    Проверка_СлакОк(Результат);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Данные["name"]).Равно(Имя);
    #КонецОбласти

    #Область ПереименоватьКанал
    НовоеИмя  = "testconv" + Строка(Новый УникальныйИдентификатор);
    Результат = OPI_Slack.ПереименоватьКанал(Токен, Канал, НовоеИмя);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереименоватьКанал");

    Данные = Результат["channel"];
    Канал  = Данные["id"];

    Проверка_СлакОк(Результат);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Данные["name"]).Равно(НовоеИмя);
    #КонецОбласти

    #Область АрхивироватьКанал
    Результат = OPI_Slack.АрхивироватьКанал(Токен, Канал);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "АрхивироватьКанал");

    Проверка_СлакОк(Результат);
    #КонецОбласти

КонецПроцедуры

Процедура Слак_ПолучитьСписокКаналов() Экспорт

    Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token");

    Результат = OPI_Slack.ПолучитьСписокКаналов(Токен);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокКаналов");

    Проверка_СлакОк(Результат);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["channels"]).ИмеетТип("Массив");

КонецПроцедуры

Процедура Слак_ОткрытьЗакрытьДиалог() Экспорт

    Токен        = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token");
    Пользователь = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_User");
    Текст        = "Yo, dude";

    Результат = OPI_Slack.ОткрытьДиалог(Токен, Пользователь);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОткрытьДиалог");

    Диалог = Результат["channel"]["id"];
    Проверка_СлакОк(Результат);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["channel"]).ИмеетТип("Соответствие");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Диалог).Заполнено();

    Результат = OPI_Slack.ОтправитьСообщение(Токен, Диалог, Текст);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьСообщение");

    Проверка_СлакОк(Результат);

    Результат = OPI_Slack.ЗакрытьДиалог(Токен, Диалог);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗакрытьДиалог");

    Проверка_СлакОк(Результат);

КонецПроцедуры

Процедура Слак_ПолучитьСписокФайлов() Экспорт

    Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token");
    Канал = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Channel");

    Результат = OPI_Slack.ПолучитьСписокФайлов(Токен, Канал);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокФайлов");

    Проверка_СлакОк(Результат);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["files"]).ИмеетТип("Массив");

КонецПроцедуры

Процедура Слак_ЗагрузитьУдалитьФайл() Экспорт

    Токен        = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token");
    Файл         = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Document");
    Канал        = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Channel");
    МассивФайлов = Новый Массив;
    ИмяФайла     = "megadoc.docx";
    Заголовок    = "Новый файл";

    Результат = OPI_Slack.ЗагрузитьФайл(Токен, Файл, ИмяФайла, Заголовок);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьФайл");

    ЗагруженныйФайл = Результат["files"][0];
    МассивФайлов.Добавить(ЗагруженныйФайл["id"]);

    Проверка_СлакОк(Результат);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(ЗагруженныйФайл["name"]).Равно(ИмяФайла);

    Результат = OPI_Slack.ЗагрузитьФайл(Токен, Файл, ИмяФайла, Заголовок, Канал);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьФайл (в канал)");

    ЗагруженныйФайл = Результат["files"][0];
    МассивФайлов.Добавить(ЗагруженныйФайл["id"]);

    Проверка_СлакОк(Результат);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(ЗагруженныйФайл["name"]).Равно(ИмяФайла);

    Результат = OPI_Slack.ПолучитьДанныеФайла(Токен, ЗагруженныйФайл["id"]);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьФайл");

    ЗагруженныйФайл = Результат["file"];

    Проверка_СлакОк(Результат);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(ЗагруженныйФайл["name"]).Равно(ИмяФайла);

    Для Каждого ЗагруженныйФайл Из МассивФайлов Цикл

        Результат = OPI_Slack.УдалитьФайл(Токен, ЗагруженныйФайл);

        OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьФайл");

        Проверка_СлакОк(Результат);

    КонецЦикла;

КонецПроцедуры

Процедура Слак_ПолучитьСписокВФ() Экспорт

    Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token");
    Канал = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Channel");

    Результат = OPI_Slack.ПолучитьСписокВнешнихФайлов(Токен);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокВнешнихФайлов");

    Проверка_СлакОк(Результат);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["files"]).ИмеетТип("Массив");

    Результат = OPI_Slack.ПолучитьСписокВнешнихФайлов(Токен, Канал);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокВнешнихФайлов");

    Проверка_СлакОк(Результат);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["files"]).ИмеетТип("Массив");

КонецПроцедуры

Процедура Слак_ЗагрузитьУдалитьВФ() Экспорт

    Токен        = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token");
    Файл         = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Document");
    Канал        = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Channel");
    Заголовок    = "Новый файл";

    Результат = OPI_Slack.ДобавитьВнешнийФайл(Токен, Файл, Заголовок);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьВнешнийФайл");

    ЗагруженныйФайл = Результат["file"];

    Проверка_СлакОк(Результат);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(ЗагруженныйФайл["title"]).Равно(Заголовок);

    Результат = OPI_Slack.ПолучитьВнешнийФайл(Токен, ЗагруженныйФайл["id"]);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьВнешнийФайл");

    ЗагруженныйФайл = Результат["file"];

    Проверка_СлакОк(Результат);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(ЗагруженныйФайл["title"]).Равно(Заголовок);

    Результат = OPI_Slack.ОтправитьВнешнийФайл(Токен, ЗагруженныйФайл["id"], Канал);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьВнешнийФайл");

    Проверка_СлакОк(Результат);

    Результат = OPI_Slack.УдалитьВнешнийФайл(Токен, ЗагруженныйФайл["id"]);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьВнешнийФайл");

    Проверка_СлакОк(Результат);

КонецПроцедуры

#КонецОбласти

#Область Airtable

Процедура АТ_СоздатьБазу() Экспорт

    Токен        = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Airtable_Token");
    Область      = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Airtable_Workspace");
    Наименование = "Тестовая база";

    МассивПолей = Новый Массив;
    МассивПолей.Добавить(OPI_Airtable.ПолучитьПолеНомера("Номер"));
    МассивПолей.Добавить(OPI_Airtable.ПолучитьПолеСтроковое("Строковое"));

    ИмяТаблицы = "Тестовая таблица";

    СоответствиеТаблиц = Новый Соответствие;
    СоответствиеТаблиц.Вставить(ИмяТаблицы, МассивПолей);

    Результат = OPI_Airtable.СоздатьБазу(Токен, Область, Наименование, СоответствиеТаблиц);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьБазу");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["id"]).Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["tables"][0]["name"]).Равно(ИмяТаблицы);

    База = Результат["id"];
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Airtable_Base", База);

    Результат = OPI_Airtable.ПолучитьТаблицыБазы(Токен, База);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьТаблицыБазы");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["tables"]).Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["tables"]).ИмеетТип("Массив");

    Результат = OPI_Airtable.ПолучитьСписокБаз(Токен);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокБаз");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["bases"]).Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["bases"]).ИмеетТип("Массив");

КонецПроцедуры

Процедура АТ_СоздатьТаблицу() Экспорт

    Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Airtable_Token");
    База  = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Airtable_Base");

    МассивПолей = Новый Массив;
    МассивПолей.Добавить(OPI_Airtable.ПолучитьПолеНомера("Номер"));
    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(МассивПолей[0], "ПолучитьПолеНомера");

    МассивПолей.Добавить(OPI_Airtable.ПолучитьПолеСтроковое("Строковое"));
    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(МассивПолей[1], "ПолучитьПолеСтроковое");

    МассивПолей.Добавить(OPI_Airtable.ПолучитьПолеВложения("Вложение"));
    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(МассивПолей[2], "ПолучитьПолеВложения");

    МассивПолей.Добавить(OPI_Airtable.ПолучитьПолеФлажка("Флажок"));
    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(МассивПолей[3], "ПолучитьПолеФлажка");

    МассивПолей.Добавить(OPI_Airtable.ПолучитьПолеДаты("Дата"));
    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(МассивПолей[4], "ПолучитьПолеДаты");

    МассивПолей.Добавить(OPI_Airtable.ПолучитьПолеТелефона("Телефон"));
    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(МассивПолей[5], "ПолучитьПолеТелефона");

    МассивПолей.Добавить(OPI_Airtable.ПолучитьПолеПочты("Почта"));
    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(МассивПолей[6], "ПолучитьПолеПочты");

    МассивПолей.Добавить(OPI_Airtable.ПолучитьПолеСсылки("Ссылка"));
    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(МассивПолей[7], "ПолучитьПолеСсылки");

    ИмяТаблицы = "Тестовая таблица 2";
    Описание   = "Новая таблица";

    Результат = OPI_Airtable.СоздатьТаблицу(Токен, База, ИмяТаблицы, МассивПолей, Описание);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТаблицу");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["name"]).Равно(ИмяТаблицы);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["description"]).Равно(Описание);

    Таблица    = Результат["id"];
    ИмяТаблицы = "Тестовая таблица 2 (изм.)";
    Описание   = "Новая таблица (изм.)";

    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Airtable_Table", Таблица);

    Результат = OPI_Airtable.ИзменитьТаблицу(Токен, База, Таблица, ИмяТаблицы, Описание);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьТаблицу");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["name"]).Равно(ИмяТаблицы);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["description"]).Равно(Описание);

КонецПроцедуры

Процедура АТ_СоздатьПоле() Экспорт

    Токен   = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Airtable_Token");
    База    = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Airtable_Base");
    Таблица = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Airtable_Table");
    Имя     = Строка(Новый УникальныйИдентификатор);

    Поле = OPI_Airtable.ПолучитьПолеНомера(Имя);

    Результат = OPI_Airtable.СоздатьПоле(Токен, База, Таблица, Поле);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьПоле");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["name"]).Равно(Имя);

    Поле      = Результат["id"];
    Имя       = Имя + "(изм.)";
    Описание  = "Новое описание";

    Результат = OPI_Airtable.ИзменитьПоле(Токен, База, Таблица, Поле, Имя, Описание);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьПоле");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["name"]).Равно(Имя);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["description"]).Равно(Описание);

КонецПроцедуры

Процедура АТ_СоздатьУдалитьЗаписи() Экспорт

    Токен   = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Airtable_Token");
    База    = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Airtable_Base");
    Таблица = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Airtable_Table");

    Числовой = 10;
    Строчный = "Привет";

    ОписаниеСтроки1 = Новый Структура("Номер,Строковое", Числовой, Строчный);
    ОписаниеСтроки2 = Новый Структура("Номер,Строковое", Числовой, Строчный);

    МассивУдаляемых = Новый Массив;
    МассивОписаний  = Новый Массив;
    МассивОписаний.Добавить(ОписаниеСтроки1);
    МассивОписаний.Добавить(ОписаниеСтроки2);

    Результат = OPI_Airtable.СоздатьЗаписи(Токен, База, Таблица, МассивОписаний);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьЗаписи");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["records"]).ИмеетТип("Массив");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["records"].Количество()).Равно(2);

    Для Каждого Запись Из Результат["records"] Цикл
        МассивУдаляемых.Добавить(Запись["id"]);
    КонецЦикла;

    Результат = OPI_Airtable.СоздатьЗаписи(Токен, База, Таблица, ОписаниеСтроки1);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьЗаписи (одна)");

    ОдиночнаяЗапись = Результат["id"];
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(ОдиночнаяЗапись).Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["createdTime"]).Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["fields"]["Номер"]).Равно(Числовой);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(СокрЛП(Результат["fields"]["Строковое"])).Равно(Строчный);

    Результат = OPI_Airtable.ПолучитьЗапись(Токен, База, Таблица, ОдиночнаяЗапись);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗапись");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["id"]).Равно(ОдиночнаяЗапись);

    Текст     = "Тестовый комментарий";
    Результат = OPI_Airtable.СоздатьКомментарий(Токен, База, Таблица, ОдиночнаяЗапись, Текст);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьКомментарий");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["text"]).Равно(Текст);

    Коммент   = Результат["id"];
    Текст     = "Тестовый комментарий (изм.)";
    Результат = OPI_Airtable.ИзменитьКомментарий(Токен, База, Таблица, ОдиночнаяЗапись, Коммент, Текст);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьКомментарий");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["text"]).Равно(Текст);

    Результат = OPI_Airtable.ПолучитьКомментарии(Токен, База, Таблица, ОдиночнаяЗапись);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьКомментарии");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["comments"]).ИмеетТип("Массив");

    Результат = OPI_Airtable.УдалитьКомментарий(Токен, База, Таблица, ОдиночнаяЗапись, Коммент);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьКомментарий");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["deleted"]).Равно(Истина);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["id"]).Равно(Коммент);

    Результат = OPI_Airtable.ПолучитьСписокЗаписей(Токен, База, Таблица);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокЗаписей");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["records"]).ИмеетТип("Массив");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["records"]).Заполнено();

    Результат = OPI_Airtable.УдалитьЗаписи(Токен, База, Таблица, МассивУдаляемых);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьЗаписи");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["records"]).ИмеетТип("Массив");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["records"]).Заполнено();

    Результат = OPI_Airtable.УдалитьЗаписи(Токен, База, Таблица, ОдиночнаяЗапись);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьЗаписи (одна)");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["records"]).ИмеетТип("Массив");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["records"]).Заполнено();

КонецПроцедуры

#КонецОбласти

#Область Dropbox

Процедура ДропБокс_ПолучитьОбновитьТокен() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_Appkey"   , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_Appsecret", ПараметрыТеста);

    Dropbox_ПолучитьСсылкуАвторизации(ПараметрыТеста);

    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_Code", ПараметрыТеста);

    Dropbox_ПолучитьТокен(ПараметрыТеста);

    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_Refresh", ПараметрыТеста);

    Dropbox_ОбновитьТокен(ПараметрыТеста);

КонецПроцедуры

Процедура ДропБокс_ЗагрузитьФайл() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_Token", ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture"      , ПараметрыТеста);

    Dropbox_ЗагрузитьФайл(ПараметрыТеста);
    Dropbox_ПолучитьИнформациюОбОбъекте(ПараметрыТеста);
    Dropbox_ПолучитьСписокВерсийОбъекта(ПараметрыТеста);
    Dropbox_ВосстановитьОбъектКВерсии(ПараметрыТеста);
    Dropbox_ПолучитьПревью(ПараметрыТеста);
    Dropbox_СкачатьФайл(ПараметрыТеста);
    Dropbox_ПереместитьОбъект(ПараметрыТеста);
    Dropbox_КопироватьОбъект(ПараметрыТеста);
    Dropbox_УдалитьОбъект(ПараметрыТеста);

КонецПроцедуры

Процедура ДропБокс_СоздатьКаталог() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_Token", ПараметрыТеста);

    Dropbox_СоздатьПапку(ПараметрыТеста);
    Dropbox_СкачатьПапку(ПараметрыТеста);

КонецПроцедуры

Процедура ДропБокс_ПолучитьСписокФайловПапки() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_Token", ПараметрыТеста);

    Dropbox_ПолучитьСписокФайловПапки(ПараметрыТеста);

КонецПроцедуры

Процедура ДропБокс_ЗагрузитьФайлПоURL() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_Token", ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Document"     , ПараметрыТеста);

    Dropbox_ЗагрузитьФайлПоURL(ПараметрыТеста);
    Dropbox_ПолучитьСтатусЗагрузкиПоURL(ПараметрыТеста);

КонецПроцедуры

Процедура ДропБокс_СоздатьУдалитьТег() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_Token", ПараметрыТеста);

    Dropbox_ДобавитьТег(ПараметрыТеста);
    Dropbox_ПолучитьСписокТегов(ПараметрыТеста);
    Dropbox_УдалитьТег(ПараметрыТеста);

КонецПроцедуры

Процедура ДропБокс_ПолучитьАккаунт() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_Token", ПараметрыТеста);

    Dropbox_ПолучитьИнформациюОбАккаунте(ПараметрыТеста);
    Dropbox_ПолучитьДанныеИспользованияПространства(ПараметрыТеста);

КонецПроцедуры

Процедура ДропБокс_РаботаСДоступами() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_Token"    , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_OtherUser", ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_FileID"   , ПараметрыТеста);

    Dropbox_ДобавитьПользователейКФайлу(ПараметрыТеста);
    Dropbox_ОпубликоватьПапку(ПараметрыТеста);
    Dropbox_ДобавитьПользователейКПапке(ПараметрыТеста);
    Dropbox_ОтменитьПубликациюПапки(ПараметрыТеста);
    Dropbox_ОтменитьПубликациюФайла(ПараметрыТеста);

КонецПроцедуры

#КонецОбласти

#Область Bitrix24

Процедура Б24_РаботаСТокеном() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Domain"      , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_ClientID"    , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_ClientSecret", ПараметрыТеста);

    Bitrix24_ПолучитьСсылкуАвторизацииПриложения(ПараметрыТеста);

    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Code", ПараметрыТеста);

    Bitrix24_ПолучитьТокен(ПараметрыТеста);

    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Refresh", ПараметрыТеста);

    Bitrix24_ОбновитьТокен(ПараметрыТеста);

КонецПроцедуры

Процедура Б24_СерверноеВремя() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_URL"   , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Domain", ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Token" , ПараметрыТеста);

    Bitrix24_СерверноеВремя(ПараметрыТеста);

КонецПроцедуры

Процедура Б24_РаботаСНовостями() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_URL"   , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Domain", ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Token" , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture"        , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture2"       , ПараметрыТеста);

    Bitrix24_СоздатьНовость(ПараметрыТеста);
    Bitrix24_ИзменитьНовость(ПараметрыТеста);
    Bitrix24_ПолучитьСписокПросмотревшихВажное(ПараметрыТеста);
    Bitrix24_ПолучитьНовости(ПараметрыТеста);
    Bitrix24_ДобавитьКомментарийНовости(ПараметрыТеста);
    Bitrix24_ДобавитьПолучателейКНовости(ПараметрыТеста);
    Bitrix24_УдалитьНовость(ПараметрыТеста);

КонецПроцедуры

Процедура Б24_РаботаСЗадачами() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_URL"   , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Domain", ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Token" , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_UserID", ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture"        , ПараметрыТеста);

    Bitrix24_ПолучитьСтруктуруЗадачи(ПараметрыТеста);
    Bitrix24_СоздатьЗадачу(ПараметрыТеста);
    Bitrix24_СоздатьЗависимостьЗадач(ПараметрыТеста);
    Bitrix24_ИзменитьЗадачу(ПараметрыТеста);
    Bitrix24_ПолучитьЗадачу(ПараметрыТеста);
    Bitrix24_ОтключитьЗвукЗадачи(ПараметрыТеста);
    Bitrix24_ВключитьЗвукЗадачи(ПараметрыТеста);
    Bitrix24_ДобавитьЗадачуВИзбранное(ПараметрыТеста);
    Bitrix24_УбратьЗадачуИзИзбранного(ПараметрыТеста);
    Bitrix24_ДелегироватьЗадачу(ПараметрыТеста);
    Bitrix24_ОтложитьЗадачу(ПараметрыТеста);
    Bitrix24_ЗавершитьЗадачу(ПараметрыТеста);
    Bitrix24_ОтклонитьЗадачу(ПараметрыТеста);
    Bitrix24_ПринятьЗадачу(ПараметрыТеста);
    Bitrix24_ВозобновитьЗадачу(ПараметрыТеста);
    Bitrix24_НачатьВыполнениеЗадачи(ПараметрыТеста);
    Bitrix24_НачатьНаблюдатьЗаЗадачей(ПараметрыТеста);
    Bitrix24_ПрекратитьНаблюдатьЗаЗадачей(ПараметрыТеста);
    Bitrix24_ПриостановитьЗадачу(ПараметрыТеста);
    Bitrix24_ПолучитьИсториюЗадачи(ПараметрыТеста);
    Bitrix24_ПолучитьСписокЗадач(ПараметрыТеста);
    Bitrix24_ПроверитьДоступКЗадаче(ПараметрыТеста);
    Bitrix24_ДобавитьЭлементЧеклистаЗадачи(ПараметрыТеста);
    Bitrix24_ИзменитьЭлементЧеклистаЗадачи(ПараметрыТеста);
    Bitrix24_ПолучитьЧеклистЗадачи(ПараметрыТеста);
    Bitrix24_ПолучитьЭлементЧеклистаЗадачи(ПараметрыТеста);
    Bitrix24_ВыполнитьЭлементЧеклистаЗадачи(ПараметрыТеста);
    Bitrix24_ВозобновитьЭлементЧеклистаЗадачи(ПараметрыТеста);
    Bitrix24_УдалитьЭлементЧеклистаЗадачи(ПараметрыТеста);
    Bitrix24_ПолучитьПланЗадачНаДень(ПараметрыТеста);

    Наименование  = "Картинка задачи.jpg";
    Картинка      = ПараметрыТеста["Picture"];
    IDПриемника   = 3;

    URL = ПараметрыТеста["Bitrix24_URL"];

    Результат = OPI_Bitrix24.ЗагрузитьФайлВХранилище(URL, Наименование, Картинка, IDПриемника);
    IDФайла   = Результат["result"]["ID"];

    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_TaskFileID", IDФайла);
    ПараметрыТеста.Вставить("Bitrix24_TaskFileID", IDФайла);

    Bitrix24_ДобавитьФайлВЗадачу(ПараметрыТеста);

    OPI_Bitrix24.УдалитьФайл(URL, IDФайла);

    Bitrix24_УдалитьЗадачу(ПараметрыТеста);

КонецПроцедуры

Процедура Б24_РаботаСДиском() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_URL"   , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Domain", ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Token" , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture"        , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture2"       , ПараметрыТеста);

    Bitrix24_ПолучитьСписокХранилищ(ПараметрыТеста);
    Bitrix24_ПолучитьХранилищеПриложения(ПараметрыТеста);
    Bitrix24_ПереименоватьХранилище(ПараметрыТеста);
    Bitrix24_ПолучитьХранилище(ПараметрыТеста);
    Bitrix24_ЗагрузитьФайлВХранилище(ПараметрыТеста);
    Bitrix24_ПолучитьСодержимоеХранилища(ПараметрыТеста);
    Bitrix24_ПолучитьИнформациюОФайле(ПараметрыТеста);
    Bitrix24_ПолучитьВнешнююСсылкуФайла(ПараметрыТеста);
    Bitrix24_ПереименоватьФайл(ПараметрыТеста);
    Bitrix24_ПоместитьФайлВКорзину(ПараметрыТеста);
    Bitrix24_ВосстановитьФайл(ПараметрыТеста);
    Bitrix24_СоздатьКаталогВХранилище(ПараметрыТеста);
    Bitrix24_ПереименоватьКаталог(ПараметрыТеста);
    Bitrix24_ПолучитьИнформациюОКаталоге(ПараметрыТеста);
    Bitrix24_ПолучитьВнешнююСсылкуКаталога(ПараметрыТеста);
    Bitrix24_СоздатьПодкаталог(ПараметрыТеста);
    Bitrix24_ПереместитьФайлВКаталог(ПараметрыТеста);
    Bitrix24_СкопироватьКаталог(ПараметрыТеста);
    Bitrix24_ЗагрузитьФайлВКаталог(ПараметрыТеста);
    Bitrix24_СкопироватьФайл(ПараметрыТеста);
    Bitrix24_УдалитьФайл(ПараметрыТеста);
    Bitrix24_ПолучитьСтруктуруФильтраКаталога(ПараметрыТеста);
    Bitrix24_ПолучитьДочерниеЭлементыКаталога(ПараметрыТеста);
    Bitrix24_ПереместитьКаталог(ПараметрыТеста);
    Bitrix24_ПоместитьКаталогВКорзину(ПараметрыТеста);
    Bitrix24_ВосстановитьКаталог(ПараметрыТеста);
    Bitrix24_УдалитьКаталог(ПараметрыТеста);

КонецПроцедуры

Процедура Б24_РаботаСКомментариями() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_URL"   , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Domain", ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Token" , ПараметрыТеста);

    ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату();
    Час         = 3600;
    Сутки       = 24;
    Исполнитель = 1;

    СтруктураЗадачи = Новый Структура;
    СтруктураЗадачи.Вставить("TITLE"         , "Новая задача");
    СтруктураЗадачи.Вставить("DESCRIPTION"   , "Новое описание задачи");
    СтруктураЗадачи.Вставить("PRIORITY"      , "2");
    СтруктураЗадачи.Вставить("DEADLINE"      , ТекущаяДата + Час * Сутки);
    СтруктураЗадачи.Вставить("RESPONSIBLE_ID", Исполнитель);

    URL = ПараметрыТеста["Bitrix24_URL"];

    Результат = OPI_Bitrix24.СоздатьЗадачу(URL, СтруктураЗадачи);
    IDЗадачи  = Результат["result"]["task"]["id"];

    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_CommentsTaskID", IDЗадачи);
    ПараметрыТеста.Вставить("Bitrix24_CommentsTaskID", IDЗадачи);

    Bitrix24_ДобавитьКомментарийЗадачи(ПараметрыТеста);
    Bitrix24_ИзменитьКомментарийЗадачи(ПараметрыТеста);
    Bitrix24_СоздатьРезультатИзКомментария(ПараметрыТеста);
    Bitrix24_ПолучитьСписокРезультатов(ПараметрыТеста);
    Bitrix24_УдалитьРезультатИзКомментария(ПараметрыТеста);
    Bitrix24_ПолучитьСписокКомментариевЗадачи(ПараметрыТеста);
    Bitrix24_ПолучитьКомменатрийЗадачи(ПараметрыТеста);
    Bitrix24_УдалитьКомментарийЗадачи(ПараметрыТеста);

    OPI_Bitrix24.УдалитьЗадачу(URL, IDЗадачи);

КонецПроцедуры

Процедура Б24_УчетРабочегоВремени() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_URL"   , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Domain", ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Token" , ПараметрыТеста);

    ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату();
    Час         = 3600;
    Сутки       = 24;
    Исполнитель = 1;

    СтруктураЗадачи = Новый Структура;
    СтруктураЗадачи.Вставить("TITLE"         , "Новая задача");
    СтруктураЗадачи.Вставить("DESCRIPTION"   , "Новое описание задачи");
    СтруктураЗадачи.Вставить("PRIORITY"      , "2");
    СтруктураЗадачи.Вставить("DEADLINE"      , ТекущаяДата + Час * Сутки);
    СтруктураЗадачи.Вставить("RESPONSIBLE_ID", Исполнитель);

    URL = ПараметрыТеста["Bitrix24_URL"];

    Результат = OPI_Bitrix24.СоздатьЗадачу(URL, СтруктураЗадачи);
    IDЗадачи  = Результат["result"]["task"]["id"];

    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_ElapsedTaskID", IDЗадачи);
    ПараметрыТеста.Вставить("Bitrix24_ElapsedTaskID", IDЗадачи);

    Bitrix24_ДобавитьТрудозатратыЗадачи(ПараметрыТеста);
    Bitrix24_ПолучитьТрудозатратыЗадачи(ПараметрыТеста);
    Bitrix24_ПолучитьСписокТрудозатратЗадачи(ПараметрыТеста);
    Bitrix24_ИзменитьТрудозатратыЗадачи(ПараметрыТеста);
    Bitrix24_УдалитьТрудозатратыЗадачи(ПараметрыТеста);
    Bitrix24_НачатьУчетВремени(ПараметрыТеста);
    Bitrix24_ПриостановитьУчетВремени(ПараметрыТеста);
    Bitrix24_ПолучитьСтатусУчетаВремени(ПараметрыТеста);
    Bitrix24_ЗавершитьУчетВремени(ПараметрыТеста);
    Bitrix24_ПолучитьНастройкиУчетаВремени(ПараметрыТеста);

    OPI_Bitrix24.УдалитьЗадачу(URL, IDЗадачи);

КонецПроцедуры

Процедура Б24_Канбан() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_URL"   , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Domain", ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Token" , ПараметрыТеста);

    ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату();
    Час         = 3600;
    Сутки       = 24;
    Исполнитель = 1;

    СтруктураЗадачи = Новый Структура;
    СтруктураЗадачи.Вставить("TITLE"         , "Новая задача");
    СтруктураЗадачи.Вставить("DESCRIPTION"   , "Новое описание задачи");
    СтруктураЗадачи.Вставить("PRIORITY"      , "2");
    СтруктураЗадачи.Вставить("DEADLINE"      , ТекущаяДата + Час * Сутки);
    СтруктураЗадачи.Вставить("RESPONSIBLE_ID", Исполнитель);

    URL = ПараметрыТеста["Bitrix24_URL"];

    Результат = OPI_Bitrix24.СоздатьЗадачу(URL, СтруктураЗадачи);
    IDЗадачи  = Результат["result"]["task"]["id"];

    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_KanbanTaskID", IDЗадачи);
    ПараметрыТеста.Вставить("Bitrix24_KanbanTaskID", IDЗадачи);

    Bitrix24_ДобавитьСтадиюКанбана(ПараметрыТеста);
    Bitrix24_ПолучитьСтадииКанбана(ПараметрыТеста);
    Bitrix24_ПеренестиЗадачуВСтадиюКанбана(ПараметрыТеста);
    Bitrix24_ИзменитьСтадиюКанбана(ПараметрыТеста);

    OPI_Bitrix24.УдалитьЗадачу(URL, IDЗадачи);

    Bitrix24_УдалитьСтадиюКанбана(ПараметрыТеста);

КонецПроцедуры

Процедура Б24_РаботаСЧатами() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_URL"   , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Domain", ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Token" , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture"        , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture2"       , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Document"       , ПараметрыТеста);

    Bitrix24_ПолучитьСтатусПользователя(ПараметрыТеста);
    Bitrix24_УстановитьСтатусПользователя(ПараметрыТеста);
    Bitrix24_ПолучитьПользователей(ПараметрыТеста);
    Bitrix24_СоздатьЧат(ПараметрыТеста);

    OPI_Инструменты.Пауза(5);

    Bitrix24_ПолучитьСписокПользователейЧата(ПараметрыТеста);
    Bitrix24_ИсключитьПользователяИзЧата(ПараметрыТеста);
    Bitrix24_ДобавитьПользователейВЧат(ПараметрыТеста);
    Bitrix24_ИзменитьЗаголовокЧата(ПараметрыТеста);

    OPI_Инструменты.Пауза(5);

    Bitrix24_ИзменитьЦветЧата(ПараметрыТеста);
    Bitrix24_ИзменитьКартинкуЧата(ПараметрыТеста);
    Bitrix24_ОтключитьУведомленияЧата(ПараметрыТеста);
    Bitrix24_ВключитьУведомленияЧата(ПараметрыТеста);

    OPI_Инструменты.Пауза(5);

    Bitrix24_ПолучитьСписокСообщенийЧата(ПараметрыТеста);
    Bitrix24_ОтметитьСообщениеКакПрочитанное(ПараметрыТеста);
    Bitrix24_ОтметитьСообщениеКакНепрочитанное(ПараметрыТеста);
    Bitrix24_ПолучитьДиалог(ПараметрыТеста);

    OPI_Инструменты.Пауза(5);

    Bitrix24_ПолучитьСписокПользователейДиалога(ПараметрыТеста);
    Bitrix24_ОтправитьУведомлениеОВводе(ПараметрыТеста);
    Bitrix24_ОтправитьСообщение(ПараметрыТеста);
    Bitrix24_ИзменитьСообщение(ПараметрыТеста);

    OPI_Инструменты.Пауза(5);

    Bitrix24_УстановитьРеакциюНаСообщение(ПараметрыТеста);
    Bitrix24_УдалитьСообщение(ПараметрыТеста);
    Bitrix24_ПолучитьКаталогФайловЧата(ПараметрыТеста);
    Bitrix24_ОтправитьФайл(ПараметрыТеста);

    OPI_Инструменты.Пауза(5);

    Bitrix24_ПрочитатьВсе(ПараметрыТеста);
    Bitrix24_СменитьВладельцаЧата(ПараметрыТеста);
    Bitrix24_ПокинутьЧат(ПараметрыТеста);

КонецПроцедуры

Процедура Б24_РаботаСУведомлениями() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_URL"   , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Domain", ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Token" , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture"        , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture2"       , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Document"       , ПараметрыТеста);

    Bitrix24_СоздатьПерсональноеУведомление(ПараметрыТеста);
    Bitrix24_СоздатьСистемноеУведомление(ПараметрыТеста);
    Bitrix24_УдалитьУведомление(ПараметрыТеста);

КонецПроцедуры

Процедура Б24_РаботаСПолямиЗадач() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_URL"            , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Domain"         , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Token"          , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_HookTaskFieldID", ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_TaskFieldID"    , ПараметрыТеста);

    Bitrix24_ДобавитьПользовательскоеПолеЗадачи(ПараметрыТеста);
    Bitrix24_ИзменитьПользовательскоеПолеЗадачи(ПараметрыТеста);
    Bitrix24_ПолучитьПользовательскоеПолеЗадачи(ПараметрыТеста);
    Bitrix24_ПолучитьСписокПользовательскихПолейЗадачи(ПараметрыТеста);
    Bitrix24_УдалитьПользовательскоеПолеЗадачи(ПараметрыТеста);

КонецПроцедуры

Процедура Б24_УправлениеПодразделениями() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_URL"   , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Domain", ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Token" , ПараметрыТеста);

    Bitrix24_СоздатьПодразделение(ПараметрыТеста);
    Bitrix24_ПолучитьПодразделения(ПараметрыТеста);
    Bitrix24_ИзменитьПодразделение(ПараметрыТеста);
    Bitrix24_УдалитьПодразделение(ПараметрыТеста);

КонецПроцедуры

Процедура Б24_УправлениеПользователями() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_URL"   , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Domain", ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Token" , ПараметрыТеста);

    Bitrix24_ПолучитьТекущегоПользователя(ПараметрыТеста);
    Bitrix24_ПолучитьСтурктуруПользователя(ПараметрыТеста);
    Bitrix24_СоздатьПользователя(ПараметрыТеста);
    Bitrix24_НайтиПользователей(ПараметрыТеста);
    Bitrix24_ИзменитьПользователя(ПараметрыТеста);
    Bitrix24_ПолучитьПользователя(ПараметрыТеста);
    Bitrix24_ИзменитьСтатусПользователя(ПараметрыТеста);

КонецПроцедуры

#КонецОбласти

#Область VkTeams

Процедура ВКТ_ОбщиеМетоды() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("VkTeams_Token" , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("VkTeams_FileID", ПараметрыТеста);

    VkTeams_ПроверитьТокен(ПараметрыТеста);
    VkTeams_ПолучитьСобытия(ПараметрыТеста);
    VKTeams_ПолучитьИнформациюОФайле(ПараметрыТеста);

КонецПроцедуры

Процедура ВКТ_ОтправкаСообщений() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("VkTeams_Token"    , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("VkTeams_ChatID"   , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("VkTeams_ChatID2"  , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("VkTeams_MessageID", ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Document"         , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Audio2"           , ПараметрыТеста);

    VkTeams_ОтправитьТекстовоеСообщение(ПараметрыТеста);
    OPI_Инструменты.Пауза(60);

    VKTeams_ОтветитьНаСобытиеКлавиатуры(ПараметрыТеста);
    VKTeams_ПереслатьСообщение(ПараметрыТеста);
    VKTeams_ОтправитьФайл(ПараметрыТеста);
    VKTeams_ПереслатьФайл(ПараметрыТеста);
    VKTeams_ИзменитьТекстСообщения(ПараметрыТеста);
    VKTeams_ЗакрепитьСообщение(ПараметрыТеста);
    VKTeams_ОткрепитьСообщение(ПараметрыТеста);
    VKTeams_УдалитьСообщение(ПараметрыТеста);
    VKTeams_ОтправитьГолосовоеСообщение(ПараметрыТеста);
    VKTeams_ПереслатьГолосовоеСообщение(ПараметрыТеста);
    VKTeams_СформироватьКнопкуДействия(ПараметрыТеста);

КонецПроцедуры

Процедура ВКТ_УправлениеЧатами() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("VkTeams_Token"    , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("VkTeams_ChatID"   , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("VkTeams_ChatID2"  , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture3"         , ПараметрыТеста);

    VKTeams_ИсключитьПользователейЧата(ПараметрыТеста);
    VKTeams_ИзменитьАватарЧата(ПараметрыТеста);
    VKTeams_ПолучитьИнформациюОЧате(ПараметрыТеста);
    VKTeams_ПолучитьАдминистраторовЧата(ПараметрыТеста);
    VKTeams_ПолучитьПользователейЧата(ПараметрыТеста);
    VKTeams_ПолучитьЗаблокированныхПользователейЧата(ПараметрыТеста);
    VKTeams_ПолучитьЗапросыВступленияЧата(ПараметрыТеста);
    VKTeams_ЗаблокироватьПользователяЧата(ПараметрыТеста);
    VKTeams_РазблокироватьПользователяЧата(ПараметрыТеста);
    VKTeams_ОдобритьЗаявкуНаВступление(ПараметрыТеста);
    VKTeams_ОтклонитьЗаявкуНаВступление(ПараметрыТеста);
    VKTeams_УстановитьЗаголовокЧата(ПараметрыТеста);
    VKTeams_УстановитьОписаниеЧата(ПараметрыТеста);
    VKTeams_УстановитьПравилаЧата(ПараметрыТеста);

КонецПроцедуры

#КонецОбласти

#Область OzonSeller

Процедура ОзонАПИ_АтрибутыИХарактеристики() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Ozon_ClientID" , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Ozon_ApiKey"   , ПараметрыТеста);

    Ozon_ПолучитьДеревоКатегорийИТиповТоваров(ПараметрыТеста);
    Ozon_ПолучитьХарактеристикиКатегории(ПараметрыТеста);
    Ozon_ПолучитьЗначенияХарактеристики(ПараметрыТеста);
    Ozon_НайтиЗначенияХарактеристики(ПараметрыТеста);

КонецПроцедуры

Процедура ОзонАПИ_ЗагрузкаИОбновлениеТоваров() Экспорт

    ПараметрыТеста = Новый Структура;
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Ozon_ClientID" , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Ozon_ApiKey"   , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture"       , ПараметрыТеста);
    OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture2"      , ПараметрыТеста);

    Ozon_ПолучитьСтруктуруТовара(ПараметрыТеста);
    Ozon_СоздатьОбновитьТовары(ПараметрыТеста);
    Ozon_ПолучитьСтатусДобавленияТовара(ПараметрыТеста);
    Ozon_ДобавитьВидеоТовара(ПараметрыТеста);
    Ozon_ДобавитьВидеообложкуТовара(ПараметрыТеста);
    Ozon_ДополнитьКомплексныйАтрибут(ПараметрыТеста);

КонецПроцедуры

#КонецОбласти

#КонецОбласти

#КонецОбласти

#Область СлужебныеПроцедурыИФункции

Функция ПолучитьПараметрыВК()

    Параметры   = Новый Структура;
    НомерГруппы = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("VK_GroupID");

    Параметры.Вставить("access_token"  , OPI_ПолучениеДанныхТестов.ПолучитьПараметр("VK_Token"));
    Параметры.Вставить("owner_id"      , "-" + НомерГруппы);
    Параметры.Вставить("app_id"        , OPI_ПолучениеДанныхТестов.ПолучитьПараметр("VK_AppID"));
    Параметры.Вставить("group_id"      , НомерГруппы);

    Возврат Параметры;

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

Функция ПолучитьПараметрыТвиттер()

    Параметры = Новый Соответствие;

    Параметры.Вставить("redirect_uri"          , OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Twitter_Redirect"));
    Параметры.Вставить("client_id"             , OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Twitter_ClinetID"));
    Параметры.Вставить("client_secret"         , OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Twitter_ClientSecret"));
    Параметры.Вставить("access_token"          , OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Twitter_Token"));
    Параметры.Вставить("refresh_token"         , OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Twitter_Refresh"));
    Параметры.Вставить("oauth_token"           , OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Twitter_OAuthToken"));
    Параметры.Вставить("oauth_token_secret"    , OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Twitter_OAuthSecret"));

    Параметры.Вставить("oauth_consumer_key"
        , OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Twitter_OAuthConsumerKey"));
    Параметры.Вставить("oauth_consumer_secret"
        , OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Twitter_OAuthConsumerSecret"));

    Возврат Параметры;

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

#Область Проверки

Процедура Проверка_Пусто(Знач Результат)
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(ЗначениеЗаполнено(Результат)).Равно(Ложь);
КонецПроцедуры

Процедура Проверка_Строка(Знач Результат)
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Строка");
КонецПроцедуры

Процедура Проверка_ДвоичныеДанные(Знач Результат, Знач Размер = Неопределено)

    МинимальныйРазмер = 500000;

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("ДвоичныеДанные");

    Если Не Размер = Неопределено Тогда
        OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат.Размер() >= Размер).Равно(Истина);
    Иначе
        OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат.Размер() > МинимальныйРазмер).Равно(Истина);
    КонецЕсли;

КонецПроцедуры

Процедура Проверка_Массив(Знач Результат, Знач Количество = Неопределено)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Массив");

    Если Не Количество = Неопределено Тогда
       OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетДлину(Количество);
    КонецЕсли;

КонецПроцедуры

Процедура Проверка_Соответствие(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();

КонецПроцедуры

Процедура Проверка_Структура(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Структура").Заполнено();

КонецПроцедуры

Процедура Проверка_ТелеграмИстина(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).Равно(Истина);

КонецПроцедуры

Процедура Проверка_ТелеграмИнформацияБота(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["username"]).Заполнено();

КонецПроцедуры

Процедура Проверка_ТелеграмМассив(Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие") .Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Массив");

КонецПроцедуры

Процедура Проверка_ТелеграмУстановкаВебхук(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).Равно(Истина);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["description"]).Равно("Webhook was set");

КонецПроцедуры

Процедура Проверка_ТелеграмУдалениеВебхук(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).Равно(Истина);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["description"]).Заполнено();

КонецПроцедуры

Процедура Проверка_ТелеграмСообщение(Знач Результат, Знач Текст)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["text"]).Равно(Текст);

КонецПроцедуры

Процедура Проверка_ТелеграмКартинка(Знач Результат, Знач Текст)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие") .Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["caption"]).Равно(Текст);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["photo"]).ИмеетТип("Массив");

КонецПроцедуры

Процедура Проверка_ТелеграмВидео(Знач Результат, Знач Текст)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["caption"]).Равно(Текст);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["video"]["mime_type"]).Равно("video/mp4");

КонецПроцедуры

Процедура Проверка_ТелеграмАудио(Знач Результат, Знач Текст)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["caption"]).Равно(Текст);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["audio"]["mime_type"]).Равно("audio/mpeg");

КонецПроцедуры

Процедура Проверка_ТелеграмДокумент(Знач Результат, Знач Текст)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["caption"]).Равно(Текст);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["document"]).ИмеетТип("Соответствие").Заполнено();

КонецПроцедуры

Процедура Проверка_ТелеграмГифка(Знач Результат, Знач Текст)

    Result_ = "result";

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Result_]["caption"]).Равно(Текст);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Result_]["document"]).ИмеетТип("Соответствие").Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Result_]["animation"]["mime_type"]).Равно("video/mp4");

КонецПроцедуры

Процедура Проверка_ТелеграмМедиагруппа(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Массив");

КонецПроцедуры

Процедура Проверка_ТелеграмМестоположение(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["location"]).ИмеетТип("Соответствие").Заполнено();

КонецПроцедуры

Процедура Проверка_ТелеграмКонтакт(Знач Результат, Знач Имя)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["contact"]).ИмеетТип("Соответствие").Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["contact"]["first_name"]).Равно(Имя);

КонецПроцедуры

Процедура Проверка_ТелеграмОпрос(Знач Результат, Знач Вопрос)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["poll"]).ИмеетТип("Соответствие").Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["poll"]["question"]).Равно(Вопрос);

КонецПроцедуры

Процедура Проверка_ТелеграмПереслать(Знач Результат, Знач IDСообщения)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["forward_origin"]["message_id"]).Равно(Число(IDСообщения));

КонецПроцедуры

Процедура Проверка_ТелеграмБан(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["description"]).Равно("Bad Request: can't remove chat owner");

КонецПроцедуры

Процедура Проверка_ТелеграмПриглашение(Знач Результат, Знач Заголовок, Знач UnixИстечение)

    Result_ = "result";
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Result_]["member_limit"]).Равно(200);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Result_]["name"]).Равно(Заголовок);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Result_]["expire_date"]).Равно(Число(UnixИстечение));

КонецПроцедуры

Процедура Проверка_ТелеграмЧисло(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Число");

КонецПроцедуры

Процедура Проверка_ТелеграмСозданиеТемы(Знач Результат, Знач Имя, Иконка)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["name"]).Равно(Имя);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["icon_custom_emoji_id"]).Равно(Иконка);

КонецПроцедуры

Процедура Проверка_ВКПост(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]["post_id"]).ИмеетТип("Число").Заполнено();

КонецПроцедуры

Процедура Проверка_ВКИстина(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]).ИмеетТип("Число").Равно(1);

КонецПроцедуры

Процедура Проверка_ВКАльбом(Знач Результат, Знач Описание)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]["description"]).Равно(Описание);

КонецПроцедуры

Процедура Проверка_ВККартинкаАльбома(Знач Результат, Знач ОписаниеКартинки, Знач ИДАльбома)

    Response    = "response";

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response][0]["text"]).Равно(ОписаниеКартинки);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response][0]["album_id"]).Равно(ИДАльбома);

КонецПроцедуры

Процедура Проверка_ВКИстория(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]["count"]).ИмеетТип("Число").Равно(1);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]["items"]).ИмеетТип("Массив").Заполнено();

КонецПроцедуры

Процедура Проверка_ВКОбсуждение(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]).ИмеетТип("Число").Заполнено();

КонецПроцедуры

Процедура Проверка_ВКЛайк(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]["likes"]).ИмеетТип("Число").Заполнено();

КонецПроцедуры

Процедура Проверка_ВКРепост(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]["success"]).ИмеетТип("Число").Равно(1);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]["wall_repost_count"]).ИмеетТип("Число").Равно(1);

КонецПроцедуры

Процедура Проверка_ВККомментарий(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]["comment_id"]).ИмеетТип("Число").Заполнено();

КонецПроцедуры

Процедура Проверка_ВКСтатистика(Знач Результат)

    ТипСоответствие = "Соответствие";

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие).Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"][0]["visitors"]).ИмеетТип(ТипСоответствие).Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"][0]["reach"]).ИмеетТип(ТипСоответствие).Заполнено();

КонецПроцедуры

Процедура Проверка_ВКСтатистикаПостов(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Массив").ИмеетДлину(2);

КонецПроцедуры

Процедура Проверка_ВКЧисло(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]).ИмеетТип("Число").Заполнено();

КонецПроцедуры

Процедура Проверка_ВКПодборка(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]["albums_count"]).ИмеетТип("Число").Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]["market_album_id"]).ИмеетТип("Число").Заполнено();

КонецПроцедуры

Процедура Проверка_ВКТовар(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]["market_item_id"]).ИмеетТип("Число").Заполнено();

КонецПроцедуры

Процедура Проверка_ВКСвойство(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]["property_id"]).ИмеетТип("Число").Заполнено();

КонецПроцедуры

Процедура Проверка_ВКВариантСвойства(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]["variant_id"]).ИмеетТип("Число").Заполнено();

КонецПроцедуры

Процедура Проверка_ВКИНформацияОТоварах(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]["items"]).ИмеетТип("Массив").ИмеетДлину(2);

КонецПроцедуры

Процедура Проверка_ВКГруппаТоваров(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]["item_group_id"]).ИмеетТип("Число").Заполнено();

КонецПроцедуры

Процедура Проверка_ВКВидео(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["video_id"]).Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["video_hash"]).Заполнено();

КонецПроцедуры

Процедура Проверка_ЯДискДиск(Знач Результат)

    Соответствие_ = "Соответствие";

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(Соответствие_).Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["system_folders"]).ИмеетТип(Соответствие_);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["user"]).ИмеетТип(Соответствие_);

КонецПроцедуры

Процедура Проверка_ЯДискКаталог(Знач Результат, Знач Путь)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["type"]).Равно("dir");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["path"]).Равно("disk:" + Путь);

КонецПроцедуры

Процедура Проверка_ЯДискПуть(Знач Результат, Знач Путь = "", Знач Публичный = Неопределено)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["type"]).Равно("file");

    Если ЗначениеЗаполнено(Путь) Тогда
        OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["path"]).Равно("disk:" + Путь);
    Иначе
        OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["path"]).Заполнено();
    КонецЕсли;

    Если Не Публичный = Неопределено Тогда

        Если Публичный Тогда
             OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["public_url"]).ИмеетТип("Строка").Заполнено();
        Иначе
            OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["public_url"]).ИмеетТип("Неопределено");
        КонецЕсли;

    КонецЕсли;

КонецПроцедуры

Процедура Проверка_ЯДискСсылка(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["method"]).Равно("GET");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["href"]).ИмеетТип("Строка").Заполнено();

КонецПроцедуры

Процедура Проверка_ЯДискПроцедура(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["href"]).Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["method"]).Заполнено();

КонецПроцедуры

Процедура Проверка_ЯДискСписокФайлов(Знач Результат, Знач Количество, Знач Отступ)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["limit"]).Равно(Количество);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["offset"]).Равно(Отступ);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["items"]).ИмеетТип("Массив");


КонецПроцедуры

Процедура Проверка_ГКОбъект(Знач Результат, Знач Наименование, Знач Описание)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["summary"]).Равно(Наименование);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["description"]).Равно(Описание);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["id"]).ИмеетТип("Строка").Заполнено();

КонецПроцедуры

Процедура Проверка_ТвиттерТекст(Знач Результат, Знач Текст)

    ТекстОтвета = Результат["data"]["text"];
    ТекстОтвета = Лев(ТекстОтвета, СтрДлина(Текст));

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(ТекстОтвета).Равно(Текст);

КонецПроцедуры

Процедура Проверка_ВайберОк(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["status_message"]).Равно("ok");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["status"]).Равно(0);

КонецПроцедуры

Процедура Проверка_НоушнОбъект(Знач Результат, Знач Вид = "page")

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["object"]).Равно(Вид);

КонецПроцедуры

Процедура Проверка_СлакОк(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);

КонецПроцедуры

Процедура Проверка_ДропБоксФайл(Знач Результат, Знач Путь)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["path_display"]).Равно(Путь);

КонецПроцедуры

Процедура Проверка_ДропБоксМетаданные(Знач Результат, Знач Путь)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["metadata"]["path_display"]).Равно(Путь);

КонецПроцедуры

Процедура Проверка_ДропБоксМассив(Знач Результат, Знач Количество = Неопределено)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["entries"]).ИмеетТип("Массив");

    Если Не Количество = Неопределено Тогда
        OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["entries"].Количество()).Равно(Количество);
    КонецЕсли;

КонецПроцедуры

Процедура Проверка_ДропБоксРабота(Знач Результат)
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["async_job_id"]).Заполнено();
КонецПроцедуры

Процедура Проверка_ДропБоксСтатус(Знач Результат)
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[".tag"]).Равно("complete");
КонецПроцедуры

Процедура Проверка_ДропБоксТеги(Знач Результат, Знач Количество)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["paths_to_tags"]).ИмеетТип("Массив");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["paths_to_tags"].Количество()).Равно(Количество);

КонецПроцедуры

Процедура Проверка_ДропбоксАккаунт(Знач Результат)
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["account_id"]).Заполнено();
КонецПроцедуры

Процедура Проверка_ДропбоксПространство(Знач Результат)
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["used"]).Заполнено();
КонецПроцедуры

Процедура Проверка_ДропбоксУчастник(Знач Результат, Знач Почта, Знач ТолькоПросмотр)
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[0]["result"][".tag"]).Равно("success");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[0]["member"]["email"]).Равно(Почта);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(
        Результат[0]["result"]["success"][".tag"]).Равно(?(ТолькоПросмотр, "viewer", "editor"));
КонецПроцедуры

Процедура Проверка_ДропбоксПубличнаяПапка(Знач Результат)
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["shared_folder_id"]).Заполнено();
КонецПроцедуры

Процедура Проверка_БитриксВремя(Знач Результат)

    Время = Результат["result"];

    Если Не ТипЗнч(Время) = Тип("Дата") Тогда
       Время = XMLЗначение(Тип("Дата"), Время);
    КонецЕсли;

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Время).ИмеетТип("Дата").Заполнено();

КонецПроцедуры

Процедура Проверка_БитриксАвторизация(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["access_token"]).Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["refresh_token"]).Заполнено();

КонецПроцедуры

Процедура Проверка_БитриксЧисло(Знач Результат)
   OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Число").Заполнено();
КонецПроцедуры

Процедура Проверка_БитриксИстина(Знач Результат)
   OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Булево").Равно(Истина);
КонецПроцедуры

Процедура Проверка_БитриксБулево(Знач Результат)
   OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Булево");
КонецПроцедуры

Процедура Проверка_БитриксСтрока(Знач Результат)
   OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Строка").Заполнено();
КонецПроцедуры

Процедура Проверка_БитриксМассив(Знач Результат)
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Массив");
КонецПроцедуры

Процедура Проверка_БитриксСоответствие(Знач Результат)
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
КонецПроцедуры

Процедура Проверка_БитриксСписок(Знач Результат)
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["list"]).ИмеетТип("Массив");
КонецПроцедуры

Процедура Проверка_БитриксМассивОбъектов(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Массив");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"][0]["ID"]).Заполнено();

КонецПроцедуры

Процедура Проверка_БитриксПоля(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["fields"]).Заполнено();

КонецПроцедуры

Процедура Проверка_БитриксЗадача(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["task"]).Заполнено();

КонецПроцедуры

Процедура Проверка_БитриксСписокЗадач(Знач Результат)
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["tasks"]).ИмеетТип("Массив");
КонецПроцедуры

Процедура Проверка_БитриксХранилища(Знач Результат)
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Массив");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["total"]).Заполнено();
КонецПроцедуры

Процедура Проверка_БитриксОбъект(Знач Результат)
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["ID"]).Заполнено();
КонецПроцедуры

Процедура Проверка_БитриксВложение(Знач Результат)
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["attachmentId"]).Заполнено();
КонецПроцедуры

Процедура Проверка_БитриксДоступныеДействия(Знач Результат, Знач Количество)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");

    Действия = Результат["result"]["allowedActions"];
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Действия).ИмеетТип("Соответствие");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Действия.Количество()).Равно(Количество);

КонецПроцедуры

Процедура Проверка_БитриксКомментарий(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["POST_MESSAGE"]).Заполнено();

КонецПроцедуры

Процедура Проверка_БитриксРезультат(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["text"]).Заполнено();

КонецПроцедуры

Процедура Проверка_БитриксНеопределено(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Неопределено");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["time"]).Заполнено();

КонецПроцедуры

Процедура Проверка_БитриксСписокКомментариев(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Массив");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"][0]["POST_MESSAGE"]).Заполнено();

КонецПроцедуры

Процедура Проверка_БитриксСписокРезультатов(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Массив");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"][0]["text"]).Заполнено();

КонецПроцедуры

Процедура Проверка_БитриксСообщения(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["messages"]).ИмеетТип("Массив");

КонецПроцедуры

Процедура Проверка_БитриксДиалог(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["dialogId"]).Заполнено();

КонецПроцедуры

Процедура Проверка_БитриксСообщение(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["id"]).Заполнено();

КонецПроцедуры

Процедура Проверка_БитриксФайлСообщение(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["MESSAGE_ID"]).Заполнено();

КонецПроцедуры

Процедура Проверка_БитриксУчетВремени(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["STATUS"]).Заполнено();

КонецПроцедуры

Процедура Проверка_БитриксНастройкиУчетаВремени(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["UF_TIMEMAN"]).ИмеетТип("Булево");

КонецПроцедуры

Процедура Проверка_ВКТПользователь(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["userId"]).Заполнено();

КонецПроцедуры

Процедура Проверка_ВКТСобытия(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["events"]).ИмеетТип("Массив");

КонецПроцедуры

Процедура Проверка_ВКТСообщение(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["msgId"]).Заполнено();

КонецПроцедуры

Процедура Проверка_ВКТИстина(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);

КонецПроцедуры

Процедура Проверка_ВКТФайл(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["type"]).Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["size"]).Заполнено();

КонецПроцедуры

Процедура Проверка_ВКТСписок(Знач Результат, Знач ИмяПоля)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[ИмяПоля]).ИмеетТип("Массив");

КонецПроцедуры

Процедура Проверка_ВКТЧат(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["type"]).Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["inviteLink"]).Заполнено();

КонецПроцедуры

Процедура Проверка_ВКТЗаявки(Знач Результат)

    Если Не Результат["ok"] Тогда
        OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["description"]).Равно("User is not pending or nobody in pending list");
    КонецЕсли;

КонецПроцедуры

Процедура Проверка_ОзонСписокКатегорий(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Массив");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"][0]["category_name"]).Заполнено();

КонецПроцедуры

Процедура Проверка_ОзонСписокХарактеристик(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Массив");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"][0]["description"]).Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"][0]["id"]).Заполнено();

КонецПроцедуры

Процедура Проверка_ОзонСписокЗначенийХарактеристики(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Массив");
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"][0]["value"]).Заполнено();
    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"][0]["id"]).Заполнено();

КонецПроцедуры

Процедура Проверка_ОзонЗаданиеЗагрузки(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["task_id"]).Заполнено();

КонецПроцедуры

Процедура Проверка_ОзонНовыеТовары(Знач Результат)

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["items"]).ИмеетТип("Массив");

КонецПроцедуры

#КонецОбласти

#Область АтомарныеТесты

#Область Telegram

Процедура Telegram_ПолучитьИнформациюБота(ПараметрыФункции)

    Токен       = ПараметрыФункции["Telegram_Token"];
    Результат   = OPI_Telegram.ПолучитьИнформациюБота(Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюБота", "Telegram");

    Проверка_ТелеграмИнформацияБота(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Telegram_ПолучитьОбновления(ПараметрыФункции)

    Токен          = ПараметрыФункции["Telegram_Token"];
    Результат      = OPI_Telegram.ПолучитьОбновления(Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьОбновления", "Telegram");

    Проверка_ТелеграмМассив(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Telegram_УстановитьWebhook(ПараметрыФункции)

    Токен       = ПараметрыФункции["Telegram_Token"];
    URL         = ПараметрыФункции["Telegram_URL"];

    Результат   = OPI_Telegram.УстановитьWebhook(Токен, URL);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УстановитьWebhook", "Telegram");

    Проверка_ТелеграмУстановкаВебхук(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Telegram_УдалитьWebhook(ПараметрыФункции)

    Токен     = ПараметрыФункции["Telegram_Token"];
    Результат = OPI_Telegram.УдалитьWebhook(Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьWebhook", "Telegram");

    Проверка_ТелеграмУдалениеВебхук(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Telegram_ОтправитьТекстовоеСообщение(ПараметрыФункции)

    Токен    = ПараметрыФункции["Telegram_Token"];
    IDЧата   = ПараметрыФункции["Telegram_ChatID"];
    IDКанала = ПараметрыФункции["Telegram_ChannelID"];
    Текст    = ПараметрыФункции["String"];

    Результат = OPI_Telegram.ОтправитьТекстовоеСообщение(Токен, IDЧата, Текст);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьТекстовоеСообщение", "Telegram");

    Проверка_ТелеграмСообщение(Результат, Текст); // SKIP

    Результат = OPI_Telegram.ОтправитьТекстовоеСообщение(Токен, IDКанала, Текст);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьТекстовоеСообщение (канал)");

    Проверка_ТелеграмСообщение(Результат, Текст);

    IDСообщения = OPI_Инструменты.ЧислоВСтроку(Результат["result"]["message_id"]);
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Telegram_ChannelMessageID", IDСообщения);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Telegram_ОтправитьКартинку(ПараметрыФункции)

    Токен    = ПараметрыФункции["Telegram_Token"];
    IDЧата   = ПараметрыФункции["Telegram_ChatID"];
    IDКанала = ПараметрыФункции["Telegram_ChannelID"];
    Текст    = ПараметрыФункции["String"];
    Картинка = ПараметрыФункции["Picture"];

    КартинкаПуть = ПолучитьИмяВременногоФайла("png");
    КопироватьФайл(Картинка, КартинкаПуть);

    КартинкаДД   = Новый ДвоичныеДанные(КартинкаПуть);

    Результат = OPI_Telegram.ОтправитьКартинку(Токен, IDЧата, Текст, Картинка);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьКартинку", "Telegram");

    Проверка_ТелеграмКартинка(Результат, Текст); // SKIP

    Результат = OPI_Telegram.ОтправитьКартинку(Токен, IDКанала, Текст, КартинкаПуть);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьКартинку (Путь)");

    Проверка_ТелеграмКартинка(Результат, Текст); // SKIP

    Результат = OPI_Telegram.ОтправитьКартинку(Токен, IDКанала, Текст, КартинкаДД);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьКартинку (ДД)");

    Проверка_ТелеграмКартинка(Результат, Текст);

    УдалитьФайлы(КартинкаПуть);

    IDФайла = Результат["result"]["photo"][0]["file_id"];
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Telegram_FileID", IDФайла);

    ПараметрыФункции.Вставить("Telegram_FileID", IDФайла);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Telegram_ОтправитьВидео(ПараметрыФункции)

    Токен    = ПараметрыФункции["Telegram_Token"];
    IDЧата   = ПараметрыФункции["Telegram_ChatID"];
    IDКанала = ПараметрыФункции["Telegram_ChannelID"];
    Текст    = ПараметрыФункции["String"];
    Видео    = ПараметрыФункции["Video"];

    ВидеоПуть = ПолучитьИмяВременногоФайла("mp4");
    КопироватьФайл(Видео, ВидеоПуть);

    ВидеоДД   = Новый ДвоичныеДанные(ВидеоПуть);

    Результат = OPI_Telegram.ОтправитьВидео(Токен, IDЧата, Текст, Видео);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьВидео", "Telegram");

    Проверка_ТелеграмВидео(Результат, Текст); // SKIP

    Результат = OPI_Telegram.ОтправитьВидео(Токен, IDКанала, Текст, ВидеоПуть);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьВидео (Путь)");

    Проверка_ТелеграмВидео(Результат, Текст); // SKIP

    Результат = OPI_Telegram.ОтправитьВидео(Токен, IDКанала, Текст, ВидеоДД);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьВидео (ДД)");

    Проверка_ТелеграмВидео(Результат, Текст);

    УдалитьФайлы(ВидеоПуть);

    IDФайла = Результат["result"]["video"]["file_id"];
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Telegram_FileID", IDФайла);

    ПараметрыФункции.Вставить("Telegram_FileID", IDФайла);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Telegram_ОтправитьАудио(ПараметрыФункции)

    Токен    = ПараметрыФункции["Telegram_Token"];
    IDЧата   = ПараметрыФункции["Telegram_ChatID"];
    IDКанала = ПараметрыФункции["Telegram_ChannelID"];
    Текст    = ПараметрыФункции["String"];
    Аудио    = ПараметрыФункции["Audio"];

    АудиоПуть = ПолучитьИмяВременногоФайла("mp3");
    КопироватьФайл(Аудио, АудиоПуть);

    АудиоДД   = Новый ДвоичныеДанные(АудиоПуть);

    Результат = OPI_Telegram.ОтправитьАудио(Токен, IDЧата, Текст, Аудио);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьАудио", "Telegram");

    Проверка_ТелеграмАудио(Результат, Текст); // SKIP

    Результат = OPI_Telegram.ОтправитьАудио(Токен, IDКанала, Текст, АудиоПуть);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьАудио (Путь)");

    Проверка_ТелеграмАудио(Результат, Текст); // SKIP

    Результат = OPI_Telegram.ОтправитьАудио(Токен, IDКанала, Текст, АудиоДД);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьАудио (ДД)");

    Проверка_ТелеграмАудио(Результат, Текст);

    УдалитьФайлы(АудиоПуть);

    IDФайла = Результат["result"]["audio"]["file_id"];
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Telegram_FileID", IDФайла);

    ПараметрыФункции.Вставить("Telegram_FileID", IDФайла);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Telegram_ОтправитьДокумент(ПараметрыФункции)

    Токен    = ПараметрыФункции["Telegram_Token"];
    IDЧата   = ПараметрыФункции["Telegram_ChatID"];
    IDКанала = ПараметрыФункции["Telegram_ChannelID"];
    Текст    = ПараметрыФункции["String"];
    Документ = ПараметрыФункции["Document"];

    ДокументПуть = ПолучитьИмяВременногоФайла("docx");
    КопироватьФайл(Документ, ДокументПуть);

    ДокументДД   = Новый ДвоичныеДанные(ДокументПуть);

    Результат = OPI_Telegram.ОтправитьДокумент(Токен, IDЧата, Текст, Документ);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьДокумент", "Telegram");

    Проверка_ТелеграмДокумент(Результат, Текст); // SKIP

    Результат = OPI_Telegram.ОтправитьДокумент(Токен, IDЧата, Текст, Документ, , , "customname.docx");

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьДокумент (с именем)", "Telegram");

    Проверка_ТелеграмДокумент(Результат, Текст); // SKIP

    Результат = OPI_Telegram.ОтправитьДокумент(Токен, IDКанала, Текст, ДокументПуть);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьДокумент (Путь)");

    Проверка_ТелеграмДокумент(Результат, Текст); // SKIP

    Результат = OPI_Telegram.ОтправитьДокумент(Токен, IDКанала, Текст, ДокументДД, , , "customname.docx");

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьДокумент (ДД)");

    Проверка_ТелеграмДокумент(Результат, Текст);

    УдалитьФайлы(ДокументПуть);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Telegram_ОтправитьГифку(ПараметрыФункции)

    Токен    = ПараметрыФункции["Telegram_Token"];
    IDЧата   = ПараметрыФункции["Telegram_ChatID"];
    IDКанала = ПараметрыФункции["Telegram_ChannelID"];
    Текст    = ПараметрыФункции["String"];
    Гифка    = ПараметрыФункции["GIF"];

    ГифкаПуть = ПолучитьИмяВременногоФайла("gif");
    КопироватьФайл(Гифка, ГифкаПуть);

    ГифкаДД   = Новый ДвоичныеДанные(ГифкаПуть);

    Результат = OPI_Telegram.ОтправитьГифку(Токен, IDЧата, Текст, Гифка);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьГифку", "Telegram");

    Проверка_ТелеграмГифка(Результат, Текст); // SKIP

    Результат = OPI_Telegram.ОтправитьГифку(Токен, IDКанала, Текст, ГифкаПуть);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьГифку (Путь)");

    Проверка_ТелеграмГифка(Результат, Текст); // SKIP

    Результат = OPI_Telegram.ОтправитьГифку(Токен, IDКанала, Текст, ГифкаДД);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьГифку (ДД)");

    Проверка_ТелеграмГифка(Результат, Текст);

    УдалитьФайлы(ГифкаПуть);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Telegram_ОтправитьМеидагруппу(ПараметрыФункции)

    Токен    = ПараметрыФункции["Telegram_Token"];
    IDЧата   = ПараметрыФункции["Telegram_ChatID"];
    Текст    = ПараметрыФункции["String"];
    Картинка = ПараметрыФункции["Picture"];
    Видео    = ПараметрыФункции["Video"];

    КартинкаПуть = ПолучитьИмяВременногоФайла("png");
    КопироватьФайл(Картинка, КартинкаПуть);

    ВидеоПуть = ПолучитьИмяВременногоФайла("mp4");
    КопироватьФайл(Видео, ВидеоПуть);

    ВидеоДД   = Новый ДвоичныеДанные(ВидеоПуть);

    Медиагруппа    = Новый Соответствие;
    Медиагруппа.Вставить(КартинкаПуть, "photo");
    Медиагруппа.Вставить(ВидеоДД     , "video");

    Результат = OPI_Telegram.ОтправитьМедиагруппу(Токен, IDЧата, Текст, Медиагруппа);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьМедиагруппу", "Telegram");

    Проверка_ТелеграмМедиагруппа(Результат);

    ДокументURL  = ПараметрыФункции["Document"];
    ДокументПуть = ПолучитьИмяВременногоФайла("docx");
    IDКанала     = ПараметрыФункции["Telegram_ChannelID"];

    КопироватьФайл(ДокументURL, ДокументПуть);

    МедиаГруппа = Новый Соответствие;
    Медиагруппа.Вставить(ДокументURL , "document");
    Медиагруппа.Вставить(ДокументПуть, "document");

    Результат = OPI_Telegram.ОтправитьМедиагруппу(Токен, IDКанала, Текст, Медиагруппа);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьМедиагруппу (доки)", "Telegram");

    Проверка_ТелеграмМедиагруппа(Результат);

    УдалитьФайлы(ВидеоПуть);
    УдалитьФайлы(КартинкаПуть);
    УдалитьФайлы(ДокументПуть);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Telegram_ОтправитьМестоположение(ПараметрыФункции)

    Токен    = ПараметрыФункции["Telegram_Token"];
    IDЧата   = ПараметрыФункции["Telegram_ChatID"];
    IDКанала = ПараметрыФункции["Telegram_ChannelID"];
    Ширина   = ПараметрыФункции["Lat"];
    Долгота  = ПараметрыФункции["Long"];

    Результат = OPI_Telegram.ОтправитьМестоположение(Токен, IDЧата, Ширина, Долгота);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьМестоположение", "Telegram");

    Проверка_ТелеграмМестоположение(Результат); // SKIP

    Результат = OPI_Telegram.ОтправитьМестоположение(Токен, IDКанала, Ширина, Долгота);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьМестоположение (канал)");

    Проверка_ТелеграмМестоположение(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Telegram_ОтправитьКонтакт(ПараметрыФункции)

    Токен    = ПараметрыФункции["Telegram_Token"];
    IDЧата   = ПараметрыФункции["Telegram_ChatID"];
    IDКанала = ПараметрыФункции["Telegram_ChannelID"];
    Имя      = ПараметрыФункции["Name"];
    Фамилия  = ПараметрыФункции["Surname"];
    Телефон  = ПараметрыФункции["Phone"];

    Результат = OPI_Telegram.ОтправитьКонтакт(Токен, IDЧата  , Имя, Фамилия, Телефон);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьКонтакт", "Telegram");

    Проверка_ТелеграмКонтакт(Результат, Имя); // SKIP
    OPI_Инструменты.Пауза(20);                // SKIP

    Результат = OPI_Telegram.ОтправитьКонтакт(Токен, IDКанала, Имя, Фамилия, Телефон);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьКонтакт (канал)");

    Проверка_ТелеграмКонтакт(Результат, Имя);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Telegram_ОтправитьОпрос(ПараметрыФункции)

    Токен    = ПараметрыФункции["Telegram_Token"];
    IDЧата   = ПараметрыФункции["Telegram_ChatID"];
    IDКанала = ПараметрыФункции["Telegram_ChannelID"];
    Вопрос   = "Какой ваш любимый цвет?";

    МассивОтветов     = Новый Массив;
    МассивОтветов.Добавить("Красный");
    МассивОтветов.Добавить("Желтый");
    МассивОтветов.Добавить("Зеленый");
    МассивОтветов.Добавить("Синий");

    Результат = OPI_Telegram.ОтправитьОпрос(Токен, IDЧата  , Вопрос, МассивОтветов, Ложь);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьОпрос", "Telegram");

    Проверка_ТелеграмОпрос(Результат, Вопрос); // SKIP

    Результат = OPI_Telegram.ОтправитьОпрос(Токен, IDКанала, Вопрос, МассивОтветов, Истина);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьОпрос (канал)");

    Проверка_ТелеграмОпрос(Результат, Вопрос); // SKIP

    // END

    СтрочныйМассив    = "['Красный', 'Желтый','Зеленый' ,'Синий']";

    Результат = OPI_Telegram.ОтправитьОпрос(Токен, IDКанала, Вопрос, СтрочныйМассив, Истина);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьОпрос (строчный массив)");

    Проверка_ТелеграмОпрос(Результат, Вопрос);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Telegram_СкачатьФайл(ПараметрыФункции)

    IDФайла = ПараметрыФункции["Telegram_FileID"];
    Токен   = ПараметрыФункции["Telegram_Token"];

    Результат = OPI_Telegram.СкачатьФайл(Токен, IDФайла);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СкачатьФайл", "Telegram");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("ДвоичныеДанные");

КонецПроцедуры

Процедура Telegram_ПереслатьСообщение(ПараметрыФункции)

    Токен       = ПараметрыФункции["Telegram_Token"];
    IDЧата      = ПараметрыФункции["Telegram_ChatID"];
    IDКанала    = ПараметрыФункции["Telegram_ChannelID"];
    IDСообщения = ПараметрыФункции["Telegram_ChannelMessageID"];

    Результат = OPI_Telegram.ПереслатьСообщение(Токен, IDСообщения, IDКанала, IDЧата);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереслатьСообщение", "Telegram");

    Проверка_ТелеграмПереслать(Результат, IDСообщения);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Telegram_Бан(ПараметрыФункции)

    Токен             = ПараметрыФункции["Telegram_Token"];
    IDПользователя    = ПараметрыФункции["Telegram_ChatID"];
    IDКанала          = ПараметрыФункции["Telegram_ChannelID"];

    Результат = OPI_Telegram.Бан(Токен, IDКанала, IDПользователя);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "Бан", "Telegram");

    Проверка_ТелеграмБан(Результат);
    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Telegram_Разбан(ПараметрыФункции)

    Токен          = ПараметрыФункции["Telegram_Token"];
    IDПользователя = ПараметрыФункции["Telegram_ChatID"];
    IDКанала       = ПараметрыФункции["Telegram_ChannelID"];

    Результат = OPI_Telegram.Разбан(Токен, IDКанала, IDПользователя);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "Разбан", "Telegram");

    Проверка_ТелеграмБан(Результат);
    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Telegram_СоздатьСсылкуПриглашение(ПараметрыФункции)

    Токен         = ПараметрыФункции["Telegram_Token"];
    IDКанала      = ПараметрыФункции["Telegram_ChannelID"];
    Сутки         = 86400;
    ТекущаяДата   = OPI_Инструменты.ПолучитьТекущуюДату();

    Заголовок     = "Ссылка " + Строка(ТекущаяДата);
    Истечение     = ТекущаяДата + Сутки;
    UnixИстечение = OPI_Инструменты.UNIXTime(Истечение);

    Результат = OPI_Telegram.СоздатьСсылкуПриглашение(Токен, IDКанала, Заголовок, Истечение, 200);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСсылкуПриглашение", "Telegram");

    Проверка_ТелеграмПриглашение(Результат, Заголовок, UnixИстечение);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Telegram_ЗакрепитьСообщение(ПараметрыФункции)

    Токен       = ПараметрыФункции["Telegram_Token"];
    IDКанала    = ПараметрыФункции["Telegram_ChannelID"];
    IDСообщения = ПараметрыФункции["Telegram_ChannelMessageID"];

    Результат = OPI_Telegram.ЗакрепитьСообщение(Токен, IDКанала, IDСообщения);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗакрепитьСообщение", "Telegram");

    Проверка_ТелеграмИстина(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Telegram_ОткрепитьСообщение(ПараметрыФункции)

    Токен       = ПараметрыФункции["Telegram_Token"];
    IDКанала    = ПараметрыФункции["Telegram_ChannelID"];
    IDСообщения = ПараметрыФункции["Telegram_ChannelMessageID"];

    Результат = OPI_Telegram.ОткрепитьСообщение(Токен, IDКанала, IDСообщения);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОткрепитьСообщение", "Telegram");

    Проверка_ТелеграмИстина(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Telegram_ПолучитьЧислоУчастников(ПараметрыФункции)

    Токен       = ПараметрыФункции["Telegram_Token"];
    IDКанала    = ПараметрыФункции["Telegram_ChannelID"];

    Результат  = OPI_Telegram.ПолучитьЧислоУчастников(Токен, IDКанала);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЧислоУчастников", "Telegram");

    Проверка_ТелеграмЧисло(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Telegram_ПолучитьСписокАватаровФорума(ПараметрыФункции)

    Токен       = ПараметрыФункции["Telegram_Token"];
    Результат   = OPI_Telegram.ПолучитьСписокИконокАватаров(Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокИконокАватаров", "Telegram");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Telegram_СоздатьТемуФорума(ПараметрыФункции)

    Токен     = ПараметрыФункции["Telegram_Token"];
    Чат       = ПараметрыФункции["Telegram_ForumID"];
    Иконка    = "5357419403325481346";
    Имя       = "Тестовая тема " + Строка(Новый УникальныйИдентификатор);

    Результат = OPI_Telegram.СоздатьТемуФорума(Токен, Чат, Имя, Иконка);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТемуФорума", "Telegram");

    Тема = Результат["result"]["message_thread_id"];

    ПараметрыФункции.Вставить("Telegram_TopicID", Тема);
    OPI_Инструменты.ДобавитьПоле("Telegram_TopicID", Тема, "Строка", ПараметрыФункции);
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Telegram_TopicID", ПараметрыФункции["Telegram_TopicID"]);

    Проверка_ТелеграмСозданиеТемы(Результат, Имя, Иконка);

    ЧатТема      = Чат + "*" + Тема;
    Текст        = ПараметрыФункции["String"];
    Результат    = OPI_Telegram.ОтправитьТекстовоеСообщение(Токен, ЧатТема, Текст);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьТекстовоеСообщение (форум)");

    Проверка_ТелеграмСообщение(Результат, Текст);

КонецПроцедуры

Процедура Telegram_ИзменитьТемуФорума(ПараметрыФункции)

    Токен          = ПараметрыФункции["Telegram_Token"];
    Чат            = ПараметрыФункции["Telegram_ForumID"];
    Тема           = ПараметрыФункции["Telegram_TopicID"];
    НовоеИмя       = "Новый тестовый заголовок";
    НовяИконка     = "5310132165583840589";

    Результат = OPI_Telegram.ИзменитьТемуФорума(Токен, Чат, Тема, НовоеИмя, НовяИконка);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьТемуФорума", "Telegram");

    Проверка_ТелеграмИстина(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Telegram_ЗакрытьТемуФорума(ПараметрыФункции)

    Токен          = ПараметрыФункции["Telegram_Token"];
    Чат            = ПараметрыФункции["Telegram_ForumID"];
    Тема           = ПараметрыФункции["Telegram_TopicID"];

    OPI_Telegram.ОткрытьТемуФорума(Токен, Чат); // SKIP

    Результат = OPI_Telegram.ЗакрытьТемуФорума(Токен, Чат);       // Закрывает главную тему

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗакрытьТемуФорума (главная)");

    Проверка_ТелеграмИстина(Результат); // SKIP

    Результат = OPI_Telegram.ЗакрытьТемуФорума(Токен, Чат, Тема);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗакрытьТемуФорума", "Telegram");

    Проверка_ТелеграмИстина(Результат);

    OPI_Инструменты.Пауза(25);

КонецПроцедуры

Процедура Telegram_ОткрытьТемуФорума(ПараметрыФункции)

    Токен          = ПараметрыФункции["Telegram_Token"];
    Чат            = ПараметрыФункции["Telegram_ForumID"];
    Тема           = ПараметрыФункции["Telegram_TopicID"];

    Результат = OPI_Telegram.ОткрытьТемуФорума(Токен, Чат);       // Открывает главную тему

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОткрытьТемуФорума (главная)");

    Проверка_ТелеграмИстина(Результат); // SKIP

    Результат = OPI_Telegram.ОткрытьТемуФорума(Токен, Чат, Тема);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОткрытьТемуФорума", "Telegram");

    Проверка_ТелеграмИстина(Результат);

    OPI_Инструменты.Пауза(25);

КонецПроцедуры

Процедура Telegram_УдалитьТемуФорума(ПараметрыФункции)

    Токен          = ПараметрыФункции["Telegram_Token"];
    Чат            = ПараметрыФункции["Telegram_ForumID"];
    Тема           = ПараметрыФункции["Telegram_TopicID"];

    Результат = OPI_Telegram.УдалитьТемуФорума(Токен, Чат, Тема);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьТемуФорума", "Telegram");

    Проверка_ТелеграмИстина(Результат);

    OPI_Инструменты.Пауза(25);

КонецПроцедуры

Процедура Telegram_ОчиститьСписокЗакрепленныхСообщенийТемы(ПараметрыФункции)

    Токен          = ПараметрыФункции["Telegram_Token"];
    Чат            = ПараметрыФункции["Telegram_ForumID"];
    Тема           = ПараметрыФункции["Telegram_TopicID"];

    Результат = OPI_Telegram.ОчиститьСписокЗакрепленныхСообщенийТемы(Токен, Чат);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОчиститьСписокЗакрепленныхСообщенийТемы (главная)");

    Проверка_ТелеграмИстина(Результат); // SKIP

    Результат = OPI_Telegram.ОчиститьСписокЗакрепленныхСообщенийТемы(Токен, Чат, Тема);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОчиститьСписокЗакрепленныхСообщенийТемы", "Telegram");

    Проверка_ТелеграмИстина(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Telegram_СкрытьГлавнуюТемуФорума(ПараметрыФункции)

    Токен          = ПараметрыФункции["Telegram_Token"];
    Чат            = ПараметрыФункции["Telegram_ForumID"];

    Результат = OPI_Telegram.СкрытьГлавнуюТемуФорума(Токен, Чат);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СкрытьГлавнуюТемуФорума", "Telegram");

    Проверка_ТелеграмИстина(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Telegram_ПоказатьГлавнуюТемуФорума(ПараметрыФункции)

    Токен          = ПараметрыФункции["Telegram_Token"];
    Чат            = ПараметрыФункции["Telegram_ForumID"];

    Результат = OPI_Telegram.ПоказатьГлавнуюТемуФорума(Токен, Чат);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПоказатьГлавнуюТемуФорума", "Telegram");

    Проверка_ТелеграмИстина(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Telegram_ИзменитьИмяГлавнойТемыФорума(ПараметрыФункции)

    Заголовок      = "Новое имя главной темы " + Строка(Новый УникальныйИдентификатор);
    Токен          = ПараметрыФункции["Telegram_Token"];
    Чат            = ПараметрыФункции["Telegram_ForumID"];

    Результат = OPI_Telegram.ИзменитьИмяГлавнойТемыФорума(Токен, Чат, Заголовок);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьИмяГлавнойТемыФорума", "Telegram");

    Проверка_ТелеграмИстина(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Telegram_УдалитьСообщение(ПараметрыФункции)

    Токен        = ПараметрыФункции["Telegram_Token"];
    IDЧата       = ПараметрыФункции["Telegram_ChannelID"];
    IDСообщения  = ПараметрыФункции["Telegram_ChannelMessageID"];

    Результат = OPI_Telegram.УдалитьСообщение(Токен, IDЧата, IDСообщения);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСообщение", "Telegram");

    Проверка_ТелеграмИстина(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

#КонецОбласти

#Область VK

Процедура VK_СоздатьСсылкуПолученияТокена(ПараметрыФункции)

    Приложение = ПараметрыФункции["VK_AppID"];
    Результат  = OPI_VK.СоздатьСсылкуПолученияТокена(Приложение);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСсылкуПолученияТокена", "VK");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Строка").Заполнено();

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура VK_СоздатьПост(ПараметрыФункции)

    Параметры = ПолучитьПараметрыВК();
    Текст     = "Пост из автотеста";
    URL       = "https://github.com/Bayselonarrend/OpenIntegrations";

    Картинка  = ПараметрыФункции["Picture"];  // URL, Путь или Двоичные данные
    Картинка2 = ПараметрыФункции["Picture2"]; // URL, Путь или Двоичные данные

    ИВФ = ПолучитьИмяВременногоФайла("png");
    КопироватьФайл(Картинка2, ИВФ);

    МассивКартинок = Новый Массив;
    МассивКартинок.Добавить(Картинка);
    МассивКартинок.Добавить(ИВФ);

    Результат = OPI_VK.СоздатьПост(Текст, МассивКартинок, Истина, URL, Параметры);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьПост", "VK");

    Проверка_ВКПост(Результат);                         // SKIP
    ИДПоста   = Результат["response"]["post_id"];       // SKIP
    Результат = OPI_VK.УдалитьПост(ИДПоста, Параметры); // SKIP

    Результат = OPI_VK.СоздатьПост(Текст, Картинка, Ложь  ,    , Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьПост (одна картинка)");

    Проверка_ВКПост(Результат);

    ИДПоста   = Результат["response"]["post_id"];
    Результат = OPI_VK.УдалитьПост(ИДПоста, Параметры);

    OPI_Инструменты.Пауза(5);

    Результат = OPI_VK.СоздатьПост(Текст, ИВФ     , Истина, URL, Параметры);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьПост (один путь)");

    Проверка_ВКПост(Результат);

    ИДПоста = Результат["response"]["post_id"];
    OPI_Инструменты.ДобавитьПоле("VK_PostID", ИДПоста, "Строка", ПараметрыФункции);
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("VK_PostID", ПараметрыФункции["VK_PostID"]);

    УдалитьФайлы(ИВФ);
    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура VK_УдалитьПост(ПараметрыФункции)

    Параметры = ПолучитьПараметрыВК();
    ИДПоста   = ПараметрыФункции["VK_PostID"];

    Результат = OPI_VK.УдалитьПост(ИДПоста, Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьПост", "VK");

    Проверка_ВКИстина(Результат);

КонецПроцедуры

Процедура VK_СоздатьСоставнойПост(ПараметрыФункции)

    Параметры = ПолучитьПараметрыВК();
    Текст     = "Пост из автотеста";
    URL       = "https://github.com/Bayselonarrend/OpenIntegrations";

    Картинка = ПараметрыФункции["Picture"]; // URL, Путь или Двоичные данные
    Видео    = ПараметрыФункции["Video"];   // URL, Путь или Двоичные данные

    ИВФ = ПолучитьИмяВременногоФайла("png");
    КопироватьФайл(Картинка, ИВФ);

    ЗагрузкаКартинки = OPI_VK.ЗагрузитьФотоНаСервер(ИВФ, Параметры)["response"][0];
    ЗагрузкаВидео    = OPI_VK.ЗагрузитьВидеоНаСервер(Видео, "Новое видео", , , Параметры);

    ВладелецКартинки = OPI_Инструменты.ЧислоВСтроку(ЗагрузкаКартинки["owner_id"]);
    ВладелецВидео    = OPI_Инструменты.ЧислоВСтроку(ЗагрузкаВидео["owner_id"]);

    IDКартинки       = OPI_Инструменты.ЧислоВСтроку(ЗагрузкаКартинки["id"]);
    IDВидео          = OPI_Инструменты.ЧислоВСтроку(ЗагрузкаВидео["video_id"]);

    МассивВложений = Новый Массив;
    МассивВложений.Добавить("photo" + ВладелецКартинки + "_" + IDКартинки);
    МассивВложений.Добавить("video" + ВладелецВидео + "_" + IDВидео);

    Результат = OPI_VK.СоздатьСоставнойПост(Текст, МассивВложений, Ложь, URL, Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСоставнойПост", "VK");

    Проверка_ВКПост(Результат);
    УдалитьФайлы(ИВФ);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура VK_СоздатьОпрос()

    Параметры = ПолучитьПараметрыВК();
    Вопрос    = "Какой ваш любимый цвет?";

    МассивВариантов = Новый Массив;
    МассивВариантов.Добавить("Красный");
    МассивВариантов.Добавить("Желтый");
    МассивВариантов.Добавить("Зеленый");

    Результат = OPI_VK.СоздатьОпрос(Вопрос, МассивВариантов, , Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьОпрос", "VK");

    Проверка_ВКПост(Результат);

    ИДПоста  = Результат["response"]["post_id"];
    OPI_VK.УдалитьПост(ИДПоста, Параметры);

    OPI_Инструменты.Пауза(10);

КонецПроцедуры

Процедура VK_СоздатьАльбом(ПараметрыФункции)

    Параметры        = ПолучитьПараметрыВК();
    Имя              = "Альбом из автотеста";
    Описание         = "Новый альбом из автотеста";

    Результат = OPI_VK.СоздатьАльбом(Имя, Описание, Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьАльбом", "VK");

    Проверка_ВКАльбом(Результат, Описание);

    ИДАльбома  = Результат["response"]["id"];
    ПараметрыФункции.Вставить("VK_AlbumID", ИДАльбома);
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("VK_AlbumID", ИДАльбома);

КонецПроцедуры

Процедура VK_СохранитьКартинкуВАльбом(ПараметрыФункции)

    Параметры        = ПолучитьПараметрыВК();
    ОписаниеКартинки = "Картинка автотест";
    ИДАльбома        = ПараметрыФункции["VK_AlbumID"];

    Картинка  = ПараметрыФункции["Picture"];       // URL, Путь к файлу или Двоичные данные
    ИВФ       = ПолучитьИмяВременногоФайла("png");
    КопироватьФайл(Картинка, ИВФ);

    Картинка  = Новый ДвоичныеДанные(ИВФ);

    Результат = OPI_VK.СохранитьКартинкуВАльбом(ИДАльбома, Картинка, ОписаниеКартинки, Параметры);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СохранитьКартинкуВАльбом", "VK");

    Проверка_ВККартинкаАльбома(Результат, ОписаниеКартинки, ИДАльбома); // SKIP

    ИДКартинки   = Результат["response"][0]["id"];                       // SKIP
    Результат    = OPI_VK.УдалитьКартинку(ИДКартинки, Параметры);       // SKIP

    Результат = OPI_VK.СохранитьКартинкуВАльбом(ИДАльбома, ИВФ, ОписаниеКартинки, Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СохранитьКартинкуВАльбом (путь)");

    Проверка_ВККартинкаАльбома(Результат, ОписаниеКартинки, ИДАльбома); // SKIP

    ИДКартинки  = Результат["response"][0]["id"];
    ПараметрыФункции.Вставить("VK_PictureID", ИДКартинки);
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("VK_PictureID", ИДКартинки);

    УдалитьФайлы(ИВФ);
    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура VK_УдалитьКартинку(ПараметрыФункции)

    Параметры  = ПолучитьПараметрыВК();
    ИДКартинки = ПараметрыФункции["VK_PictureID"];

    Результат  = OPI_VK.УдалитьКартинку(ИДКартинки, Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьКартинку", "VK");

    Проверка_ВКИстина(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура VK_УдалитьАльбом(ПараметрыФункции)

    Параметры = ПолучитьПараметрыВК();
    ИДАльбома = ПараметрыФункции["VK_AlbumID"];

    Результат = OPI_VK.УдалитьАльбом(ИДАльбома, Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьАльбом", "VK");

    Проверка_ВКИстина(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура VK_СоздатьИсторию(ПараметрыФункции)

    Параметры = ПолучитьПараметрыВК();
    URL       = "https://github.com/Bayselonarrend/OpenIntegrations";

    Картинка  = ПараметрыФункции["Picture"];       // URL, Путь к файлу или Двоичные данные
    ИВФ       = ПолучитьИмяВременногоФайла("png");
    КопироватьФайл(Картинка, ИВФ);
    Картинка  = Новый ДвоичныеДанные(ИВФ);

    Результат = OPI_VK.СоздатьИсторию(Картинка , URL, Параметры);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьИсторию", "VK");

    Проверка_ВКИстория(Результат); // SKIP

    Результат = OPI_VK.СоздатьИсторию(ИВФ, , Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьИсторию (путь)");

    Проверка_ВКИстория(Результат);

    УдалитьФайлы(ИВФ);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура VK_СоздатьОбсуждение(ПараметрыФункции)

    Параметры       = ПолучитьПараметрыВК();
    Название        = "Обсуждаем: какой цвет лучше?";
    Сообщение       = "Красный, желтый, синий или какой-то другой?";

    Результат = OPI_VK.СоздатьОбсуждение(Название, Сообщение, Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьОбсуждение", "VK");

    Проверка_ВКОбсуждение(Результат);

    ИДОбсуждения = Результат["response"];
    ПараметрыФункции.Вставить("VK_ConvID", ИДОбсуждения);
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("VK_ConvID", ИДОбсуждения);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура VK_ЗакрытьОбсуждение(ПараметрыФункции)

    Параметры    = ПолучитьПараметрыВК();
    ИДОбсуждения = ПараметрыФункции["VK_ConvID"];
    Результат    = OPI_VK.ЗакрытьОбсуждение(ИДОбсуждения, Ложь, Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗакрытьОбсуждение", "VK");

    Проверка_ВКИстина(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура VK_ОткрытьОбсуждение(ПараметрыФункции)

    Параметры    = ПолучитьПараметрыВК();
    ИДОбсуждения = ПараметрыФункции["VK_ConvID"];
    Результат    = OPI_VK.ОткрытьОбсуждение(ИДОбсуждения, Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОткрытьОбсуждение", "VK");

    Проверка_ВКИстина(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура VK_НаписатьВОбсуждение(ПараметрыФункции)

    Параметры    = ПолучитьПараметрыВК();
    ИДОбсуждения = ПараметрыФункции["VK_ConvID"];
    Сообщение    = "Мне больше нравится желтый";

    Результат = OPI_VK.НаписатьВОбсуждение(ИДОбсуждения, Сообщение, Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "НаписатьВОбсуждение", "VK");

    Проверка_ВКОбсуждение(Результат);

КонецПроцедуры

Процедура VK_ПоставитьЛайк(ПараметрыФункции)

    Параметры   = ПолучитьПараметрыВК();
    IDПоста     = ПараметрыФункции["VK_PostID"];

    Результат = OPI_VK.ПоставитьЛайк(IDПоста, , Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПоставитьЛайк", "VK");

    Проверка_ВКЛайк(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура VK_СделатьРепост(ПараметрыФункции)

    Параметры = ПолучитьПараметрыВК();
    IDПоста   = 2571;
    IDСтены   = -218704372;

    Результат = OPI_VK.СделатьРепост(IDПоста, IDСтены, , , Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СделатьРепост", "VK");

    Проверка_ВКРепост(Результат);

    ПараметрыФункции.Вставить("Repost", Результат["response"]["post_id"]);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура VK_НаписатьКомментарий(ПараметрыФункции)

    Параметры  = ПолучитьПараметрыВК();
    Текст      = "Новый комментарий";
    IDПоста    = ПараметрыФункции["VK_PostID"];
    IDСтены    = Параметры["owner_id"];

    Результат  = OPI_VK.НаписатьКомментарий(IDПоста, IDСтены, Текст, Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "НаписатьКомментарий", "VK");

    Проверка_ВККомментарий(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура VK_ПолучитьСтатистику(ПараметрыФункции)

    Параметры       = ПолучитьПараметрыВК();

    ТекущаяДата     = OPI_Инструменты.ПолучитьТекущуюДату();
    ДатаНачала      = НачалоДня(ТекущаяДата);
    ДатаОкончания   = КонецДня(ДатаНачала);

    Результат = OPI_VK.ПолучитьСтатистику(ДатаНачала, ДатаОкончания, Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтатистику", "VK");

    Проверка_ВКСтатистика(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура VK_ПолучитьСтатистикуПостов(ПараметрыФункции)

    Параметры = ПолучитьПараметрыВК();

    МассивПостов = Новый Массив;
    МассивПостов.Добавить(214);
    МассивПостов.Добавить(215);

    Результат = OPI_VK.ПолучитьСтатистикуПостов(МассивПостов, Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтатистикуПостов", "VK");

    Проверка_ВКСтатистикаПостов(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура VK_СоздатьРекламнуюКампанию(ПараметрыФункции)

    Параметры    = ПолучитьПараметрыВК();

    IDКабинета   = ПараметрыФункции["VK_AdsCabinetID"];
    Наименование = "Новая кампания";

    Результат    = OPI_VK.СоздатьРекламнуюКампанию(IDКабинета, Наименование, Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьРекламнуюКампанию", "VK");

    Проверка_Соответствие(Результат);

    ИДКампании  = Результат["response"][0]["id"];
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("VK_AdsCampaignID", ИДКампании);
    ПараметрыФункции.Вставить("VK_AdsCampaignID", ИДКампании);

КонецПроцедуры

Процедура VK_СоздатьРекламноеОбъявление(ПараметрыФункции)

    Параметры    = ПолучитьПараметрыВК();

    НомерКампании   = ПараметрыФункции["VK_AdsCampaignID"];
    ДневнойЛимит    = 150;
    НомерКатегории  = 126;
    IDПоста         = ПараметрыФункции["VK_PostID"];
    IDКабинета      = ПараметрыФункции["VK_AdsCabinetID"];

    Результат   = OPI_VK.СоздатьРекламноеОбъявление(НомерКампании
        , ДневнойЛимит
        , НомерКатегории
        , IDПоста
        , IDКабинета
        , Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьРекламноеОбъявление", "VK");

    Проверка_Соответствие(Результат);

    ИДОбъявления = Результат["response"][0]["id"];
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("VK_AdsPostID", ИДОбъявления);
    ПараметрыФункции.Вставить("VK_AdsPostID", ИДОбъявления);

КонецПроцедуры

Процедура VK_ПриостановитьРекламноеОбъявление(ПараметрыФункции)

    Параметры     = ПолучитьПараметрыВК();

    IDКабинета    = ПараметрыФункции["VK_AdsCabinetID"];
    IDОбъявления  = ПараметрыФункции["VK_AdsPostID"];

    Результат    = OPI_VK.ПриостановитьРекламноеОбъявление(IDКабинета, IDОбъявления, Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПриостановитьРекламноеОбъявление", "VK");

    Проверка_Соответствие(Результат);

КонецПроцедуры

Процедура VK_СформироватьКлавиатуру(ПараметрыФункции)

    МассивКнопок = Новый Массив;
    МассивКнопок.Добавить("Button 1");
    МассивКнопок.Добавить("Button 2");

    Клавиатура = OPI_VK.СформироватьКлавиатуру(МассивКнопок);

    // END

    Проверка_Строка(Клавиатура);

КонецПроцедуры

Процедура VK_НаписатьСообщение(ПараметрыФункции)

    Параметры      = ПолучитьПараметрыВК();

    Текст          = "Сообщение из автотеста";
    IDПользователя = ПараметрыФункции["VK_UserID"];
    Communitytoken = ПараметрыФункции["VK_CommunityToken"];

    МассивКнопок = Новый Массив;
    МассивКнопок.Добавить("Button 1");
    МассивКнопок.Добавить("Button 2");

    Клавиатура = OPI_VK.СформироватьКлавиатуру(МассивКнопок);
    Результат  = OPI_VK.НаписатьСообщение(Текст, IDПользователя, Communitytoken, Клавиатура, Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "НаписатьСообщение", "VK");

    Проверка_ВКЧисло(Результат);

КонецПроцедуры

Процедура VK_ПолучитьСписокКатегорийТоваров(ПараметрыФункции)

    Параметры = ПолучитьПараметрыВК();

    Результат = OPI_VK.ПолучитьСписокКатегорийТоваров(Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокКатегорийТоваров", "VK");

    Проверка_Соответствие(Результат);

КонецПроцедуры

Процедура VK_СоздатьПодборкуТоваров(ПараметрыФункции)

    Параметры = ПолучитьПараметрыВК();

    Название = "Тестовая подборка";
    Картинка = ПараметрыФункции["Picture"];
    Основная = Истина;
    Скрытая  = Ложь;

    Результат = OPI_VK.СоздатьПодборкуТоваров(Название
        , Картинка
        , Основная
        , Скрытая
        , Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьПодборкуТоваров", "VK");

    Проверка_ВКПодборка(Результат);

    OPI_Инструменты.Пауза(5);

    ИДПодборки = Результат["response"]["market_album_id"];
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("VK_MarketAlbumID", ИДПодборки);
    ПараметрыФункции.Вставить("VK_MarketAlbumID", ИДПодборки);

КонецПроцедуры

Процедура VK_ИзменитьПодборкуТоваров(ПараметрыФункции)

    Параметры = ПолучитьПараметрыВК();

    Название  = "Измененная подборка";
    Подборка  = ПараметрыФункции["VK_MarketAlbumID"];

    Результат  = OPI_VK.ИзменитьПодборкуТоваров(Название, Подборка, , , , Параметры);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьПодборкуТоваров", "VK");

    Проверка_ВКИстина(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура VK_ДобавитьТовар(ПараметрыФункции)

    Параметры = ПолучитьПараметрыВК();

    Картинка1 = ПараметрыФункции["Picture"];  // URL, Путь к файлу или двоичные данные
    Картинка2 = ПараметрыФункции["Picture2"]; // URL, Путь к файлу или двоичные данные
    Подборка  = ПараметрыФункции["VK_MarketAlbumID"];

    МассивКартинок = Новый Массив;
    МассивКартинок.Добавить(Картинка1);
    МассивКартинок.Добавить(Картинка2);

    ОписаниеТовара = Новый Соответствие();
    ОписаниеТовара.Вставить("Имя"                , "Тестовый товар");
    ОписаниеТовара.Вставить("Описание"           , "Описание товара");
    ОписаниеТовара.Вставить("Категория"          , "20173");
    ОписаниеТовара.Вставить("Цена"               , 1);
    ОписаниеТовара.Вставить("СтараяЦена"         , 15);
    ОписаниеТовара.Вставить("ОсновноеФото"       , Картинка1);
    ОписаниеТовара.Вставить("URL"                , "https://github.com/Bayselonarrend/OpenIntegrations");
    ОписаниеТовара.Вставить("ДополнительныеФото" , МассивКартинок);
    ОписаниеТовара.Вставить("ГлавныйВГруппе"     , Истина);
    ОписаниеТовара.Вставить("Ширина"             , 20);
    ОписаниеТовара.Вставить("Высота"             , 30);
    ОписаниеТовара.Вставить("Глубина"            , 40);
    ОписаниеТовара.Вставить("Вес"                , 100);
    ОписаниеТовара.Вставить("SKU"                , "12345");
    ОписаниеТовара.Вставить("ДоступныйОстаток"   , "10");

    Результат = OPI_VK.ДобавитьТовар(ОписаниеТовара, Подборка, Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьТовар", "VK");

    Проверка_ВКТовар(Результат);

    ИДТовара  = Результат["response"]["market_item_id"];
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("VK_MarketItemID", ИДТовара);
    ПараметрыФункции.Вставить("VK_MarketItemID", ИДТовара);

КонецПроцедуры

Процедура VK_ИзменитьТовар(ПараметрыФункции)

    Параметры = ПолучитьПараметрыВК();

    Товар = ПараметрыФункции["VK_MarketItemID"];

    ОписаниеТовара = Новый Соответствие;
    ОписаниеТовара.Вставить("Имя", "Тестовый товар измененный");

    Результат = OPI_VK.ИзменитьТовар(Товар, ОписаниеТовара, , Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьТовар", "VK");

    Проверка_ВКИстина(Результат);

КонецПроцедуры

Процедура VK_ДобавитьТоварВПодборку(ПараметрыФункции)

    Параметры = ПолучитьПараметрыВК();

    Товар     = ПараметрыФункции["VK_MarketItemID"];
    Подборка  = ПараметрыФункции["VK_MarketAlbumID"];

    Результат = OPI_VK.ДобавитьТоварВПодборку(Товар, Подборка, Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьТоварВПодборку", "VK");

    Проверка_ВКЧисло(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура VK_УдалитьТоварИзПодборки(ПараметрыФункции)

    Параметры = ПолучитьПараметрыВК();

    Товар     = ПараметрыФункции["VK_MarketItemID"];
    Подборка  = ПараметрыФункции["VK_MarketAlbumID"];

    Результат = OPI_VK.УдалитьТоварИзПодборки(Товар, Подборка, Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьТоварИзПодборки", "VK");

    Проверка_ВКИстина(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура VK_УдалитьТовар(ПараметрыФункции)

    Параметры = ПолучитьПараметрыВК();

    Товар     = ПараметрыФункции["VK_MarketItemID"];

    Результат = OPI_VK.УдалитьТовар(Товар, Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьТовар", "VK");

    Проверка_ВКИстина(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура VK_УдалитьПодборку(ПараметрыФункции)

    Параметры = ПолучитьПараметрыВК();

    Подборка  = ПараметрыФункции["VK_MarketAlbumID"];

    Результат = OPI_VK.УдалитьПодборку(Подборка, Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьПодборку", "VK");

    Проверка_ВКИстина(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура VK_СоздатьСвойствоТовара(ПараметрыФункции)

    Параметры = ПолучитьПараметрыВК();

    Название  = "Цвет";

    Результат = OPI_VK.СоздатьСвойствоТовара(Название, Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСвойствоТовара", "VK");

    Проверка_ВКСвойство(Результат);

    OPI_Инструменты.Пауза(5);

    Свойство  = Результат["response"]["property_id"];
    Свойство  = OPI_Инструменты.ЧислоВСтроку(Свойство);

    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("VK_PropID", Свойство);
    ПараметрыФункции.Вставить("VK_PropID", Свойство);

КонецПроцедуры

Процедура VK_ИзменитьСвойствоТовара(ПараметрыФункции)

    Параметры = ПолучитьПараметрыВК();

    Название  = "Цвет (изм.)";
    Свойство  = ПараметрыФункции["VK_PropID"];

    Результат = OPI_VK.ИзменитьСвойствоТовара(Название, Свойство, Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьСвойствоТовара", "VK");

    OPI_Инструменты.Пауза(5);

    Проверка_ВКИстина(Результат);

КонецПроцедуры

Процедура VK_ДобавитьВариантСвойстваТовара(ПараметрыФункции)

    Счетчик   = 1; // SKIP
    Параметры = ПолучитьПараметрыВК();

    Свойство        = ПараметрыФункции["VK_PropID"];
    МассивВариантов = Новый Массив;
    МассивВариантов.Добавить("Желтый");
    МассивВариантов.Добавить("Синий");
    МассивВариантов.Добавить("Красный");

    Для Каждого Значение Из МассивВариантов Цикл

        Результат = OPI_VK.ДобавитьВариантСвойстваТовара(Значение, Свойство, Параметры);

        OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьВариантСвойстваТовара", "VK");

        Проверка_ВКВариантСвойства(Результат);                                // SKIP
        OPI_Инструменты.Пауза(5);                                             // SKIP

        ИДВарианта   = Результат["response"]["variant_id"];                   // SKIP
        ИмяПараметра = "VK_PropVarID" + Строка(Счетчик);                      // SKIP

        OPI_ПолучениеДанныхТестов.ЗаписатьПараметр(ИмяПараметра, ИДВарианта); // SKIP
        ПараметрыФункции.Вставить(ИмяПараметра, ИДВарианта);
        Счетчик = Счетчик + 1;                                                // SKIP

    КонецЦикла;

    // END

КонецПроцедуры

Процедура VK_ИзменитьВариантСвойстваТовара(ПараметрыФункции)

    Параметры = ПолучитьПараметрыВК();

    Свойство  = ПараметрыФункции["VK_PropID"];
    Вариант   = ПараметрыФункции["VK_PropVarID1"];
    Значение  = "Новое имя варианта";

    Результат = OPI_VK.ИзменитьВариантСвойстваТовара(Значение
            , Свойство
            , Вариант
            , Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьВариантСвойстваТовара", "VK");

    Проверка_ВКИстина(Результат);

КонецПроцедуры

Процедура VK_СоздатьТоварСоСвойством(ПараметрыФункции)

    Параметры = ПолучитьПараметрыВК();

    Картинка1        = ПараметрыФункции["Picture"];
    Картинка2        = ПараметрыФункции["Picture2"];
    ВариантСвойства1 = ПараметрыФункции["VK_PropVarID1"];
    ВариантСвойства2 = ПараметрыФункции["VK_PropVarID2"];

    МассивКартинок   = Новый Массив;
    МассивКартинок.Добавить(Картинка1);
    МассивКартинок.Добавить(Картинка2);

    Товар = Новый Соответствие();
    Товар.Вставить("Имя"                , "Тестовый товар (со свойством)");
    Товар.Вставить("Описание"           , "Описание товара");
    Товар.Вставить("Категория"          , "20173");
    Товар.Вставить("Цена"               , 1);
    Товар.Вставить("СтараяЦена"         , 15);
    Товар.Вставить("ОсновноеФото"       , Картинка1);
    Товар.Вставить("URL"                , "https://github.com/Bayselonarrend/OpenIntegrations");
    Товар.Вставить("ДополнительныеФото" , МассивКартинок);
    Товар.Вставить("ГлавныйВГруппе"     , Истина);
    Товар.Вставить("НомерГруппы"        , Неопределено);
    Товар.Вставить("Ширина"             , 20);
    Товар.Вставить("Высота"             , 30);
    Товар.Вставить("Глубина"            , 40);
    Товар.Вставить("Вес"                , 100);
    Товар.Вставить("SKU"                , 12345);
    Товар.Вставить("ДоступныйОстаток"   , "10");
    Товар.Вставить("ЗначенияСвойств"    , ВариантСвойства1);

    Результат = OPI_VK.ДобавитьТовар(Товар, , Параметры);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ТоварСоСвойством1");

    Проверка_ВКТовар(Результат);

    ИДТовара  = Результат["response"]["market_item_id"];
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("VK_MarketItemID2", ИДТовара);
    ПараметрыФункции.Вставить("VK_MarketItemID2", ИДТовара);

    Товар.Вставить("Имя"            , "Тестовый товар (другой)");
    Товар.Вставить("ЗначенияСвойств", ВариантСвойства2);

    Результат  = OPI_VK.ДобавитьТовар(Товар, , Параметры);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ТоварСоСвойством2");

    Проверка_ВКТовар(Результат);

    ИДТовара  = Результат["response"]["market_item_id"];
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("VK_MarketItemID3", ИДТовара);
    ПараметрыФункции.Вставить("VK_MarketItemID3", ИДТовара);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура VK_ПолучитьТоварыПоИД(ПараметрыФункции)

    Параметры = ПолучитьПараметрыВК();

    Товар1 = ПараметрыФункции["VK_MarketItemID2"];
    Товар2 = ПараметрыФункции["VK_MarketItemID3"];

    МассивТоваров = Новый Массив;
    МассивТоваров.Добавить(Товар1);
    МассивТоваров.Добавить(Товар2);

    Результат = OPI_VK.ПолучитьТоварыПоИД(МассивТоваров, Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьТоварыПоИД", "VK");

    Проверка_ВКИнформацияОТоварах(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура VK_СгруппироватьТовары(ПараметрыФункции)

    Параметры = ПолучитьПараметрыВК();

    Товар1 = ПараметрыФункции["VK_MarketItemID2"];
    Товар2 = ПараметрыФункции["VK_MarketItemID3"];

    МассивТоваров = Новый Массив;
    МассивТоваров.Добавить(Товар1);
    МассивТоваров.Добавить(Товар2);

    Результат = OPI_VK.СгруппироватьТовары(МассивТоваров, , Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СгруппироватьТовары", "VK");

    Проверка_ВКГруппаТоваров(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура VK_УдалитьВариантСвойстваТовара(ПараметрыФункции)

    Параметры = ПолучитьПараметрыВК();

    Вариант   = ПараметрыФункции["VK_PropVarID1"];

    Результат = OPI_VK.УдалитьВариантСвойстваТовара(Вариант, Параметры);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьВариантСвойстваТовара", "VK");

    Проверка_ВКИстина(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура VK_УдалитьСвойствоТовара(ПараметрыФункции)

    Параметры = ПолучитьПараметрыВК();

    Свойство  = ПараметрыФункции["VK_PropID"];

    Результат = OPI_VK.УдалитьСвойствоТовара(Свойство, Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСвойствоТовара");

    OPI_Инструменты.Пауза(5);

    Проверка_ВКИстина(Результат);

КонецПроцедуры

Процедура VK_ПолучитьСписокТоваров(ПараметрыФункции)

    Параметры = ПолучитьПараметрыВК();
    Результат = OPI_VK.ПолучитьСписокТоваров(, Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокТоваров", "VK");

    Проверка_Массив(Результат);
    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура VK_ПолучитьСписокПодборок(ПараметрыФункции)

    Параметры = ПолучитьПараметрыВК();
    Результат = OPI_VK.ПолучитьСписокПодборок(Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокПодборок", "VK");

    Проверка_Массив(Результат);
    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура VK_ПолучитьСписокСвойств(ПараметрыФункции)

    Параметры  = ПолучитьПараметрыВК();
    Результат  = OPI_VK.ПолучитьСписокСвойств(Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокСвойств", "VK");

    Проверка_Массив(Результат);
    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура VK_ПолучитьСписокЗаказов(ПараметрыФункции)

    Параметры  = ПолучитьПараметрыВК();
    Результат  = OPI_VK.ПолучитьСписокЗаказов(Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокЗаказов", "VK");

    Проверка_Массив(Результат);
    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура VK_ЗагрузитьВидеоНаСервер(ПараметрыФункции)

    Параметры    = ПолучитьПараметрыВК();

    Видео        = ПараметрыФункции["Video"];
    Наименование = "Новое видео";
    Описание     = "Описание видео";

    Результат = OPI_VK.ЗагрузитьВидеоНаСервер(Видео, Наименование, Описание, , Параметры);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьВидеоНаСервер", "VK");

    Проверка_ВКВидео(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

#КонецОбласти

#Область Dropbox

Процедура Dropbox_ПолучитьСсылкуАвторизации(ПараметрыФункции)

    КлючПриложения = ПараметрыФункции["Dropbox_Appkey"];
    Результат      = OPI_Dropbox.ПолучитьСсылкуАвторизации(КлючПриложения);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСсылкуАвторизации", "Dropbox");

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Строка");

КонецПроцедуры

Процедура Dropbox_ПолучитьТокен(ПараметрыФункции)

    КлючПриложения   = ПараметрыФункции["Dropbox_Appkey"];
    СекретПриложения = ПараметрыФункции["Dropbox_Appsecret"];
    Код              = ПараметрыФункции["Dropbox_Code"];

    Результат = OPI_Dropbox.ПолучитьТокен(КлючПриложения, СекретПриложения, Код);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьТокен");

    Токен  = Результат["access_token"];
    Рефреш = Результат["refresh_token"];

    Если ЗначениеЗаполнено(Токен) Тогда
        OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Dropbox_Token", Токен);
    КонецЕсли;

    Если ЗначениеЗаполнено(Рефреш) Тогда
        OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Dropbox_Refresh", Рефреш);
    КонецЕсли;

КонецПроцедуры

Процедура Dropbox_ОбновитьТокен(ПараметрыФункции)

    КлючПриложения   = ПараметрыФункции["Dropbox_Appkey"];
    СекретПриложения = ПараметрыФункции["Dropbox_Appsecret"];
    РефрешТокен      = ПараметрыФункции["Dropbox_Refresh"];

    Результат = OPI_Dropbox.ОбновитьТокен(КлючПриложения, СекретПриложения, РефрешТокен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОбновитьТокен");

    Токен = Результат["access_token"];

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(Токен).Заполнено();

    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Dropbox_Token", Токен);

КонецПроцедуры

Процедура Dropbox_ПолучитьИнформациюОбОбъекте(ПараметрыФункции)

    Путь      = "/New/pic.png";
    Токен     = ПараметрыФункции["Dropbox_Token"];

    Результат = OPI_Dropbox.ПолучитьИнформациюОбОбъекте(Токен, Путь, Истина);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюОбОбъекте", "Dropbox");

    Проверка_ДропБоксФайл(Результат, Путь);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Dropbox_ПолучитьПревью(ПараметрыФункции)

    Токен     = ПараметрыФункции["Dropbox_Token"];
    Путь      = "/New/mydoc.docx";

    Результат = OPI_Dropbox.ПолучитьПревью(Токен, Путь);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьПревью", "Dropbox");

    Проверка_ДвоичныеДанные(Результат, 120000);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Dropbox_ЗагрузитьФайл(ПараметрыФункции)

    Путь      = "/New/pic.png";
    Токен     = ПараметрыФункции["Dropbox_Token"];
    Картинка  = ПараметрыФункции["Picture"];

    КартинкаПуть = ПолучитьИмяВременногоФайла("png");
    КопироватьФайл(Картинка, КартинкаПуть);

    Результат = OPI_Dropbox.ЗагрузитьФайл(Токен, КартинкаПуть, Путь, Истина);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьФайл", "Dropbox");

    Проверка_ДропБоксФайл(Результат, Путь);
    УдалитьФайлы(КартинкаПуть);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Dropbox_ЗагрузитьФайлПоURL(ПараметрыФункции)

    Путь  = "/New/url_doc.docx";
    Токен = ПараметрыФункции["Dropbox_Token"];
    URL   = ПараметрыФункции["Document"];

    Результат = OPI_Dropbox.ЗагрузитьФайлПоURL(Токен, URL, Путь);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьФайлПоURL", "Dropbox");

    Проверка_ДропБоксРабота(Результат);

    Работа = Результат["async_job_id"];

    ПараметрыФункции.Вставить("Dropbox_Job", Работа);
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Dropbox_Job", Работа);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Dropbox_ПолучитьСтатусЗагрузкиПоURL(ПараметрыФункции)

    Токен    = ПараметрыФункции["Dropbox_Token"];
    ИДРаботы = ПараметрыФункции["Dropbox_Job"];
    Статус   = "in_progress";

    Пока Статус = "in_progress" Цикл

        Результат = OPI_Dropbox.ПолучитьСтатусЗагрузкиПоURL(Токен, ИДРаботы);
        Статус    = Результат[".tag"];

        OPI_Инструменты.Пауза(5);

        OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтатусЗагрузкиПоURL", "Dropbox");

    КонецЦикла;

    // END

    Проверка_ДропБоксСтатус(Результат);

    Путь      = "/New/url_doc.docx";
    Результат = OPI_Dropbox.УдалитьОбъект(Токен, Путь);

    Проверка_ДропБоксМетаданные(Результат, Путь);
    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Dropbox_УдалитьОбъект(ПараметрыФункции)

    Путь      = "/New/pic.png";
    Токен     = ПараметрыФункции["Dropbox_Token"];

    Результат = OPI_Dropbox.УдалитьОбъект(Токен, Путь);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьОбъект", "Dropbox");

    Проверка_ДропБоксМетаданные(Результат, Путь);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Dropbox_КопироватьОбъект(ПараметрыФункции)

    Оригинал  = "/New/pic.png";
    Копия     = "/New/pic_copy.png";
    Токен     = ПараметрыФункции["Dropbox_Token"];

    Результат = OPI_Dropbox.КопироватьОбъект(Токен, Оригинал, Копия);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "КопироватьОбъект", "Dropbox");

    Проверка_ДропБоксМетаданные(Результат, Копия);

    Результат = OPI_Dropbox.УдалитьОбъект(Токен, Копия);
    Проверка_ДропБоксМетаданные(Результат, Копия);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Dropbox_ПереместитьОбъект(ПараметрыФункции)

    ОригиналныйПуть  = "/New/pic.png";
    ЦелевойПуть      = "/pic.png";
    Токен            = ПараметрыФункции["Dropbox_Token"];

    Результат = OPI_Dropbox.ПереместитьОбъект(Токен, ОригиналныйПуть, ЦелевойПуть);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереместитьОбъект", "Dropbox");

    Проверка_ДропБоксМетаданные(Результат, ЦелевойПуть);

    Результат = OPI_Dropbox.ПереместитьОбъект(Токен, ЦелевойПуть, ОригиналныйПуть);
    Проверка_ДропБоксМетаданные(Результат, ОригиналныйПуть);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Dropbox_СоздатьПапку(ПараметрыФункции)

    Токен     = ПараметрыФункции["Dropbox_Token"];
    Путь      = "/Новый каталог";

    Результат = OPI_Dropbox.СоздатьПапку(Токен, Путь);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьПапку", "Dropbox");

    Проверка_ДропБоксМетаданные(Результат, Путь);

    Результат = OPI_Dropbox.УдалитьОбъект(Токен, Путь);
    Проверка_ДропБоксМетаданные(Результат, Путь);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Dropbox_СкачатьФайл(ПараметрыФункции)

    Токен     = ПараметрыФункции["Dropbox_Token"];
    Путь      = "/New/pic.png";

    Результат = OPI_Dropbox.СкачатьФайл(Токен, Путь);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СкачатьФайл", "Dropbox");

    Проверка_ДвоичныеДанные(Результат, 2000000);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Dropbox_СкачатьПапку(ПараметрыФункции)

    Токен     = ПараметрыФункции["Dropbox_Token"];
    Путь      = "/New";

    Результат = OPI_Dropbox.СкачатьПапку(Токен, Путь);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СкачатьПапку", "Dropbox");

    Проверка_ДвоичныеДанные(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Dropbox_ПолучитьСписокФайловПапки(ПараметрыФункции)

    Путь      = "/New";
    Токен     = ПараметрыФункции["Dropbox_Token"];

    Результат = OPI_Dropbox.ПолучитьСписокФайловПапки(Токен, Путь, Истина);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокФайловПапки", "Dropbox");

    Проверка_ДропБоксМассив(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Dropbox_ПолучитьСписокВерсийОбъекта(ПараметрыФункции)

    Токен     = ПараметрыФункции["Dropbox_Token"];
    Путь      = "/New/pic.png";

    Результат = OPI_Dropbox.ПолучитьСписокВерсийОбъекта(Токен, Путь, 1);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокВерсийОбъекта", "Dropbox");

   Проверка_ДропБоксМассив(Результат, 1);

   Ревизия = Результат["entries"][0]["rev"];

   ПараметрыФункции.Вставить("Dropbox_FileRevision", Ревизия);
   OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Dropbox_FileRevision", Ревизия);

   OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Dropbox_ВосстановитьОбъектКВерсии(ПараметрыФункции)

    Версия    = ПараметрыФункции["Dropbox_FileRevision"];
    Токен     = ПараметрыФункции["Dropbox_Token"];
    Путь      = "/New/pic.png";

    Результат = OPI_Dropbox.ВосстановитьОбъектКВерсии(Токен, Путь, Версия);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВосстановитьОбъектКВерсии", "Dropbox");

    Проверка_ДропБоксФайл(Результат, Путь);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Dropbox_ПолучитьСписокТегов(ПараметрыФункции)

    Токен = ПараметрыФункции["Dropbox_Token"];

    МассивПутей = Новый Массив;
    МассивПутей.Добавить("/New/Dogs.mp3");
    МассивПутей.Добавить("/New/mydoc.docx");

    Результат = OPI_Dropbox.ПолучитьСписокТегов(Токен, МассивПутей);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокТегов", "Dropbox");

    Проверка_ДропБоксТеги(Результат, МассивПутей.Количество());

    Результат = OPI_Dropbox.ПолучитьСписокТегов(Токен, "/New/mydoc.docx");

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокТегов (одиночный)");

    Проверка_ДропБоксТеги(Результат, 1);

    ЕстьТег = Ложь;

    Для Каждого Тег Из Результат["paths_to_tags"][0]["tags"] Цикл
        Если Тег["tag_text"] = "важное" Тогда
            ЕстьТег          = Истина;
        КонецЕсли;
    КонецЦикла;

    OPI_ПолучениеДанныхТестов.ОжидаетЧто(ЕстьТег).Равно(Истина);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Dropbox_ДобавитьТег(ПараметрыФункции)

    Тег       = "Важное";
    Токен     = ПараметрыФункции["Dropbox_Token"];
    Путь      = "/New/mydoc.docx";

    Результат = OPI_Dropbox.ДобавитьТег(Токен, Путь, Тег);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьТег", "Dropbox");

    Проверка_Пусто(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Dropbox_УдалитьТег(ПараметрыФункции)

    Тег       = "Важное";
    Токен     = ПараметрыФункции["Dropbox_Token"];
    Путь      = "/New/mydoc.docx";

    Результат = OPI_Dropbox.УдалитьТег(Токен, Путь, Тег);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьТег", "Dropbox");

    Проверка_Пусто(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Dropbox_ПолучитьИнформациюОбАккаунте(ПараметрыФункции)

    Токен = ПараметрыФункции["Dropbox_Token"];

    Результат = OPI_Dropbox.ПолучитьИнформациюОбАккаунте(Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюОбАккаунте", "Dropbox");

    Проверка_ДропбоксАккаунт(Результат);

    Результат = OPI_Dropbox.ПолучитьИнформациюОбАккаунте(Токен, Результат["account_id"]);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюОбАккаунте (сторонний)");

    Проверка_ДропбоксАккаунт(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Dropbox_ПолучитьДанныеИспользованияПространства(ПараметрыФункции)

    Токен = ПараметрыФункции["Dropbox_Token"];

    Результат = OPI_Dropbox.ПолучитьДанныеИспользованияПространства(Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьДанныеИспользованияПространства", "Dropbox");

    Проверка_ДропбоксПространство(Результат);

КонецПроцедуры

Процедура Dropbox_ДобавитьПользователейКФайлу(ПараметрыФункции)

    Токен = ПараметрыФункции["Dropbox_Token"];
    Почта = ПараметрыФункции["Dropbox_OtherUser"];
    Файл  = ПараметрыФункции["Dropbox_FileID"];

    Результат = OPI_Dropbox.ДобавитьПользователейКФайлу(Токен, Файл, Почта, Ложь);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьПользователейКФайлу", "Dropbox");

    Проверка_ДропбоксУчастник(Результат, Почта, Ложь);

    Почты = Новый Массив;
    Почты.Добавить(Почта);

    Результат = OPI_Dropbox.ДобавитьПользователейКФайлу(Токен, Файл, Почты, Истина);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьПользователейКФайлу (доп.) ");

    Проверка_ДропбоксУчастник(Результат, Почта, Истина);

КонецПроцедуры

Процедура Dropbox_ОпубликоватьПапку(ПараметрыФункции)

    Токен     = ПараметрыФункции["Dropbox_Token"];
    Путь      = "/New";

    Результат = OPI_Dropbox.ОпубликоватьПапку(Токен, Путь);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОпубликоватьПапку", "Dropbox");

    Проверка_ДропБоксПубличнаяПапка(Результат);

    IDПапки = Результат["shared_folder_id"];

    ПараметрыФункции.Вставить("Dropbox_SharedFolder", IDПапки);
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Dropbox_SharedFolder", IDПапки);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Dropbox_ОтменитьПубликациюПапки(ПараметрыФункции)

    Токен  = ПараметрыФункции["Dropbox_Token"];
    Папка  = ПараметрыФункции["Dropbox_SharedFolder"];

    Результат     = OPI_Dropbox.ОтменитьПубликациюПапки(Токен, Папка);
    ТекущийСтатус = "in_progress";
    IDРаботы      = Результат["async_job_id"];

    Пока ТекущийСтатус = "in_progress" Цикл
        Результат      = OPI_Dropbox.ПолучитьСтатусАсинхронногоИзменения(Токен, IDРаботы);
        ТекущийСтатус  = Результат[".tag"];
        OPI_Инструменты.Пауза(3);
    КонецЦикла;

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтменитьПубликациюПапки", "Dropbox");

   Проверка_ДропБоксСтатус(Результат);

   OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Dropbox_ДобавитьПользователейКПапке(ПараметрыФункции)

    Токен  = ПараметрыФункции["Dropbox_Token"];
    Почта  = ПараметрыФункции["Dropbox_OtherUser"];
    Папка  = ПараметрыФункции["Dropbox_SharedFolder"]; // shared_folder_id

    Результат = OPI_Dropbox.ДобавитьПользователейКПапке(Токен, Папка, Почта, Ложь);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьПользователейКПапке", "Dropbox");

    Проверка_Пусто(Результат);

    Почты = Новый Массив;
    Почты.Добавить(Почта);

    Результат = OPI_Dropbox.ДобавитьПользователейКПапке(Токен, Папка, Почты, Истина);

    Проверка_Пусто(Результат);

КонецПроцедуры

Процедура Dropbox_ОтменитьПубликациюФайла(ПараметрыФункции)

    Токен    = ПараметрыФункции["Dropbox_Token"];
    Файл     = ПараметрыФункции["Dropbox_FileID"];

    Результат = OPI_Dropbox.ОтменитьПубликациюФайла(Токен, Файл);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтменитьПубликациюФайла", "Dropbox");

    Проверка_Пусто(Результат);

КонецПроцедуры

#КонецОбласти

#Область Bitrix24

Процедура Bitrix24_ПолучитьСсылкуАвторизацииПриложения(ПараметрыФункции)

    Домен    = ПараметрыФункции["Bitrix24_Domain"];
    ClientID = ПараметрыФункции["Bitrix24_ClientID"];

    Результат = OPI_Bitrix24.ПолучитьСсылкуАвторизацииПриложения(Домен, ClientID);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСсылкуАвторизацииПриложения", "Bitrix24");

    Проверка_Строка(Результат);

    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_AuthURL", Результат);

КонецПроцедуры

Процедура Bitrix24_ПолучитьТокен(ПараметрыФункции)

    ClientID     = ПараметрыФункции["Bitrix24_ClientID"];
    ClientSecret = ПараметрыФункции["Bitrix24_ClientSecret"];
    Code         = ПараметрыФункции["Bitrix24_Code"];

    Результат = OPI_Bitrix24.ПолучитьТокен(ClientID, ClientSecret, Code);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьТокен", "Bitrix24");

    Если ЗначениеЗаполнено(Результат["access_token"]) И ЗначениеЗаполнено(Результат["refresh_token"]) Тогда
        OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_Token"  , Результат["access_token"]);
        OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_Refresh", Результат["refresh_token"]);
    КонецЕсли;

КонецПроцедуры

Процедура Bitrix24_ОбновитьТокен(ПараметрыФункции)

    ClientID     = ПараметрыФункции["Bitrix24_ClientID"];
    ClientSecret = ПараметрыФункции["Bitrix24_ClientSecret"];
    Refresh      = ПараметрыФункции["Bitrix24_Refresh"];

    Результат = OPI_Bitrix24.ОбновитьТокен(ClientID, ClientSecret, Refresh);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОбновитьТокен", "Bitrix24");

    Проверка_БитриксАвторизация(Результат);

    Если ЗначениеЗаполнено(Результат["access_token"]) И ЗначениеЗаполнено(Результат["refresh_token"]) Тогда
        OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_Token"  , Результат["access_token"]);
        OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_Refresh", Результат["refresh_token"]);
    КонецЕсли;

КонецПроцедуры

Процедура Bitrix24_СерверноеВремя(ПараметрыФункции)

    URL = ПараметрыФункции["Bitrix24_URL"];

    Результат = OPI_Bitrix24.СерверноеВремя(URL);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СерверноеВремя (хук)", "Bitrix24");

    Проверка_БитриксВремя(Результат); // SKIP

    URL   = ПараметрыФункции["Bitrix24_Domain"];
    Токен = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.СерверноеВремя(URL, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СерверноеВремя", "Bitrix24");

    Проверка_БитриксВремя(Результат);

КонецПроцедуры

Процедура Bitrix24_СоздатьНовость(ПараметрыФункции)

    Текст     = "Текст новости";
    Заголовок = "Заголовок новости";
    Картинка1 = ПараметрыФункции["Picture"];  // URL, Путь или Двоичные данные
    Картинка2 = ПараметрыФункции["Picture2"]; // URL, Путь или Двоичные данные

    Файлы     = Новый Соответствие;
    Файлы.Вставить("1.png", Картинка1);
    Файлы.Вставить("2.png", Картинка2);

    URL = ПараметрыФункции["Bitrix24_URL"];

    Результат = OPI_Bitrix24.СоздатьНовость(URL, Текст, , Файлы, Заголовок, Истина);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьНовость (хук)", "Bitrix24");

    Проверка_БитриксЧисло(Результат);                                             // SKIP

    IDНовости = Результат["result"];                                              // SKIP
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_HookPostID", IDНовости); // SKIP
    ПараметрыФункции.Вставить("Bitrix24_HookPostID", IDНовости);                  // SKIP

    URL   = ПараметрыФункции["Bitrix24_Domain"];
    Токен = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.СоздатьНовость(URL, Текст, , Файлы, Заголовок, , Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьНовость", "Bitrix24");

    Проверка_БитриксЧисло(Результат);

    IDНовости = Результат["result"];

    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_PostID", IDНовости);
    ПараметрыФункции.Вставить("Bitrix24_PostID", IDНовости);

КонецПроцедуры

Процедура Bitrix24_ИзменитьНовость(ПараметрыФункции)

    Текст     = "Новый текст новости";
    Заголовок = "Новый заголовок новости";
    Картинка1 = ПараметрыФункции["Picture"]; // URL, Путь или Двоичные данные
    IDНовости = ПараметрыФункции["Bitrix24_PostID"];

    Файлы     = Новый Соответствие;
    Файлы.Вставить("1.png", Картинка1);

    URL = ПараметрыФункции["Bitrix24_URL"];

    Результат = OPI_Bitrix24.ИзменитьНовость(URL, IDНовости, Текст, , Файлы, Заголовок);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьНовость (хук)", "Bitrix24");

    Проверка_БитриксЧисло(Результат); // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];
    IDНовости = ПараметрыФункции["Bitrix24_HookPostID"];

    Результат = OPI_Bitrix24.ИзменитьНовость(URL, IDНовости, Текст, , Файлы, Заголовок, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьНовость", "Bitrix24");

    Проверка_БитриксЧисло(Результат);

КонецПроцедуры

Процедура Bitrix24_УдалитьНовость(ПараметрыФункции)

    IDНовости = ПараметрыФункции["Bitrix24_HookPostID"];
    URL       = ПараметрыФункции["Bitrix24_URL"];

    Результат = OPI_Bitrix24.УдалитьНовость(URL, IDНовости);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьНовость (хук)", "Bitrix24");

    Проверка_БитриксИстина(Результат); // SKIP

    IDНовости = ПараметрыФункции["Bitrix24_PostID"];
    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.УдалитьНовость(URL, IDНовости, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьНовость", "Bitrix24");

    Проверка_БитриксИстина(Результат);

КонецПроцедуры

Процедура Bitrix24_ПолучитьСписокПросмотревшихВажное(ПараметрыФункции)

    IDНовости = ПараметрыФункции["Bitrix24_HookPostID"];
    URL       = ПараметрыФункции["Bitrix24_URL"];

    Результат = OPI_Bitrix24.ПолучитьСписокПросмотревшихВажное(URL, IDНовости);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокПросмотревшихВажное (хук)", "Bitrix24");

    Проверка_БитриксМассив(Результат); // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ПолучитьСписокПросмотревшихВажное(URL, IDНовости, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокПросмотревшихВажное", "Bitrix24");

    Проверка_БитриксМассив(Результат);

КонецПроцедуры

Процедура Bitrix24_ПолучитьНовости(ПараметрыФункции)

    IDНовости = ПараметрыФункции["Bitrix24_PostID"];
    URL       = ПараметрыФункции["Bitrix24_URL"];

    Результат = OPI_Bitrix24.ПолучитьНовости(URL, IDНовости);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьНовости (хук)", "Bitrix24");

    Проверка_БитриксМассивОбъектов(Результат); // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ПолучитьНовости(URL, IDНовости, , Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьНовости", "Bitrix24");

    Проверка_БитриксМассивОбъектов(Результат);

КонецПроцедуры

Процедура Bitrix24_ДобавитьКомментарийНовости(ПараметрыФункции)

    Текст     = "Комментарий к новости";
    IDНовости = ПараметрыФункции["Bitrix24_PostID"];
    URL       = ПараметрыФункции["Bitrix24_URL"];

    Результат = OPI_Bitrix24.ДобавитьКомментарийНовости(URL, IDНовости, Текст);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьКомментарийНовости (хук)", "Bitrix24");

    Проверка_БитриксЧисло(Результат); // SKIP

    Текст     = "Другой комментарий к новости";
    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ДобавитьКомментарийНовости(URL, IDНовости, Текст, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьКомментарийНовости", "Bitrix24");

    Проверка_БитриксЧисло(Результат);

КонецПроцедуры

Процедура Bitrix24_ДобавитьПолучателейКНовости(ПараметрыФункции)

    Видимость = "UA";
    IDНовости = ПараметрыФункции["Bitrix24_PostID"];
    URL       = ПараметрыФункции["Bitrix24_URL"];

    Результат = OPI_Bitrix24.ДобавитьПолучателейКНовости(URL, IDНовости, Видимость);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьПолучателейКНовости (хук)", "Bitrix24");

    Проверка_БитриксИстина(Результат); // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ДобавитьПолучателейКНовости(URL, IDНовости, Видимость, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьПолучателейКНовости", "Bitrix24");

    Проверка_БитриксИстина(Результат);

КонецПроцедуры

Процедура Bitrix24_ПолучитьСтруктуруЗадачи(ПараметрыФункции)

    URL = ПараметрыФункции["Bitrix24_URL"];

    Результат = OPI_Bitrix24.ПолучитьСтруктуруЗадачи(URL);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруЗадачи (хук)", "Bitrix24");

    Проверка_БитриксПоля(Результат); // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ПолучитьСтруктуруЗадачи(URL, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруЗадачи", "Bitrix24");

    Проверка_БитриксПоля(Результат);

КонецПроцедуры

Процедура Bitrix24_СоздатьЗадачу(ПараметрыФункции)

    // Полную структуру полей можно получить функцией ПолучитьСтруктуруЗадачи()

    ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату();
    Час         = 3600;
    Сутки       = 24;
    Исполнитель = 1;

    СтруктураЗадачи = Новый Структура;
    СтруктураЗадачи.Вставить("TITLE"         , "Новая задача");
    СтруктураЗадачи.Вставить("DESCRIPTION"   , "Новое описание задачи");
    СтруктураЗадачи.Вставить("PRIORITY"      , "2");
    СтруктураЗадачи.Вставить("DEADLINE"      , ТекущаяДата + Час * Сутки);
    СтруктураЗадачи.Вставить("RESPONSIBLE_ID", Исполнитель);

    URL = ПараметрыФункции["Bitrix24_URL"];

    Результат = OPI_Bitrix24.СоздатьЗадачу(URL, СтруктураЗадачи);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьЗадачу (хук)", "Bitrix24");

    Проверка_БитриксЗадача(Результат);                                           // SKIP

    IDЗадачи = Результат["result"]["task"]["id"];                                // SKIP

    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_HookTaskID", IDЗадачи); // SKIP
    ПараметрыФункции.Вставить("Bitrix24_HookTaskID", IDЗадачи);                  // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.СоздатьЗадачу(URL, СтруктураЗадачи, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьЗадачу", "Bitrix24");

    Проверка_БитриксЗадача(Результат);

    IDЗадачи = Результат["result"]["task"]["id"];

    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_TaskID", IDЗадачи);
    ПараметрыФункции.Вставить("Bitrix24_TaskID", IDЗадачи);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура Bitrix24_ИзменитьЗадачу(ПараметрыФункции)

    // Полную структуру полей можно получить функцией ПолучитьСтруктуруЗадачи()

    СтруктураЗадачи = Новый Структура;
    СтруктураЗадачи.Вставить("TITLE"      , "Другой заголовок задачи");
    СтруктураЗадачи.Вставить("DESCRIPTION", "Другое описание задачи");
    СтруктураЗадачи.Вставить("PRIORITY"   , "1");

    URL      = ПараметрыФункции["Bitrix24_URL"];
    IDЗадачи = ПараметрыФункции["Bitrix24_HookTaskID"];

    Результат = OPI_Bitrix24.ИзменитьЗадачу(URL, IDЗадачи, СтруктураЗадачи);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьЗадачу (хук)", "Bitrix24");

    Проверка_БитриксЗадача(Результат); // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];
    IDЗадачи  = ПараметрыФункции["Bitrix24_TaskID"];

    Результат = OPI_Bitrix24.ИзменитьЗадачу(URL, IDЗадачи, СтруктураЗадачи, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьЗадачу", "Bitrix24");

    Проверка_БитриксЗадача(Результат);

КонецПроцедуры

Процедура Bitrix24_ПолучитьЗадачу(ПараметрыФункции)

    URL      = ПараметрыФункции["Bitrix24_URL"];
    IDЗадачи = ПараметрыФункции["Bitrix24_HookTaskID"];

    Результат = OPI_Bitrix24.ПолучитьЗадачу(URL, IDЗадачи);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗадачу (хук)", "Bitrix24");

    Проверка_БитриксЗадача(Результат); // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];
    IDЗадачи  = ПараметрыФункции["Bitrix24_TaskID"];

    Результат = OPI_Bitrix24.ПолучитьЗадачу(URL, IDЗадачи, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗадачу", "Bitrix24");

    Проверка_БитриксЗадача(Результат);

КонецПроцедуры

Процедура Bitrix24_ПринятьЗадачу(ПараметрыФункции)

    URL      = ПараметрыФункции["Bitrix24_URL"];
    IDЗадачи = ПараметрыФункции["Bitrix24_HookTaskID"];

    Результат = OPI_Bitrix24.ПринятьЗадачу(URL, IDЗадачи);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПринятьЗадачу (хук)", "Bitrix24");

    Проверка_БитриксЗадача(Результат); // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];
    IDЗадачи  = ПараметрыФункции["Bitrix24_TaskID"];

    Результат = OPI_Bitrix24.ПринятьЗадачу(URL, IDЗадачи, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПринятьЗадачу", "Bitrix24");

    Проверка_БитриксЗадача(Результат);

КонецПроцедуры

Процедура Bitrix24_ОтклонитьЗадачу(ПараметрыФункции)

    URL      = ПараметрыФункции["Bitrix24_URL"];
    IDЗадачи = ПараметрыФункции["Bitrix24_HookTaskID"];

    Результат = OPI_Bitrix24.ОтклонитьЗадачу(URL, IDЗадачи);

    Проверка_Соответствие(Результат); // SKIP

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтклонитьЗадачу (хук)", "Bitrix24");

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];
    IDЗадачи  = ПараметрыФункции["Bitrix24_TaskID"];

    Результат = OPI_Bitrix24.ОтклонитьЗадачу(URL, IDЗадачи, Токен);

    // END

    Проверка_Соответствие(Результат);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтклонитьЗадачу", "Bitrix24");

КонецПроцедуры

Процедура Bitrix24_ЗавершитьЗадачу(ПараметрыФункции)

    URL      = ПараметрыФункции["Bitrix24_URL"];
    IDЗадачи = ПараметрыФункции["Bitrix24_HookTaskID"];

    Результат = OPI_Bitrix24.ЗавершитьЗадачу(URL, IDЗадачи);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗавершитьЗадачу (хук)", "Bitrix24");

    Проверка_БитриксЗадача(Результат); // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];
    IDЗадачи  = ПараметрыФункции["Bitrix24_TaskID"];

    Результат = OPI_Bitrix24.ЗавершитьЗадачу(URL, IDЗадачи, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗавершитьЗадачу", "Bitrix24");

    Проверка_БитриксЗадача(Результат);

КонецПроцедуры

Процедура Bitrix24_ВозобновитьЗадачу(ПараметрыФункции)

    URL      = ПараметрыФункции["Bitrix24_URL"];
    IDЗадачи = ПараметрыФункции["Bitrix24_HookTaskID"];

    Результат = OPI_Bitrix24.ВозобновитьЗадачу(URL, IDЗадачи);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВозобновитьЗадачу (хук)", "Bitrix24");

    Проверка_БитриксЗадача(Результат); // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];
    IDЗадачи  = ПараметрыФункции["Bitrix24_TaskID"];

    Результат = OPI_Bitrix24.ВозобновитьЗадачу(URL, IDЗадачи, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВозобновитьЗадачу", "Bitrix24");

    Проверка_БитриксЗадача(Результат);

КонецПроцедуры

Процедура Bitrix24_ОтложитьЗадачу(ПараметрыФункции)

    URL      = ПараметрыФункции["Bitrix24_URL"];
    IDЗадачи = ПараметрыФункции["Bitrix24_HookTaskID"];

    Результат = OPI_Bitrix24.ОтложитьЗадачу(URL, IDЗадачи);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтложитьЗадачу (хук)", "Bitrix24");

    Проверка_БитриксЗадача(Результат); // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];
    IDЗадачи  = ПараметрыФункции["Bitrix24_TaskID"];

    Результат = OPI_Bitrix24.ОтложитьЗадачу(URL, IDЗадачи, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтложитьЗадачу", "Bitrix24");

    Проверка_БитриксЗадача(Результат);

КонецПроцедуры

Процедура Bitrix24_НачатьВыполнениеЗадачи(ПараметрыФункции)

    URL      = ПараметрыФункции["Bitrix24_URL"];
    IDЗадачи = ПараметрыФункции["Bitrix24_HookTaskID"];

    Результат = OPI_Bitrix24.НачатьВыполнениеЗадачи(URL, IDЗадачи);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "НачатьВыполнениеЗадачи (хук)", "Bitrix24");

    Проверка_БитриксЗадача(Результат); // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];
    IDЗадачи  = ПараметрыФункции["Bitrix24_TaskID"];

    Результат = OPI_Bitrix24.НачатьВыполнениеЗадачи(URL, IDЗадачи, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "НачатьВыполнениеЗадачи", "Bitrix24");

    Проверка_БитриксЗадача(Результат);

КонецПроцедуры

Процедура Bitrix24_НачатьНаблюдатьЗаЗадачей(ПараметрыФункции)

    URL      = ПараметрыФункции["Bitrix24_URL"];
    IDЗадачи = ПараметрыФункции["Bitrix24_HookTaskID"];

    Результат = OPI_Bitrix24.НачатьНаблюдатьЗаЗадачей(URL, IDЗадачи);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "НачатьНаблюдатьЗаЗадачей (хук)", "Bitrix24");

    Проверка_БитриксЗадача(Результат); // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];
    IDЗадачи  = ПараметрыФункции["Bitrix24_TaskID"];

    Результат = OPI_Bitrix24.НачатьНаблюдатьЗаЗадачей(URL, IDЗадачи, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "НачатьНаблюдатьЗаЗадачей", "Bitrix24");

    Проверка_БитриксЗадача(Результат);

КонецПроцедуры

Процедура Bitrix24_ПрекратитьНаблюдатьЗаЗадачей(ПараметрыФункции)

    URL      = ПараметрыФункции["Bitrix24_URL"];
    IDЗадачи = ПараметрыФункции["Bitrix24_HookTaskID"];

    Результат = OPI_Bitrix24.ПрекратитьНаблюдатьЗаЗадачей(URL, IDЗадачи);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПрекратитьНаблюдатьЗаЗадачей (хук)", "Bitrix24");

    Проверка_БитриксЗадача(Результат); // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];
    IDЗадачи  = ПараметрыФункции["Bitrix24_TaskID"];

    Результат = OPI_Bitrix24.ПрекратитьНаблюдатьЗаЗадачей(URL, IDЗадачи, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПрекратитьНаблюдатьЗаЗадачей", "Bitrix24");

    Проверка_БитриксЗадача(Результат);

КонецПроцедуры

Процедура Bitrix24_ПриостановитьЗадачу(ПараметрыФункции)

    URL      = ПараметрыФункции["Bitrix24_URL"];
    IDЗадачи = ПараметрыФункции["Bitrix24_HookTaskID"];

    Результат = OPI_Bitrix24.ПриостановитьЗадачу(URL, IDЗадачи);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПриостановитьЗадачу (хук)", "Bitrix24");

    Проверка_БитриксЗадача(Результат); // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];
    IDЗадачи  = ПараметрыФункции["Bitrix24_TaskID"];

    Результат = OPI_Bitrix24.ПриостановитьЗадачу(URL, IDЗадачи, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПриостановитьЗадачу", "Bitrix24");

    Проверка_БитриксЗадача(Результат);

КонецПроцедуры

Процедура Bitrix24_УдалитьЗадачу(ПараметрыФункции)

    URL      = ПараметрыФункции["Bitrix24_URL"];
    IDЗадачи = ПараметрыФункции["Bitrix24_HookTaskID"];

    Результат = OPI_Bitrix24.УдалитьЗадачу(URL, IDЗадачи);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьЗадачу (хук)", "Bitrix24");

    Проверка_БитриксЗадача(Результат); // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];
    IDЗадачи  = ПараметрыФункции["Bitrix24_TaskID"];

    Результат = OPI_Bitrix24.УдалитьЗадачу(URL, IDЗадачи, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьЗадачу", "Bitrix24");

    Проверка_БитриксЗадача(Результат);

КонецПроцедуры

Процедура Bitrix24_ДелегироватьЗадачу(ПараметрыФункции)

    URL            = ПараметрыФункции["Bitrix24_URL"];
    IDЗадачи       = ПараметрыФункции["Bitrix24_HookTaskID"];
    IDПользователя = ПараметрыФункции["Bitrix24_UserID"];

    Результат = OPI_Bitrix24.ДелегироватьЗадачу(URL, IDЗадачи, IDПользователя);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДелегироватьЗадачу (хук)", "Bitrix24");

    Проверка_БитриксЗадача(Результат); // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];
    IDЗадачи  = ПараметрыФункции["Bitrix24_TaskID"];

    Результат = OPI_Bitrix24.ДелегироватьЗадачу(URL, IDЗадачи, IDПользователя, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДелегироватьЗадачу", "Bitrix24");

    Проверка_БитриксЗадача(Результат);

КонецПроцедуры

Процедура Bitrix24_ДобавитьЗадачуВИзбранное(ПараметрыФункции)

    URL      = ПараметрыФункции["Bitrix24_URL"];
    IDЗадачи = ПараметрыФункции["Bitrix24_HookTaskID"];

    Результат = OPI_Bitrix24.ДобавитьЗадачуВИзбранное(URL, IDЗадачи);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьЗадачуВИзбранное (хук)", "Bitrix24");

    Проверка_БитриксИстина(Результат); // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];
    IDЗадачи  = ПараметрыФункции["Bitrix24_TaskID"];

    Результат = OPI_Bitrix24.ДобавитьЗадачуВИзбранное(URL, IDЗадачи, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьЗадачуВИзбранное", "Bitrix24");

    Проверка_БитриксИстина(Результат);

КонецПроцедуры

Процедура Bitrix24_УбратьЗадачуИзИзбранного(ПараметрыФункции)

    URL      = ПараметрыФункции["Bitrix24_URL"];
    IDЗадачи = ПараметрыФункции["Bitrix24_HookTaskID"];

    Результат = OPI_Bitrix24.УбратьЗадачуИзИзбранного(URL, IDЗадачи);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УбратьЗадачуИзИзбранного (хук)", "Bitrix24");

    Проверка_БитриксИстина(Результат); // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];
    IDЗадачи  = ПараметрыФункции["Bitrix24_TaskID"];

    Результат = OPI_Bitrix24.УбратьЗадачуИзИзбранного(URL, IDЗадачи, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УбратьЗадачуИзИзбранного", "Bitrix24");

    Проверка_БитриксИстина(Результат);

КонецПроцедуры

Процедура Bitrix24_ПолучитьИсториюЗадачи(ПараметрыФункции)

    URL      = ПараметрыФункции["Bitrix24_URL"];
    IDЗадачи = ПараметрыФункции["Bitrix24_HookTaskID"];

    Результат = OPI_Bitrix24.ПолучитьИсториюЗадачи(URL, IDЗадачи);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИсториюЗадачи (хук)", "Bitrix24");

    Проверка_БитриксСписок(Результат); // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];
    IDЗадачи  = ПараметрыФункции["Bitrix24_TaskID"];

    Результат = OPI_Bitrix24.ПолучитьИсториюЗадачи(URL, IDЗадачи, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИсториюЗадачи", "Bitrix24");

    Проверка_БитриксСписок(Результат);

КонецПроцедуры

Процедура Bitrix24_ПолучитьСписокЗадач(ПараметрыФункции)

    // Полную структуру фильтра можно найти в функции ПолучитьСтруктуруФильтраЗадач
    Фильтр = Новый Структура;
    Фильтр.Вставить("CREATED_BY"    , 1);
    Фильтр.Вставить("RESPONSIBLE_ID", 10);

    Отступ   = 1;
    URL      = ПараметрыФункции["Bitrix24_URL"];

    Результат = OPI_Bitrix24.ПолучитьСписокЗадач(URL, Фильтр);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокЗадач (хук)", "Bitrix24");

    Проверка_БитриксСписокЗадач(Результат); // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ПолучитьСписокЗадач(URL, , Отступ, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокЗадач", "Bitrix24");

    Проверка_БитриксСписокЗадач(Результат);

КонецПроцедуры

Процедура Bitrix24_ПолучитьСписокХранилищ(ПараметрыФункции)

    URL       = ПараметрыФункции["Bitrix24_URL"];
    Результат = OPI_Bitrix24.ПолучитьСписокХранилищ(URL);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокХранилищ (хук)", "Bitrix24");

    Проверка_БитриксХранилища(Результат); // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ПолучитьСписокХранилищ(URL, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокХранилищ", "Bitrix24");

    Проверка_БитриксХранилища(Результат);

КонецПроцедуры

Процедура Bitrix24_ПолучитьХранилищеПриложения(ПараметрыФункции)

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ПолучитьХранилищеПриложения(URL, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьХранилищеПриложения", "Bitrix24");

    Проверка_БитриксОбъект(Результат);

    IDХранилища = Результат["result"]["ID"];                                       // SKIP
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_StorageID", IDХранилища); // SKIP
    ПараметрыФункции.Вставить("Bitrix24_StorageID", IDХранилища);                  // SKIP

КонецПроцедуры

Процедура Bitrix24_ЗагрузитьФайлВХранилище(ПараметрыФункции)

    Наименование2  = "Картинка2.jpg";
    Наименование   = "Картинка1.jpg";

    Картинка2 = ПараметрыФункции["Picture"];  // Локальный путь, URL или Двоичные данные
    Картинка  = ПараметрыФункции["Picture2"]; // Локальный путь, URL или Двоичные данные

    IDПриемника = 3;

    URL = ПараметрыФункции["Bitrix24_URL"];

    Результат = OPI_Bitrix24.ЗагрузитьФайлВХранилище(URL, Наименование2, Картинка2, IDПриемника);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьФайлВХранилище (хук)", "Bitrix24");

    Проверка_БитриксОбъект(Результат);                                            // SKIP

    IDФайла = Результат["result"]["ID"];                                        // SKIP
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_HookFileID", IDФайла); // SKIP
    ПараметрыФункции.Вставить("Bitrix24_HookFileID", IDФайла);                  // SKIP

    URL   = ПараметрыФункции["Bitrix24_Domain"];
    Токен = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ЗагрузитьФайлВХранилище(URL, Наименование, Картинка, IDПриемника, , Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьФайлВХранилище", "Bitrix24");

    Проверка_БитриксОбъект(Результат);

    IDФайла = Результат["result"]["ID"];
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_FileID", IDФайла);
    ПараметрыФункции.Вставить("Bitrix24_FileID", IDФайла);

КонецПроцедуры

Процедура Bitrix24_УдалитьФайл(ПараметрыФункции)

    URL       = ПараметрыФункции["Bitrix24_URL"];
    IDФайла   = ПараметрыФункции["Bitrix24_HookFileID"];

    Результат = OPI_Bitrix24.УдалитьФайл(URL, IDФайла);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьФайл (хук)", "Bitrix24");

    Проверка_БитриксИстина(Результат); // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];
    IDФайла   = ПараметрыФункции["Bitrix24_FileID"];

    Результат = OPI_Bitrix24.УдалитьФайл(URL, IDФайла, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьФайл", "Bitrix24");

    Проверка_БитриксИстина(Результат);

КонецПроцедуры

Процедура Bitrix24_СоздатьКаталогВХранилище(ПараметрыФункции)

    IDХранилища   = 3;
    Наименование  = "Новый каталог";
    Наименование2 = "Новый каталог 2";

    URL = ПараметрыФункции["Bitrix24_URL"];

    Результат = OPI_Bitrix24.СоздатьКаталогВХранилище(URL, IDХранилища, Наименование2);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьКаталогВХранилище (хук)", "Bitrix24");

    Проверка_БитриксОбъект(Результат);                                                  // SKIP

    IDКаталога = Результат["result"]["ID"];                                           // SKIP
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_HookFolderID", IDКаталога);  // SKIP
    ПараметрыФункции.Вставить("Bitrix24_HookFolderID", IDКаталога);                   // SKIP

    URL   = ПараметрыФункции["Bitrix24_Domain"];
    Токен = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.СоздатьКаталогВХранилище(URL, IDХранилища, Наименование, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьКаталогВХранилище", "Bitrix24");

    Проверка_БитриксОбъект(Результат);

    IDКаталога = Результат["result"]["ID"];                                       // SKIP
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_FolderID", IDКаталога);  // SKIP
    ПараметрыФункции.Вставить("Bitrix24_FolderID", IDКаталога);                   // SKIP

КонецПроцедуры

Процедура Bitrix24_УдалитьКаталог(ПараметрыФункции)

    URL        = ПараметрыФункции["Bitrix24_URL"];
    IDКаталога = ПараметрыФункции["Bitrix24_HookFolderID"];

    Результат = OPI_Bitrix24.УдалитьКаталог(URL, IDКаталога);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьКаталог (хук)", "Bitrix24");

    Проверка_БитриксИстина(Результат); // SKIP

    URL         = ПараметрыФункции["Bitrix24_Domain"];
    Токен       = ПараметрыФункции["Bitrix24_Token"];
    IDКаталога  = ПараметрыФункции["Bitrix24_FolderID"];

    Результат = OPI_Bitrix24.УдалитьКаталог(URL, IDКаталога, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьКаталог", "Bitrix24");

    Проверка_БитриксИстина(Результат);

КонецПроцедуры

Процедура Bitrix24_ПолучитьХранилище(ПараметрыФункции)

    URL            = ПараметрыФункции["Bitrix24_URL"];
    IDХранилища    = 3;

    Результат = OPI_Bitrix24.ПолучитьХранилище(URL, IDХранилища);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьХранилище (хук)", "Bitrix24");

    Проверка_БитриксОбъект(Результат); // SKIP

    URL         = ПараметрыФункции["Bitrix24_Domain"];
    Токен       = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ПолучитьХранилище(URL, IDХранилища, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьХранилище", "Bitrix24");

    Проверка_БитриксОбъект(Результат);

КонецПроцедуры

Процедура Bitrix24_ПолучитьСодержимоеХранилища(ПараметрыФункции)

    URL         = ПараметрыФункции["Bitrix24_URL"];
    IDХранилища = 3;

    Результат   = OPI_Bitrix24.ПолучитьСодержимоеХранилища(URL, IDХранилища);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСодержимоеХранилища (хук)", "Bitrix24");

    Проверка_БитриксМассив(Результат); // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ПолучитьСодержимоеХранилища(URL, IDХранилища, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСодержимоеХранилища", "Bitrix24");

    Проверка_БитриксМассив(Результат);

КонецПроцедуры

Процедура Bitrix24_ПереименоватьХранилище(ПараметрыФункции)

    Наименование = "Новое имя хранилища";
    URL          = ПараметрыФункции["Bitrix24_Domain"];
    Токен        = ПараметрыФункции["Bitrix24_Token"];
    IDХранилища  = ПараметрыФункции["Bitrix24_StorageID"];

    Результат = OPI_Bitrix24.ПереименоватьХранилище(URL, IDХранилища, Наименование, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереименоватьХранилище", "Bitrix24");

    Проверка_БитриксОбъект(Результат);

КонецПроцедуры

Процедура Bitrix24_ПолучитьИнформациюОКаталоге(ПараметрыФункции)

    URL        = ПараметрыФункции["Bitrix24_URL"];
    IDКаталога = ПараметрыФункции["Bitrix24_FolderID"];

    Результат  = OPI_Bitrix24.ПолучитьИнформациюОКаталоге(URL, IDКаталога);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюОКаталоге (хук)", "Bitrix24");

    Проверка_БитриксОбъект(Результат); // SKIP

    URL         = ПараметрыФункции["Bitrix24_Domain"];
    Токен       = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ПолучитьИнформациюОКаталоге(URL, IDКаталога, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюОКаталоге", "Bitrix24");

    Проверка_БитриксОбъект(Результат);

КонецПроцедуры

Процедура Bitrix24_СоздатьПодкаталог(ПараметрыФункции)

    IDКаталога    = ПараметрыФункции["Bitrix24_FolderID"];
    Наименование  = "Новый подкаталог";
    Наименование2 = "Новый подкаталог 2";

    URL = ПараметрыФункции["Bitrix24_URL"];

    Результат = OPI_Bitrix24.СоздатьПодкаталог(URL, IDКаталога, Наименование2);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьПодкаталог (хук)", "Bitrix24");

    Проверка_БитриксОбъект(Результат);                                                        // SKIP

    IDПодкаталога = Результат["result"]["ID"];                                              // SKIP
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_HookSubfolderID", IDПодкаталога);  // SKIP
    ПараметрыФункции.Вставить("Bitrix24_HookSubfolderID", IDПодкаталога);                   // SKIP

    URL   = ПараметрыФункции["Bitrix24_Domain"];
    Токен = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.СоздатьПодкаталог(URL, IDКаталога, Наименование, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьПодкаталог", "Bitrix24");

    Проверка_БитриксОбъект(Результат);

    IDПодкаталога = Результат["result"]["ID"];                                          // SKIP
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_SubfolderID", IDПодкаталога);  // SKIP
    ПараметрыФункции.Вставить("Bitrix24_SubfolderID", IDПодкаталога);                   // SKIP

КонецПроцедуры

Процедура Bitrix24_СкопироватьКаталог(ПараметрыФункции)

    IDПриемника = ПараметрыФункции["Bitrix24_HookSubfolderID"];
    IDКаталога  = ПараметрыФункции["Bitrix24_SubfolderID"];

    URL = ПараметрыФункции["Bitrix24_URL"];

    Результат = OPI_Bitrix24.СкопироватьКаталог(URL, IDКаталога, IDПриемника);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СкопироватьКаталог (хук)", "Bitrix24");

    Проверка_БитриксОбъект(Результат); // SKIP

    IDПриемника = ПараметрыФункции["Bitrix24_SubfolderID"];
    IDКаталога  = ПараметрыФункции["Bitrix24_HookSubfolderID"];

    URL   = ПараметрыФункции["Bitrix24_Domain"];
    Токен = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.СкопироватьКаталог(URL, IDКаталога, IDПриемника, Токен);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СкопироватьКаталог", "Bitrix24");

    Проверка_БитриксОбъект(Результат);

КонецПроцедуры

Процедура Bitrix24_ПолучитьВнешнююСсылкуКаталога(ПараметрыФункции)

    URL           = ПараметрыФункции["Bitrix24_URL"];
    IDКаталога    = ПараметрыФункции["Bitrix24_FolderID"];

    Результат  = OPI_Bitrix24.ПолучитьВнешнююСсылкуКаталога(URL, IDКаталога);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьВнешнююСсылкуКаталога (хук)", "Bitrix24");

    Проверка_БитриксСтрока(Результат); // SKIP

    URL         = ПараметрыФункции["Bitrix24_Domain"];
    Токен       = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ПолучитьВнешнююСсылкуКаталога(URL, IDКаталога, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьВнешнююСсылкуКаталога", "Bitrix24");

    Проверка_БитриксСтрока(Результат);

КонецПроцедуры

Процедура Bitrix24_ПолучитьСтруктуруФильтраКаталога(ПараметрыФункции)

    URL        = ПараметрыФункции["Bitrix24_URL"];

    Результат  = OPI_Bitrix24.ПолучитьСтруктуруФильтраКаталога(URL);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруФильтраКаталога (хук)", "Bitrix24");

    Проверка_Структура(Результат); // SKIP

    URL         = ПараметрыФункции["Bitrix24_Domain"];
    Токен       = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ПолучитьСтруктуруФильтраКаталога(URL, Истина, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруФильтраКаталога", "Bitrix24");

    Проверка_Структура(Результат);

КонецПроцедуры

Процедура Bitrix24_ПолучитьДочерниеЭлементыКаталога(ПараметрыФункции)

    URL           = ПараметрыФункции["Bitrix24_URL"];
    IDКаталога    = ПараметрыФункции["Bitrix24_FolderID"];

    Результат  = OPI_Bitrix24.ПолучитьДочерниеЭлементыКаталога(URL, IDКаталога);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьДочерниеЭлементыКаталога (хук)", "Bitrix24");

    Проверка_БитриксМассив(Результат); // SKIP

    URL         = ПараметрыФункции["Bitrix24_Domain"];
    Токен       = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ПолучитьДочерниеЭлементыКаталога(URL, IDКаталога, , Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьДочерниеЭлементыКаталога", "Bitrix24");

    Проверка_БитриксМассив(Результат);

КонецПроцедуры

Процедура Bitrix24_ПоместитьКаталогВКорзину(ПараметрыФункции)

    URL           = ПараметрыФункции["Bitrix24_URL"];
    IDКаталога    = ПараметрыФункции["Bitrix24_FolderID"];

    Результат  = OPI_Bitrix24.ПоместитьКаталогВКорзину(URL, IDКаталога);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПоместитьКаталогВКорзину (хук)", "Bitrix24");

    Проверка_БитриксОбъект(Результат); // SKIP

    URL         = ПараметрыФункции["Bitrix24_Domain"];
    Токен       = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ПоместитьКаталогВКорзину(URL, IDКаталога, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПоместитьКаталогВКорзину", "Bitrix24");

    Проверка_БитриксОбъект(Результат);

КонецПроцедуры

Процедура Bitrix24_ВосстановитьКаталог(ПараметрыФункции)

    URL        = ПараметрыФункции["Bitrix24_URL"];
    IDКаталога = ПараметрыФункции["Bitrix24_FolderID"];

    Результат  = OPI_Bitrix24.ВосстановитьКаталог(URL, IDКаталога);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВосстановитьКаталог (хук)", "Bitrix24");

    Проверка_БитриксОбъект(Результат); // SKIP

    URL         = ПараметрыФункции["Bitrix24_Domain"];
    Токен       = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ВосстановитьКаталог(URL, IDКаталога, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВосстановитьКаталог", "Bitrix24");

    Проверка_БитриксОбъект(Результат);

КонецПроцедуры

Процедура Bitrix24_ПереместитьКаталог(ПараметрыФункции)

    IDПриемника = ПараметрыФункции["Bitrix24_HookfolderID"];
    IDКаталога  = ПараметрыФункции["Bitrix24_SubfolderID"];

    URL = ПараметрыФункции["Bitrix24_URL"];

    Результат = OPI_Bitrix24.ПереместитьКаталог(URL, IDКаталога, IDПриемника);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереместитьКаталог (хук)", "Bitrix24");

    Проверка_БитриксОбъект(Результат); // SKIP

    IDКаталога  = ПараметрыФункции["Bitrix24_HookSubfolderID"];

    URL   = ПараметрыФункции["Bitrix24_Domain"];
    Токен = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ПереместитьКаталог(URL, IDКаталога, IDПриемника, Токен);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереместитьКаталог", "Bitrix24");

    Проверка_БитриксОбъект(Результат);

КонецПроцедуры

Процедура Bitrix24_ПереименоватьКаталог(ПараметрыФункции)

    Наименование  = "Новый каталог";
    Наименование2 = "Новый каталог 2";

    IDКаталога2  = ПараметрыФункции["Bitrix24_HookFolderID"];
    URL          = ПараметрыФункции["Bitrix24_URL"];

    Результат = OPI_Bitrix24.ПереименоватьКаталог(URL, IDКаталога2, Наименование2);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереименоватьКаталог (хук)", "Bitrix24");

    Проверка_БитриксОбъект(Результат); // SKIP

    IDКаталога  = ПараметрыФункции["Bitrix24_FolderID"];
    URL         = ПараметрыФункции["Bitrix24_Domain"];
    Токен       = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ПереименоватьКаталог(URL, IDКаталога, Наименование, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереименоватьКаталог", "Bitrix24");

    Проверка_БитриксОбъект(Результат);

КонецПроцедуры

Процедура Bitrix24_ЗагрузитьФайлВКаталог(ПараметрыФункции)

    Наименование2  = "Картинка2.jpg";
    Наименование   = "Картинка1.jpg";

    Картинка2 = ПараметрыФункции["Picture"];  // Локальный путь, URL или Двоичные данные
    Картинка  = ПараметрыФункции["Picture2"]; // Локальный путь, URL или Двоичные данные

    IDПриемника = ПараметрыФункции["Bitrix24_FolderID"];

    URL = ПараметрыФункции["Bitrix24_URL"];

    Результат = OPI_Bitrix24.ЗагрузитьФайлВКаталог(URL, Наименование2, Картинка2, IDПриемника);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьФайлВКаталог (хук)", "Bitrix24");

    Проверка_БитриксОбъект(Результат);                                            // SKIP

    IDФайла = Результат["result"]["ID"];                                        // SKIP
    OPI_Bitrix24.УдалитьФайл(URL, IDФайла);                                     // SKIP

    URL   = ПараметрыФункции["Bitrix24_Domain"];
    Токен = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ЗагрузитьФайлВКаталог(URL, Наименование, Картинка, IDПриемника, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьФайлВКаталог", "Bitrix24");

    Проверка_БитриксОбъект(Результат);

    IDФайла   = Результат["result"]["ID"];
    Результат = OPI_Bitrix24.УдалитьФайл(URL, IDФайла, Токен);

КонецПроцедуры

Процедура Bitrix24_СкопироватьФайл(ПараметрыФункции)

    IDКаталога = ПараметрыФункции["Bitrix24_HookFolderID"];
    IDФайла    = ПараметрыФункции["Bitrix24_FileID"];

    URL = ПараметрыФункции["Bitrix24_URL"];

    Результат = OPI_Bitrix24.СкопироватьФайл(URL, IDФайла, IDКаталога);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СкопироватьФайл (хук)", "Bitrix24");

    Проверка_БитриксОбъект(Результат); // SKIP

    IDКаталога = ПараметрыФункции["Bitrix24_FolderID"];

    URL   = ПараметрыФункции["Bitrix24_Domain"];
    Токен = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.СкопироватьФайл(URL, IDФайла, IDКаталога, Токен);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СкопироватьФайл", "Bitrix24");

    Проверка_БитриксОбъект(Результат);

КонецПроцедуры

Процедура Bitrix24_ПолучитьИнформациюОФайле(ПараметрыФункции)

    URL     = ПараметрыФункции["Bitrix24_URL"];
    IDФайла = ПараметрыФункции["Bitrix24_FileID"];

    Результат  = OPI_Bitrix24.ПолучитьИнформациюОФайле(URL, IDФайла);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюОФайле (хук)", "Bitrix24");

    Проверка_БитриксОбъект(Результат); // SKIP

    URL         = ПараметрыФункции["Bitrix24_Domain"];
    Токен       = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ПолучитьИнформациюОФайле(URL, IDФайла, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюОФайле", "Bitrix24");

    Проверка_БитриксОбъект(Результат);

КонецПроцедуры

Процедура Bitrix24_ПолучитьВнешнююСсылкуФайла(ПараметрыФункции)

    URL     = ПараметрыФункции["Bitrix24_URL"];
    IDФайла = ПараметрыФункции["Bitrix24_FileID"];

    Результат  = OPI_Bitrix24.ПолучитьВнешнююСсылкуФайла(URL, IDФайла);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьВнешнююСсылкуФайла (хук)", "Bitrix24");

    Проверка_БитриксСтрока(Результат); // SKIP

    URL         = ПараметрыФункции["Bitrix24_Domain"];
    Токен       = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ПолучитьВнешнююСсылкуФайла(URL, IDФайла, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьВнешнююСсылкуФайла", "Bitrix24");

    Проверка_БитриксСтрока(Результат);

КонецПроцедуры

Процедура Bitrix24_ПоместитьФайлВКорзину(ПараметрыФункции)

    URL     = ПараметрыФункции["Bitrix24_URL"];
    IDФайла = ПараметрыФункции["Bitrix24_FileID"];

    Результат  = OPI_Bitrix24.ПоместитьФайлВКорзину(URL, IDФайла);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПоместитьФайлВКорзину (хук)", "Bitrix24");

    Проверка_БитриксОбъект(Результат); // SKIP

    URL         = ПараметрыФункции["Bitrix24_Domain"];
    Токен       = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ПоместитьФайлВКорзину(URL, IDФайла, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПоместитьФайлВКорзину", "Bitrix24");

    Проверка_БитриксОбъект(Результат);

КонецПроцедуры

Процедура Bitrix24_ВосстановитьФайл(ПараметрыФункции)

    URL     = ПараметрыФункции["Bitrix24_URL"];
    IDФайла = ПараметрыФункции["Bitrix24_FileID"];

    Результат  = OPI_Bitrix24.ВосстановитьФайл(URL, IDФайла);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВосстановитьФайл (хук)", "Bitrix24");

    Проверка_БитриксОбъект(Результат); // SKIP

    URL         = ПараметрыФункции["Bitrix24_Domain"];
    Токен       = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ВосстановитьФайл(URL, IDФайла, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВосстановитьФайл", "Bitrix24");

    Проверка_БитриксОбъект(Результат);

КонецПроцедуры

Процедура Bitrix24_ПереименоватьФайл(ПараметрыФункции)

    Наименование  = "Новое имя файла.jpg";
    Наименование2 = "Новое имя файла 2.jpg";

    IDФайла2  = ПараметрыФункции["Bitrix24_HookFileID"];
    URL       = ПараметрыФункции["Bitrix24_URL"];

    Результат = OPI_Bitrix24.ПереименоватьФайл(URL, IDФайла2, Наименование2);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереименоватьФайл (хук)", "Bitrix24");

    Проверка_БитриксОбъект(Результат); // SKIP

    IDФайла  = ПараметрыФункции["Bitrix24_FileID"];
    URL      = ПараметрыФункции["Bitrix24_Domain"];
    Токен    = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ПереименоватьФайл(URL, IDФайла, Наименование, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереименоватьФайл", "Bitrix24");

    Проверка_БитриксОбъект(Результат);

КонецПроцедуры

Процедура Bitrix24_ПереместитьФайлВКаталог(ПараметрыФункции)

    IDКаталога = ПараметрыФункции["Bitrix24_HookSubFolderID"];
    IDФайла    = ПараметрыФункции["Bitrix24_FileID"];

    URL = ПараметрыФункции["Bitrix24_URL"];

    Результат = OPI_Bitrix24.ПереместитьФайлВКаталог(URL, IDФайла, IDКаталога);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереместитьФайлВКаталог (хук)", "Bitrix24");

    Проверка_БитриксОбъект(Результат); // SKIP

    IDКаталога = ПараметрыФункции["Bitrix24_SubFolderID"];

    URL   = ПараметрыФункции["Bitrix24_Domain"];
    Токен = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ПереместитьФайлВКаталог(URL, IDФайла, IDКаталога, Токен);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереместитьФайлВКаталог", "Bitrix24");

    Проверка_БитриксОбъект(Результат);

КонецПроцедуры

Процедура Bitrix24_ДобавитьФайлВЗадачу(ПараметрыФункции)

    URL      = ПараметрыФункции["Bitrix24_URL"];
    IDЗадачи = ПараметрыФункции["Bitrix24_HookTaskID"];
    IDФайла  = ПараметрыФункции["Bitrix24_TaskFileID"];

    Результат = OPI_Bitrix24.ДобавитьФайлВЗадачу(URL, IDЗадачи, IDФайла);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьФайлВЗадачу (хук)", "Bitrix24");

    Проверка_БитриксВложение(Результат); // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];
    IDЗадачи  = ПараметрыФункции["Bitrix24_TaskID"];

    Результат = OPI_Bitrix24.ДобавитьФайлВЗадачу(URL, IDЗадачи, IDФайла, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьФайлВЗадачу", "Bitrix24");

    Проверка_БитриксВложение(Результат);

КонецПроцедуры

Процедура Bitrix24_ПроверитьДоступКЗадаче(ПараметрыФункции)

    МассивПользователей = Новый Массив;
    МассивПользователей.Добавить("1");
    МассивПользователей.Добавить("10");

    URL      = ПараметрыФункции["Bitrix24_URL"];
    IDЗадачи = ПараметрыФункции["Bitrix24_HookTaskID"];

    Результат = OPI_Bitrix24.ПроверитьДоступКЗадаче(URL, IDЗадачи, МассивПользователей);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПроверитьДоступКЗадаче (хук)", "Bitrix24");

    Проверка_БитриксДоступныеДействия(Результат, МассивПользователей.Количество()); // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];
    IDЗадачи  = ПараметрыФункции["Bitrix24_TaskID"];

    Результат = OPI_Bitrix24.ПроверитьДоступКЗадаче(URL, IDЗадачи, МассивПользователей, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПроверитьДоступКЗадаче", "Bitrix24");

    Проверка_БитриксДоступныеДействия(Результат, МассивПользователей.Количество());

КонецПроцедуры

Процедура Bitrix24_ОтключитьЗвукЗадачи(ПараметрыФункции)

    URL      = ПараметрыФункции["Bitrix24_URL"];
    IDЗадачи = ПараметрыФункции["Bitrix24_HookTaskID"];

    Результат = OPI_Bitrix24.ОтключитьЗвукЗадачи(URL, IDЗадачи);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтключитьЗвукЗадачи (хук)", "Bitrix24");

    Проверка_БитриксЗадача(Результат); // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];
    IDЗадачи  = ПараметрыФункции["Bitrix24_TaskID"];

    Результат = OPI_Bitrix24.ОтключитьЗвукЗадачи(URL, IDЗадачи, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтключитьЗвукЗадачи", "Bitrix24");

    Проверка_БитриксЗадача(Результат);

КонецПроцедуры

Процедура Bitrix24_ВключитьЗвукЗадачи(ПараметрыФункции)

    URL      = ПараметрыФункции["Bitrix24_URL"];
    IDЗадачи = ПараметрыФункции["Bitrix24_HookTaskID"];

    Результат = OPI_Bitrix24.ВключитьЗвукЗадачи(URL, IDЗадачи);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВключитьЗвукЗадачи (хук)", "Bitrix24");

    Проверка_БитриксЗадача(Результат); // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];
    IDЗадачи  = ПараметрыФункции["Bitrix24_TaskID"];

    Результат = OPI_Bitrix24.ВключитьЗвукЗадачи(URL, IDЗадачи, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВключитьЗвукЗадачи", "Bitrix24");

    Проверка_БитриксЗадача(Результат);

КонецПроцедуры

Процедура Bitrix24_ДобавитьКомментарийЗадачи(ПараметрыФункции)

    URL       = ПараметрыФункции["Bitrix24_URL"];
    IDЗадачи  = ПараметрыФункции["Bitrix24_CommentsTaskID"];

    Текст     = "Задача невыполнима, расходимся";

    Результат = OPI_Bitrix24.ДобавитьКомментарийЗадачи(URL, IDЗадачи, Текст);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьКомментарийЗадачи (хук)", "Bitrix24");

    Проверка_БитриксЧисло(Результат); // SKIP

    IDКомментария = Результат["result"];                                                  // SKIP
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_HookCommentID", IDКомментария);  // SKIP
    ПараметрыФункции.Вставить("Bitrix24_HookCommentID", IDКомментария);                   // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];

    Текст     = "Задача выполнима, не расходимся";

    Результат = OPI_Bitrix24.ДобавитьКомментарийЗадачи(URL, IDЗадачи, Текст, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьКомментарийЗадачи", "Bitrix24");

    Проверка_БитриксЧисло(Результат);

    IDКомментария = Результат["result"];                                              // SKIP
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_CommentID", IDКомментария);  // SKIP
    ПараметрыФункции.Вставить("Bitrix24_CommentID", IDКомментария);                   // SKIP

КонецПроцедуры

Процедура Bitrix24_УдалитьКомментарийЗадачи(ПараметрыФункции)

    URL           = ПараметрыФункции["Bitrix24_URL"];
    IDЗадачи      = ПараметрыФункции["Bitrix24_CommentsTaskID"];
    IDКомментария = ПараметрыФункции["Bitrix24_HookCommentID"];

    Результат = OPI_Bitrix24.УдалитьКомментарийЗадачи(URL, IDЗадачи, IDКомментария);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьКомментарийЗадачи (хук)", "Bitrix24");

    Проверка_БитриксИстина(Результат); // SKIP

    URL           = ПараметрыФункции["Bitrix24_Domain"];
    Токен         = ПараметрыФункции["Bitrix24_Token"];
    IDКомментария = ПараметрыФункции["Bitrix24_CommentID"];

    Результат = OPI_Bitrix24.УдалитьКомментарийЗадачи(URL, IDЗадачи, IDКомментария, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьКомментарийЗадачи", "Bitrix24");

    Проверка_БитриксИстина(Результат);

КонецПроцедуры

Процедура Bitrix24_СоздатьРезультатИзКомментария(ПараметрыФункции)

    URL           = ПараметрыФункции["Bitrix24_URL"];
    IDКомментария = ПараметрыФункции["Bitrix24_HookCommentID"];

    Результат = OPI_Bitrix24.СоздатьРезультатИзКомментария(URL, IDКомментария);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьРезультатИзКомментария (хук)", "Bitrix24");

    Проверка_БитриксРезультат(Результат); // SKIP

    URL           = ПараметрыФункции["Bitrix24_Domain"];
    Токен         = ПараметрыФункции["Bitrix24_Token"];
    IDКомментария = ПараметрыФункции["Bitrix24_CommentID"];

    Результат = OPI_Bitrix24.СоздатьРезультатИзКомментария(URL, IDКомментария, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьРезультатИзКомментария", "Bitrix24");

    Проверка_БитриксРезультат(Результат);

КонецПроцедуры

Процедура Bitrix24_УдалитьРезультатИзКомментария(ПараметрыФункции) Экспорт

    URL           = ПараметрыФункции["Bitrix24_URL"];
    IDКомментария = ПараметрыФункции["Bitrix24_HookCommentID"];

    Результат = OPI_Bitrix24.УдалитьРезультатИзКомментария(URL, IDКомментария);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьРезультатИзКомментария (хук)", "Bitrix24");

    Проверка_БитриксНеопределено(Результат); // SKIP

    URL           = ПараметрыФункции["Bitrix24_Domain"];
    Токен         = ПараметрыФункции["Bitrix24_Token"];
    IDКомментария = ПараметрыФункции["Bitrix24_CommentID"];

    Результат = OPI_Bitrix24.УдалитьРезультатИзКомментария(URL, IDКомментария, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьРезультатИзКомментария", "Bitrix24");

    Проверка_БитриксНеопределено(Результат);

КонецПроцедуры

Процедура Bitrix24_ПолучитьСписокРезультатов(ПараметрыФункции)

    URL      = ПараметрыФункции["Bitrix24_URL"];
    IDЗадачи = ПараметрыФункции["Bitrix24_CommentsTaskID"];

    Результат = OPI_Bitrix24.ПолучитьСписокРезультатов(URL, IDЗадачи);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокРезультатов (хук)", "Bitrix24");

    Проверка_БитриксСписокРезультатов(Результат); // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ПолучитьСписокРезультатов(URL, IDЗадачи, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокРезультатов", "Bitrix24");

    Проверка_БитриксСписокРезультатов(Результат);

КонецПроцедуры

Процедура Bitrix24_ПолучитьСписокКомментариевЗадачи(ПараметрыФункции)

    URL         = ПараметрыФункции["Bitrix24_URL"];
    IDЗадачи    = ПараметрыФункции["Bitrix24_CommentsTaskID"];

    Результат = OPI_Bitrix24.ПолучитьСписокКомментариевЗадачи(URL, IDЗадачи);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокКомментариевЗадачи (хук)", "Bitrix24");

    Проверка_БитриксСписокКомментариев(Результат); // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ПолучитьСписокКомментариевЗадачи(URL, IDЗадачи, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокКомментариевЗадачи", "Bitrix24");

    Проверка_БитриксСписокКомментариев(Результат);

КонецПроцедуры

Процедура Bitrix24_ПолучитьКомменатрийЗадачи(ПараметрыФункции)

    URL           = ПараметрыФункции["Bitrix24_URL"];
    IDКомментария = ПараметрыФункции["Bitrix24_HookCommentID"];
    IDЗадачи      = ПараметрыФункции["Bitrix24_CommentsTaskID"];

    Результат = OPI_Bitrix24.ПолучитьКомменатрийЗадачи(URL, IDЗадачи, IDКомментария);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьКомменатрийЗадачи (хук)", "Bitrix24");

    Проверка_БитриксКомментарий(Результат); // SKIP

    URL           = ПараметрыФункции["Bitrix24_Domain"];
    Токен         = ПараметрыФункции["Bitrix24_Token"];
    IDКомментария = ПараметрыФункции["Bitrix24_CommentID"];

    Результат = OPI_Bitrix24.ПолучитьКомменатрийЗадачи(URL, IDЗадачи, IDКомментария, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьКомменатрийЗадачи", "Bitrix24");

    Проверка_БитриксКомментарий(Результат);

КонецПроцедуры

Процедура Bitrix24_ИзменитьКомментарийЗадачи(ПараметрыФункции)

    URL           = ПараметрыФункции["Bitrix24_URL"];
    IDЗадачи      = ПараметрыФункции["Bitrix24_CommentsTaskID"];
    IDКомментария = ПараметрыФункции["Bitrix24_HookCommentID"];

    Текст     = "Задача изменена, не расходимся";

    Результат = OPI_Bitrix24.ИзменитьКомментарийЗадачи(URL, IDЗадачи, IDКомментария, Текст);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьКомментарийЗадачи (хук)", "Bitrix24");

    Проверка_БитриксИстина(Результат); // SKIP

    URL           = ПараметрыФункции["Bitrix24_Domain"];
    Токен         = ПараметрыФункции["Bitrix24_Token"];
    IDКомментария = ПараметрыФункции["Bitrix24_CommentID"];

    Текст     = "Задача изменена, расходимся";

    Результат = OPI_Bitrix24.ИзменитьКомментарийЗадачи(URL, IDЗадачи, IDКомментария, Текст, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьКомментарийЗадачи", "Bitrix24");

    Проверка_БитриксИстина(Результат);

КонецПроцедуры

Процедура Bitrix24_СоздатьЗависимостьЗадач(ПараметрыФункции)

    IDИсточника = ПараметрыФункции["Bitrix24_HookTaskID"];
    IDПриемника = ПараметрыФункции["Bitrix24_TaskID"];
    ТипСвязи    = 0;

    URL         = ПараметрыФункции["Bitrix24_URL"];

    Результат = OPI_Bitrix24.СоздатьЗависимостьЗадач(URL, IDИсточника, IDПриемника, ТипСвязи);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьЗависимостьЗадач (хук)", "Bitrix24");

    Проверка_БитриксМассив(Результат); // SKIP

    Результат = OPI_Bitrix24.УдалитьЗависимостьЗадач(URL, IDИсточника, IDПриемника, ТипСвязи); // SKIP

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьЗависимостьЗадач (хук)", "Bitrix24");

    IDИсточника = ПараметрыФункции["Bitrix24_TaskID"];
    IDПриемника = ПараметрыФункции["Bitrix24_HookTaskID"];
    ТипСвязи    = 2;

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.СоздатьЗависимостьЗадач(URL, IDИсточника, IDПриемника, ТипСвязи, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьЗависимостьЗадач", "Bitrix24");

    Проверка_БитриксМассив(Результат);

    Результат = OPI_Bitrix24.УдалитьЗависимостьЗадач(URL, IDИсточника, IDПриемника, ТипСвязи, Токен);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьЗависимостьЗадач", "Bitrix24");

КонецПроцедуры

Процедура Bitrix24_ДобавитьСтадиюКанбана(ПараметрыФункции)

    Наименование = "Новая стадия";
    Цвет         = "0026FF";

    URL = ПараметрыФункции["Bitrix24_URL"];

    Результат = OPI_Bitrix24.ДобавитьСтадиюКанбана(URL, Наименование, Цвет, 6);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьСтадиюКанбана (хук)", "Bitrix24");

    Проверка_БитриксЧисло(Результат); // SKIP

    IDПредыдущей = Результат["result"];

    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_HookStageID", IDПредыдущей);  // SKIP
    ПараметрыФункции.Вставить("Bitrix24_HookStageID", IDПредыдущей);                   // SKIP

    Наименование = "Новая стадия 2";
    Цвет         = "0026FF";

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ДобавитьСтадиюКанбана(URL, Наименование, Цвет, IDПредыдущей, , Истина, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьСтадиюКанбана", "Bitrix24");

    Проверка_БитриксЧисло(Результат);

    IDСтадии = Результат["result"];
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_StageID", IDСтадии);
    ПараметрыФункции.Вставить("Bitrix24_StageID", IDСтадии);

КонецПроцедуры

Процедура Bitrix24_УдалитьСтадиюКанбана(ПараметрыФункции)

    IDСтадии  = ПараметрыФункции["Bitrix24_HookStageID"];

    URL       = ПараметрыФункции["Bitrix24_URL"];

    Результат = OPI_Bitrix24.УдалитьСтадиюКанбана(URL, IDСтадии, Истина);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСтадиюКанбана (хук)", "Bitrix24");

    Проверка_БитриксИстина(Результат); // SKIP

    IDСтадии  = ПараметрыФункции["Bitrix24_StageID"];

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.УдалитьСтадиюКанбана(URL, IDСтадии, , Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСтадиюКанбана", "Bitrix24");

    Проверка_БитриксИстина(Результат);

КонецПроцедуры

Процедура Bitrix24_ПолучитьСтадииКанбана(ПараметрыФункции)

    URL       = ПараметрыФункции["Bitrix24_URL"];

    Результат = OPI_Bitrix24.ПолучитьСтадииКанбана(URL, , Истина);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтадииКанбана (хук)", "Bitrix24");

    Проверка_БитриксСоответствие(Результат); // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ПолучитьСтадииКанбана(URL, , , Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтадииКанбана", "Bitrix24");

    Проверка_БитриксСоответствие(Результат);

КонецПроцедуры

Процедура Bitrix24_ПеренестиЗадачуВСтадиюКанбана(ПараметрыФункции)

    IDЗадачи  = ПараметрыФункции["Bitrix24_KanbanTaskID"];
    IDСтадии  = ПараметрыФункции["Bitrix24_HookStageID"];

    URL       = ПараметрыФункции["Bitrix24_URL"];

    Результат = OPI_Bitrix24.ПеренестиЗадачуВСтадиюКанбана(URL, IDЗадачи, IDСтадии);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПеренестиЗадачуВСтадиюКанбана (хук)", "Bitrix24");

    Проверка_БитриксИстина(Результат); // SKIP

    IDСтадии  = ПараметрыФункции["Bitrix24_StageID"];

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ПеренестиЗадачуВСтадиюКанбана(URL, IDЗадачи, IDСтадии, , , Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПеренестиЗадачуВСтадиюКанбана", "Bitrix24");

    Проверка_БитриксИстина(Результат);

    OPI_Bitrix24.ПеренестиЗадачуВСтадиюКанбана(URL, IDЗадачи, 2, , , Токен);

КонецПроцедуры

Процедура Bitrix24_ИзменитьСтадиюКанбана(ПараметрыФункции)

    Наименование = "Новое имя стадии стадии";
    Цвет         = "000000";
    IDСтадии     = ПараметрыФункции["Bitrix24_HookStageID"];

    URL = ПараметрыФункции["Bitrix24_URL"];

    Результат = OPI_Bitrix24.ИзменитьСтадиюКанбана(URL, Наименование, IDСтадии, Цвет);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьСтадиюКанбана (хук)", "Bitrix24");

    Проверка_БитриксИстина(Результат); // SKIP

    Наименование = "Новое имя стадии стадии 2";
    Цвет         = "000000";
    IDСтадии     = ПараметрыФункции["Bitrix24_StageID"];

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ИзменитьСтадиюКанбана(URL, Наименование, IDСтадии, Цвет, 6, Истина, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьСтадиюКанбана", "Bitrix24");

    Проверка_БитриксИстина(Результат);

КонецПроцедуры

Процедура Bitrix24_ДобавитьЭлементЧеклистаЗадачи(ПараметрыФункции)

    URL      = ПараметрыФункции["Bitrix24_URL"];
    IDЗадачи = ПараметрыФункции["Bitrix24_HookTaskID"];

    Текст    = "Пункт чек-листа";

    Результат = OPI_Bitrix24.ДобавитьЭлементЧеклистаЗадачи(URL, IDЗадачи, Текст, Истина);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьЭлементЧеклистаЗадачи (хук)", "Bitrix24");

    Проверка_БитриксЧисло(Результат); // SKIP

    IDЭлемента = Результат["result"];                                                       // SKIP

    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_HookCheckElementID", IDЭлемента);  // SKIP
    ПараметрыФункции.Вставить("Bitrix24_HookCheckElementID", IDЭлемента);                   // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];
    IDЗадачи  = ПараметрыФункции["Bitrix24_TaskID"];

    Результат = OPI_Bitrix24.ДобавитьЭлементЧеклистаЗадачи(URL, IDЗадачи, Текст, , Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьЭлементЧеклистаЗадачи", "Bitrix24");

    Проверка_БитриксЧисло(Результат);

    IDЭлемента = Результат["result"];

    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_CheckElementID", IDЭлемента);
    ПараметрыФункции.Вставить("Bitrix24_CheckElementID", IDЭлемента);

КонецПроцедуры

Процедура Bitrix24_ИзменитьЭлементЧеклистаЗадачи(ПараметрыФункции)

    URL        = ПараметрыФункции["Bitrix24_URL"];
    IDЗадачи   = ПараметрыФункции["Bitrix24_HookTaskID"];
    IDЭлемента = ПараметрыФункции["Bitrix24_HookCheckElementID"];

    Текст    = "Новый текст пункта чек-листа";

    Результат = OPI_Bitrix24.ИзменитьЭлементЧеклистаЗадачи(URL, IDЗадачи, IDЭлемента, Текст);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьЭлементЧеклистаЗадачи (хук)", "Bitrix24");

    Проверка_БитриксНеопределено(Результат); // SKIP

    URL        = ПараметрыФункции["Bitrix24_Domain"];
    Токен      = ПараметрыФункции["Bitrix24_Token"];
    IDЗадачи   = ПараметрыФункции["Bitrix24_TaskID"];
    IDЭлемента = ПараметрыФункции["Bitrix24_CheckElementID"];

    Результат = OPI_Bitrix24.ИзменитьЭлементЧеклистаЗадачи(URL, IDЗадачи, IDЭлемента, Текст, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьЭлементЧеклистаЗадачи", "Bitrix24");

    Проверка_БитриксНеопределено(Результат);

КонецПроцедуры

Процедура Bitrix24_УдалитьЭлементЧеклистаЗадачи(ПараметрыФункции)

    URL        = ПараметрыФункции["Bitrix24_URL"];
    IDЗадачи   = ПараметрыФункции["Bitrix24_HookTaskID"];
    IDЭлемента = ПараметрыФункции["Bitrix24_HookCheckElementID"];

    Результат = OPI_Bitrix24.УдалитьЭлементЧеклистаЗадачи(URL, IDЗадачи, IDЭлемента);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьЭлементЧеклистаЗадачи (хук)", "Bitrix24");

    Проверка_БитриксИстина(Результат); // SKIP

    IDЗадачи   = ПараметрыФункции["Bitrix24_TaskID"];
    IDЭлемента = ПараметрыФункции["Bitrix24_CheckElementID"];

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.УдалитьЭлементЧеклистаЗадачи(URL, IDЗадачи, IDЭлемента, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьЭлементЧеклистаЗадачи", "Bitrix24");

    Проверка_БитриксИстина(Результат);

КонецПроцедуры

Процедура Bitrix24_ПолучитьЧеклистЗадачи(ПараметрыФункции)

    URL       = ПараметрыФункции["Bitrix24_URL"];
    IDЗадачи  = ПараметрыФункции["Bitrix24_HookTaskID"];

    Результат = OPI_Bitrix24.ПолучитьЧеклистЗадачи(URL, IDЗадачи);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЧеклистЗадачи (хук)", "Bitrix24");

    Проверка_БитриксМассив(Результат); // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];
    IDЗадачи  = ПараметрыФункции["Bitrix24_TaskID"];

    Результат = OPI_Bitrix24.ПолучитьЧеклистЗадачи(URL, IDЗадачи, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЧеклистЗадачи", "Bitrix24");

    Проверка_БитриксМассив(Результат);

КонецПроцедуры

Процедура Bitrix24_ПолучитьЭлементЧеклистаЗадачи(ПараметрыФункции)

    URL        = ПараметрыФункции["Bitrix24_URL"];
    IDЗадачи   = ПараметрыФункции["Bitrix24_HookTaskID"];
    IDЭлемента = ПараметрыФункции["Bitrix24_HookCheckElementID"];

    Результат = OPI_Bitrix24.ПолучитьЭлементЧеклистаЗадачи(URL, IDЗадачи, IDЭлемента);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЭлементЧеклистаЗадачи (хук)", "Bitrix24");

    Проверка_БитриксОбъект(Результат); // SKIP

    IDЗадачи   = ПараметрыФункции["Bitrix24_TaskID"];
    IDЭлемента = ПараметрыФункции["Bitrix24_CheckElementID"];

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ПолучитьЭлементЧеклистаЗадачи(URL, IDЗадачи, IDЭлемента, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЭлементЧеклистаЗадачи", "Bitrix24");

    Проверка_БитриксОбъект(Результат);

КонецПроцедуры

Процедура Bitrix24_ВыполнитьЭлементЧеклистаЗадачи(ПараметрыФункции)

    URL        = ПараметрыФункции["Bitrix24_URL"];
    IDЗадачи   = ПараметрыФункции["Bitrix24_HookTaskID"];
    IDЭлемента = ПараметрыФункции["Bitrix24_HookCheckElementID"];

    Результат = OPI_Bitrix24.ВыполнитьЭлементЧеклистаЗадачи(URL, IDЗадачи, IDЭлемента);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВыполнитьЭлементЧеклистаЗадачи (хук)", "Bitrix24");

    Проверка_БитриксИстина(Результат); // SKIP

    IDЗадачи   = ПараметрыФункции["Bitrix24_TaskID"];
    IDЭлемента = ПараметрыФункции["Bitrix24_CheckElementID"];

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ВыполнитьЭлементЧеклистаЗадачи(URL, IDЗадачи, IDЭлемента, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВыполнитьЭлементЧеклистаЗадачи", "Bitrix24");

    Проверка_БитриксИстина(Результат);

КонецПроцедуры

Процедура Bitrix24_ВозобновитьЭлементЧеклистаЗадачи(ПараметрыФункции)

    URL        = ПараметрыФункции["Bitrix24_URL"];
    IDЗадачи   = ПараметрыФункции["Bitrix24_HookTaskID"];
    IDЭлемента = ПараметрыФункции["Bitrix24_HookCheckElementID"];

    Результат = OPI_Bitrix24.ВозобновитьЭлементЧеклистаЗадачи(URL, IDЗадачи, IDЭлемента);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВозобновитьЭлементЧеклистаЗадачи (хук)", "Bitrix24");

    Проверка_БитриксИстина(Результат); // SKIP

    IDЗадачи   = ПараметрыФункции["Bitrix24_TaskID"];
    IDЭлемента = ПараметрыФункции["Bitrix24_CheckElementID"];

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ВозобновитьЭлементЧеклистаЗадачи(URL, IDЗадачи, IDЭлемента, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВозобновитьЭлементЧеклистаЗадачи", "Bitrix24");

    Проверка_БитриксИстина(Результат);

КонецПроцедуры

Процедура Bitrix24_ДобавитьТрудозатратыЗадачи(ПараметрыФункции)

    URL       = ПараметрыФункции["Bitrix24_URL"];
    IDЗадачи  = ПараметрыФункции["Bitrix24_ElapsedTaskID"];

    Время     = 3600;

    Результат = OPI_Bitrix24.ДобавитьТрудозатратыЗадачи(URL, IDЗадачи, Время);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьТрудозатратыЗадачи (хук)", "Bitrix24");

    Проверка_БитриксЧисло(Результат); // SKIP

    IDЗатрат = Результат["result"];                                               // SKIP
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_HookTimeID", IDЗатрат);  // SKIP
    ПараметрыФункции.Вставить("Bitrix24_HookTimeID", IDЗатрат);                   // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];

    Текст          = "Трудозатраты по обработке";
    IDПользователя = 10;
    Время          = 7200;
    ДатаУстановки  = ДобавитьМесяц(OPI_Инструменты.ПолучитьТекущуюДату(), -1);

    Результат = OPI_Bitrix24.ДобавитьТрудозатратыЗадачи(URL
        , IDЗадачи
        , Время
        , IDПользователя
        , Текст
        , ДатаУстановки
        , Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьТрудозатратыЗадачи", "Bitrix24");

    Проверка_БитриксЧисло(Результат);

    IDЗатрат = Результат["result"];
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_TimeID", IDЗатрат);
    ПараметрыФункции.Вставить("Bitrix24_TimeID", IDЗатрат);

КонецПроцедуры

Процедура Bitrix24_ИзменитьТрудозатратыЗадачи(ПараметрыФункции)

    URL       = ПараметрыФункции["Bitrix24_URL"];
    IDЗадачи  = ПараметрыФункции["Bitrix24_ElapsedTaskID"];
    IDЗаписи  = ПараметрыФункции["Bitrix24_HookTimeID"];

    Текст     = "Забытый в прошлый раз текст";
    Время     = 4800;

    Результат = OPI_Bitrix24.ИзменитьТрудозатратыЗадачи(URL, IDЗадачи, IDЗаписи, Время, Текст);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьТрудозатратыЗадачи (хук)", "Bitrix24");

    Проверка_БитриксНеопределено(Результат); // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];
    IDЗаписи  = ПараметрыФункции["Bitrix24_TimeID"];

    Текст          = "Новые трудозатраты по обработке";
    Время          = 4800;
    ДатаУстановки  = ДобавитьМесяц(OPI_Инструменты.ПолучитьТекущуюДату(), -1);

    Результат = OPI_Bitrix24.ИзменитьТрудозатратыЗадачи(URL
        , IDЗадачи
        , IDЗаписи
        , Время
        , Текст
        , ДатаУстановки
        , Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьТрудозатратыЗадачи", "Bitrix24");

    Проверка_БитриксНеопределено(Результат);

КонецПроцедуры

Процедура Bitrix24_УдалитьТрудозатратыЗадачи(ПараметрыФункции)

    URL       = ПараметрыФункции["Bitrix24_URL"];
    IDЗадачи  = ПараметрыФункции["Bitrix24_ElapsedTaskID"];
    IDЗаписи  = ПараметрыФункции["Bitrix24_HookTimeID"];

    Результат = OPI_Bitrix24.УдалитьТрудозатратыЗадачи(URL, IDЗадачи, IDЗаписи);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьТрудозатратыЗадачи (хук)", "Bitrix24");

    Проверка_БитриксНеопределено(Результат); // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];
    IDЗаписи  = ПараметрыФункции["Bitrix24_TimeID"];

    Результат = OPI_Bitrix24.УдалитьТрудозатратыЗадачи(URL, IDЗадачи, IDЗаписи, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьТрудозатратыЗадачи", "Bitrix24");

    Проверка_БитриксНеопределено(Результат);

КонецПроцедуры

Процедура Bitrix24_ПолучитьТрудозатратыЗадачи(ПараметрыФункции)

    URL       = ПараметрыФункции["Bitrix24_URL"];
    IDЗадачи  = ПараметрыФункции["Bitrix24_ElapsedTaskID"];
    IDЗаписи  = ПараметрыФункции["Bitrix24_HookTimeID"];

    Результат = OPI_Bitrix24.ПолучитьТрудозатратыЗадачи(URL, IDЗадачи, IDЗаписи);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьТрудозатратыЗадачи (хук)", "Bitrix24");

    Проверка_БитриксОбъект(Результат); // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];
    IDЗаписи  = ПараметрыФункции["Bitrix24_TimeID"];

    Результат = OPI_Bitrix24.ПолучитьТрудозатратыЗадачи(URL, IDЗадачи, IDЗаписи, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьТрудозатратыЗадачи", "Bitrix24");

    Проверка_БитриксОбъект(Результат);

КонецПроцедуры

Процедура Bitrix24_ПолучитьСписокТрудозатратЗадачи(ПараметрыФункции)

    URL       = ПараметрыФункции["Bitrix24_URL"];
    IDЗадачи  = ПараметрыФункции["Bitrix24_ElapsedTaskID"];

    Результат = OPI_Bitrix24.ПолучитьСписокТрудозатратЗадачи(URL, IDЗадачи);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокТрудозатратЗадачи (хук)", "Bitrix24");

    Проверка_БитриксМассивОбъектов(Результат); // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ПолучитьСписокТрудозатратЗадачи(URL, IDЗадачи, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокТрудозатратЗадачи", "Bitrix24");

    Проверка_БитриксМассивОбъектов(Результат);

КонецПроцедуры

Процедура Bitrix24_ПолучитьПланЗадачНаДень(ПараметрыФункции)

    URL = ПараметрыФункции["Bitrix24_URL"];

    Результат = OPI_Bitrix24.ПолучитьПланЗадачНаДень(URL);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьПланЗадачНаДень (хук)", "Bitrix24");

    Проверка_БитриксМассив(Результат); // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ПолучитьПланЗадачНаДень(URL, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьПланЗадачНаДень", "Bitrix24");

    Проверка_БитриксМассив(Результат);

КонецПроцедуры

Процедура Bitrix24_СоздатьЧат(ПараметрыФункции)

    Картинка = ПараметрыФункции["Picture"];
    OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Картинка);

    B64Картинка = ПолучитьBase64СтрокуИзДвоичныхДанных(Картинка);

    МассивУчастников = Новый Массив;
    МассивУчастников.Добавить(10);
    МассивУчастников.Добавить(1);

    СтруктураЧата = Новый Структура;
    СтруктураЧата.Вставить("TYPE"       , "OPEN");
    СтруктураЧата.Вставить("TITLE"      , "Новый чат");
    СтруктураЧата.Вставить("DESCRIPTION", "Это новый чат");
    СтруктураЧата.Вставить("COLOR"      , "GREEN");
    СтруктураЧата.Вставить("MESSAGE"    , "Добро пожаловать в новый чат");
    СтруктураЧата.Вставить("USERS"      , МассивУчастников);
    СтруктураЧата.Вставить("AVATAR"     , B64Картинка);
    СтруктураЧата.Вставить("OWNER_ID"   , 1);

    URL       = ПараметрыФункции["Bitrix24_URL"];

    Результат = OPI_Bitrix24.СоздатьЧат(URL, СтруктураЧата);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьЧат (хук)", "Bitrix24");

    Проверка_БитриксЧисло(Результат); // SKIP

    IDЧата = Результат["result"];                                               // SKIP
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_HookChatID", IDЧата);  // SKIP
    ПараметрыФункции.Вставить("Bitrix24_HookChatID", IDЧата);                   // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];

    СтруктураЧата = Новый Структура;
    СтруктураЧата.Вставить("TYPE"       , "CHAT");
    СтруктураЧата.Вставить("TITLE"      , "Закрытый чат");
    СтруктураЧата.Вставить("USERS"      , МассивУчастников);

    Результат = OPI_Bitrix24.СоздатьЧат(URL, СтруктураЧата, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьЧат", "Bitrix24");

    Проверка_БитриксЧисло(Результат);

    IDЧата = Результат["result"];                                           // SKIP
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_ChatID", IDЧата);  // SKIP
    ПараметрыФункции.Вставить("Bitrix24_ChatID", IDЧата);                   // SKIP

КонецПроцедуры

Процедура Bitrix24_ПолучитьСписокПользователейЧата(ПараметрыФункции)

    URL     = ПараметрыФункции["Bitrix24_URL"];
    IDЧата  = ПараметрыФункции["Bitrix24_HookChatID"];

    Результат = OPI_Bitrix24.ПолучитьСписокПользователейЧата(URL, IDЧата);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокПользователейЧата (хук)", "Bitrix24");

    Проверка_БитриксМассив(Результат); // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];
    IDЧата    = ПараметрыФункции["Bitrix24_ChatID"];

    Результат = OPI_Bitrix24.ПолучитьСписокПользователейЧата(URL, IDЧата, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокПользователейЧата", "Bitrix24");

    Проверка_БитриксМассив(Результат);

КонецПроцедуры

Процедура Bitrix24_ПокинутьЧат(ПараметрыФункции)

    URL     = ПараметрыФункции["Bitrix24_URL"];
    IDЧата  = ПараметрыФункции["Bitrix24_HookChatID"];

    Результат = OPI_Bitrix24.ПокинутьЧат(URL, IDЧата);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПокинутьЧат (хук)", "Bitrix24");

    Проверка_БитриксИстина(Результат); // SKIP

    URL       = ПараметрыФункции["Bitrix24_Domain"];
    Токен     = ПараметрыФункции["Bitrix24_Token"];
    IDЧата    = ПараметрыФункции["Bitrix24_ChatID"];

    Результат = OPI_Bitrix24.ПокинутьЧат(URL, IDЧата, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПокинутьЧат", "Bitrix24");

    Проверка_БитриксИстина(Результат);

КонецПроцедуры

Процедура Bitrix24_ИсключитьПользователяИзЧата(ПараметрыФункции)

    URL     = ПараметрыФункции["Bitrix24_URL"];
    IDЧата  = ПараметрыФункции["Bitrix24_HookChatID"];

    IDПользователя = 10;

    Результат = OPI_Bitrix24.ИсключитьПользователяИзЧата(URL, IDЧата, IDПользователя);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИсключитьПользователяИзЧата (хук)", "Bitrix24");

    Проверка_БитриксИстина(Результат); // SKIP

    URL            = ПараметрыФункции["Bitrix24_Domain"];
    Токен          = ПараметрыФункции["Bitrix24_Token"];
    IDЧата         = ПараметрыФункции["Bitrix24_ChatID"];

    Результат = OPI_Bitrix24.ИсключитьПользователяИзЧата(URL, IDЧата, IDПользователя, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИсключитьПользователяИзЧата", "Bitrix24");

    Проверка_БитриксИстина(Результат);

КонецПроцедуры

Процедура Bitrix24_ДобавитьПользователейВЧат(ПараметрыФункции)

    URL     = ПараметрыФункции["Bitrix24_URL"];
    IDЧата  = ПараметрыФункции["Bitrix24_HookChatID"];

    IDПользователей = Новый Массив;
    IDПользователей.Добавить(10);
    IDПользователей.Добавить(12);

    Результат = OPI_Bitrix24.ДобавитьПользователейВЧат(URL, IDЧата, IDПользователей);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьПользователейВЧат (хук)", "Bitrix24");

    Проверка_БитриксИстина(Результат); // SKIP

    URL            = ПараметрыФункции["Bitrix24_Domain"];
    Токен          = ПараметрыФункции["Bitrix24_Token"];
    IDЧата         = ПараметрыФункции["Bitrix24_ChatID"];
    IDПользователя = 10;

    Результат = OPI_Bitrix24.ДобавитьПользователейВЧат(URL, IDЧата, IDПользователя, Истина, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьПользователейВЧат", "Bitrix24");

    Проверка_БитриксИстина(Результат);

КонецПроцедуры

Процедура Bitrix24_ИзменитьЗаголовокЧата(ПараметрыФункции)

    URL     = ПараметрыФункции["Bitrix24_URL"];
    IDЧата  = ПараметрыФункции["Bitrix24_HookChatID"];

    Заголовок = "Новый заголовок чата";

    Результат = OPI_Bitrix24.ИзменитьЗаголовокЧата(URL, IDЧата, Заголовок);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьЗаголовокЧата (хук)", "Bitrix24");

    Проверка_БитриксИстина(Результат); // SKIP

    URL            = ПараметрыФункции["Bitrix24_Domain"];
    Токен          = ПараметрыФункции["Bitrix24_Token"];
    IDЧата         = ПараметрыФункции["Bitrix24_ChatID"];

    Заголовок      = "Другой заголовок чата";

    Результат = OPI_Bitrix24.ИзменитьЗаголовокЧата(URL, IDЧата, Заголовок, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьЗаголовокЧата", "Bitrix24");

    Проверка_БитриксИстина(Результат);

КонецПроцедуры

Процедура Bitrix24_ИзменитьЦветЧата(ПараметрыФункции)

    URL     = ПараметрыФункции["Bitrix24_URL"];
    IDЧата  = ПараметрыФункции["Bitrix24_HookChatID"];

    Цвет    = "AZURE";

    Результат = OPI_Bitrix24.ИзменитьЦветЧата(URL, IDЧата, Цвет);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьЦветЧата (хук)", "Bitrix24");

    Проверка_БитриксИстина(Результат); // SKIP

    URL            = ПараметрыФункции["Bitrix24_Domain"];
    Токен          = ПараметрыФункции["Bitrix24_Token"];
    IDЧата         = ПараметрыФункции["Bitrix24_ChatID"];

    Цвет           = "PURPLE";

    Результат = OPI_Bitrix24.ИзменитьЦветЧата(URL, IDЧата, Цвет, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьЦветЧата", "Bitrix24");

    Проверка_БитриксИстина(Результат);

КонецПроцедуры

Процедура Bitrix24_ИзменитьКартинкуЧата(ПараметрыФункции)

    URL     = ПараметрыФункции["Bitrix24_URL"];
    IDЧата  = ПараметрыФункции["Bitrix24_HookChatID"];

    Картинка = ПараметрыФункции["Picture2"];

    Результат = OPI_Bitrix24.ИзменитьКартинкуЧата(URL, IDЧата, Картинка);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьКартинкуЧата (хук)", "Bitrix24");

    Проверка_БитриксИстина(Результат); // SKIP

    URL            = ПараметрыФункции["Bitrix24_Domain"];
    Токен          = ПараметрыФункции["Bitrix24_Token"];
    IDЧата         = ПараметрыФункции["Bitrix24_ChatID"];

    Результат = OPI_Bitrix24.ИзменитьКартинкуЧата(URL, IDЧата, Картинка, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьКартинкуЧата", "Bitrix24");

    Проверка_БитриксИстина(Результат);

КонецПроцедуры

Процедура Bitrix24_ОтключитьУведомленияЧата(ПараметрыФункции)

    URL     = ПараметрыФункции["Bitrix24_URL"];
    IDЧата  = ПараметрыФункции["Bitrix24_HookChatID"];

    Результат = OPI_Bitrix24.ОтключитьУведомленияЧата(URL, IDЧата);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтключитьУведомленияЧата (хук)", "Bitrix24");

    Проверка_БитриксИстина(Результат); // SKIP

    URL            = ПараметрыФункции["Bitrix24_Domain"];
    Токен          = ПараметрыФункции["Bitrix24_Token"];
    IDЧата         = ПараметрыФункции["Bitrix24_ChatID"];

    Результат = OPI_Bitrix24.ОтключитьУведомленияЧата(URL, IDЧата, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтключитьУведомленияЧата", "Bitrix24");

    Проверка_БитриксИстина(Результат);

КонецПроцедуры

Процедура Bitrix24_ВключитьУведомленияЧата(ПараметрыФункции)

    URL     = ПараметрыФункции["Bitrix24_URL"];
    IDЧата  = ПараметрыФункции["Bitrix24_HookChatID"];

    Результат = OPI_Bitrix24.ВключитьУведомленияЧата(URL, IDЧата);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВключитьУведомленияЧата (хук)", "Bitrix24");

    Проверка_БитриксИстина(Результат); // SKIP

    URL            = ПараметрыФункции["Bitrix24_Domain"];
    Токен          = ПараметрыФункции["Bitrix24_Token"];
    IDЧата         = ПараметрыФункции["Bitrix24_ChatID"];

    Результат = OPI_Bitrix24.ВключитьУведомленияЧата(URL, IDЧата, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВключитьУведомленияЧата", "Bitrix24");

    Проверка_БитриксИстина(Результат);

КонецПроцедуры

Процедура Bitrix24_СменитьВладельцаЧата(ПараметрыФункции)

    URL     = ПараметрыФункции["Bitrix24_URL"];
    IDЧата  = ПараметрыФункции["Bitrix24_HookChatID"];

    IDПользователя = 10;

    Результат = OPI_Bitrix24.СменитьВладельцаЧата(URL, IDЧата, IDПользователя);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СменитьВладельцаЧата (хук)", "Bitrix24");

    Проверка_БитриксИстина(Результат); // SKIP

    URL            = ПараметрыФункции["Bitrix24_Domain"];
    Токен          = ПараметрыФункции["Bitrix24_Token"];
    IDЧата         = ПараметрыФункции["Bitrix24_ChatID"];

    Результат = OPI_Bitrix24.СменитьВладельцаЧата(URL, IDЧата, IDПользователя, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СменитьВладельцаЧата", "Bitrix24");

    Проверка_БитриксИстина(Результат);

КонецПроцедуры

Процедура Bitrix24_ПолучитьСписокСообщенийЧата(ПараметрыФункции)

    URL     = ПараметрыФункции["Bitrix24_URL"];
    IDЧата  = "chat4";

    Результат = OPI_Bitrix24.ПолучитьСписокСообщенийЧата(URL, IDЧата);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокСообщенийЧата (хук)", "Bitrix24");

    Проверка_БитриксСообщения(Результат); // SKIP

    IDСообщения = Результат["result"]["messages"][0]["id"];                             // SKIP
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_ChatMessageID", IDСообщения);  // SKIP
    ПараметрыФункции.Вставить("Bitrix24_ChatMessageID", IDСообщения);                   // SKIP

    URL            = ПараметрыФункции["Bitrix24_Domain"];
    Токен          = ПараметрыФункции["Bitrix24_Token"];
    IDПользователя = 10;

    Результат = OPI_Bitrix24.ПолучитьСписокСообщенийЧата(URL, IDПользователя, , 0, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокСообщенийЧата", "Bitrix24");

    Проверка_БитриксСообщения(Результат);

    IDСообщения = Результат["result"]["messages"][0]["id"];
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_UserMessageID", IDСообщения);
    ПараметрыФункции.Вставить("Bitrix24_UserMessageID", IDСообщения);

КонецПроцедуры

Процедура Bitrix24_ОтметитьСообщениеКакПрочитанное(ПараметрыФункции)

    URL         = ПараметрыФункции["Bitrix24_URL"];
    IDЧата      = "chat" + ПараметрыФункции["Bitrix24_HookChatID"];
    IDСообщения = ПараметрыФункции["Bitrix24_ChatMessageID"];

    Результат = OPI_Bitrix24.ОтметитьСообщениеКакПрочитанное(URL, IDЧата, IDСообщения);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтметитьСообщениеКакПрочитанное (хук)", "Bitrix24");

    Проверка_БитриксДиалог(Результат); // SKIP

    URL            = ПараметрыФункции["Bitrix24_Domain"];
    Токен          = ПараметрыФункции["Bitrix24_Token"];
    IDПользователя = 10;
    IDСообщения    = ПараметрыФункции["Bitrix24_UserMessageID"];

    Результат = OPI_Bitrix24.ОтметитьСообщениеКакПрочитанное(URL, IDПользователя, IDСообщения, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтметитьСообщениеКакПрочитанное", "Bitrix24");

    Проверка_БитриксДиалог(Результат);

КонецПроцедуры

Процедура Bitrix24_ОтметитьСообщениеКакНепрочитанное(ПараметрыФункции)

    URL         = ПараметрыФункции["Bitrix24_URL"];
    IDЧата      = "chat" + ПараметрыФункции["Bitrix24_HookChatID"];
    IDСообщения = ПараметрыФункции["Bitrix24_ChatMessageID"];

    Результат = OPI_Bitrix24.ОтметитьСообщениеКакНепрочитанное(URL, IDЧата, IDСообщения);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтметитьСообщениеКакНепрочитанное (хук)", "Bitrix24");

    Проверка_БитриксИстина(Результат); // SKIP

    URL            = ПараметрыФункции["Bitrix24_Domain"];
    Токен          = ПараметрыФункции["Bitrix24_Token"];
    IDПользователя = 10;
    IDСообщения    = ПараметрыФункции["Bitrix24_UserMessageID"];

    Результат = OPI_Bitrix24.ОтметитьСообщениеКакНепрочитанное(URL, IDПользователя, IDСообщения, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтметитьСообщениеКакНепрочитанное", "Bitrix24");

    Проверка_БитриксИстина(Результат);

КонецПроцедуры

Процедура Bitrix24_ПолучитьДиалог(ПараметрыФункции)

    URL         = ПараметрыФункции["Bitrix24_URL"];
    IDЧата      = "chat" + ПараметрыФункции["Bitrix24_HookChatID"];

    Результат = OPI_Bitrix24.ПолучитьДиалог(URL, IDЧата);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьДиалог (хук)", "Bitrix24");

    Проверка_БитриксСообщение(Результат); // SKIP

    URL            = ПараметрыФункции["Bitrix24_Domain"];
    Токен          = ПараметрыФункции["Bitrix24_Token"];
    IDПользователя = 10;

    Результат = OPI_Bitrix24.ПолучитьДиалог(URL, IDПользователя, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьДиалог", "Bitrix24");

    Проверка_БитриксСообщение(Результат);

КонецПроцедуры

Процедура Bitrix24_ПолучитьСписокПользователейДиалога(ПараметрыФункции)

    URL         = ПараметрыФункции["Bitrix24_URL"];
    IDЧата      = "chat" + ПараметрыФункции["Bitrix24_HookChatID"];

    Результат = OPI_Bitrix24.ПолучитьСписокПользователейДиалога(URL, IDЧата);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокПользователейДиалога (хук)", "Bitrix24");

    Проверка_БитриксМассив(Результат); // SKIP

    URL            = ПараметрыФункции["Bitrix24_Domain"];
    Токен          = ПараметрыФункции["Bitrix24_Token"];
    IDПользователя = 10;

    Результат = OPI_Bitrix24.ПолучитьСписокПользователейДиалога(URL, IDПользователя, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокПользователейДиалога", "Bitrix24");

    Проверка_БитриксМассив(Результат);

КонецПроцедуры

Процедура Bitrix24_ОтправитьУведомлениеОВводе(ПараметрыФункции)

    URL         = ПараметрыФункции["Bitrix24_URL"];
    IDЧата      = "chat" + ПараметрыФункции["Bitrix24_HookChatID"];

    Результат = OPI_Bitrix24.ОтправитьУведомлениеОВводе(URL, IDЧата);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьУведомлениеОВводе (хук)", "Bitrix24");

    Проверка_БитриксИстина(Результат); // SKIP

    URL            = ПараметрыФункции["Bitrix24_Domain"];
    Токен          = ПараметрыФункции["Bitrix24_Token"];
    IDПользователя = 10;

    Результат = OPI_Bitrix24.ОтправитьУведомлениеОВводе(URL, IDПользователя, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьУведомлениеОВводе", "Bitrix24");

    Проверка_БитриксИстина(Результат);

КонецПроцедуры

Процедура Bitrix24_ПрочитатьВсе(ПараметрыФункции)

    URL = ПараметрыФункции["Bitrix24_URL"];

    Результат = OPI_Bitrix24.ПрочитатьВсе(URL);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПрочитатьВсе (хук)", "Bitrix24");

    Проверка_БитриксИстина(Результат); // SKIP

    URL            = ПараметрыФункции["Bitrix24_Domain"];
    Токен          = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ПрочитатьВсе(URL, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПрочитатьВсе", "Bitrix24");

    Проверка_БитриксИстина(Результат);

КонецПроцедуры

Процедура Bitrix24_ОтправитьСообщение(ПараметрыФункции)

    URL      = ПараметрыФункции["Bitrix24_URL"];
    IDЧата   = "chat" + ПараметрыФункции["Bitrix24_HookChatID"];
    Текст    = "Текст сообщения";
    Картинка = "https://raw.githubusercontent.com/Bayselonarrend/OpenIntegrations/main/service/test_data/picture.jpg";
    Файл     = "https://github.com/Bayselonarrend/OpenIntegrations/raw/main/service/test_data/document.docx";

    Вложения = Новый Массив;
    Вложения.Добавить(OPI_Bitrix24.ПолучитьБлокКартинки("Картинка1", Картинка));
    Вложения.Добавить(OPI_Bitrix24.ПолучитьБлокФайла("Файл1.docx"  , Файл));

    Результат = OPI_Bitrix24.ОтправитьСообщение(URL, IDЧата, Текст, Вложения);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьСообщение (хук)", "Bitrix24");

    Проверка_БитриксЧисло(Результат); // SKIP

    IDСообщения = Результат["result"];                                                  // SKIP
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_ChatMessageID", IDСообщения);  // SKIP
    ПараметрыФункции.Вставить("Bitrix24_ChatMessageID", IDСообщения);                   // SKIP

    URL            = ПараметрыФункции["Bitrix24_Domain"];
    Токен          = ПараметрыФункции["Bitrix24_Token"];
    IDПользователя = 10;

    Результат = OPI_Bitrix24.ОтправитьСообщение(URL, IDПользователя, Текст, , Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьСообщение", "Bitrix24");

    Проверка_БитриксЧисло(Результат);

    IDСообщения = Результат["result"];
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_UserMessageID", IDСообщения);
    ПараметрыФункции.Вставить("Bitrix24_UserMessageID", IDСообщения);

КонецПроцедуры

Процедура Bitrix24_ИзменитьСообщение(ПараметрыФункции)

    URL         = ПараметрыФункции["Bitrix24_URL"];
    IDСообщения = ПараметрыФункции["Bitrix24_ChatMessageID"];

    Текст    = "Новый текст сообщения";

    Результат = OPI_Bitrix24.ИзменитьСообщение(URL, IDСообщения, Текст);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьСообщение (хук)", "Bitrix24");

    Проверка_БитриксИстина(Результат); // SKIP

    URL            = ПараметрыФункции["Bitrix24_Domain"];
    Токен          = ПараметрыФункции["Bitrix24_Token"];
    IDСообщения    = ПараметрыФункции["Bitrix24_UserMessageID"];

    Картинка = "https://raw.githubusercontent.com/Bayselonarrend/OpenIntegrations/main/service/test_data/picture.jpg";
    Файл     = "https://github.com/Bayselonarrend/OpenIntegrations/raw/main/service/test_data/document.docx";

    Вложения = Новый Массив;
    Вложения.Добавить(OPI_Bitrix24.ПолучитьБлокКартинки("Картинка1", Картинка));
    Вложения.Добавить(OPI_Bitrix24.ПолучитьБлокФайла("Файл1.docx"  , Файл));

    Результат = OPI_Bitrix24.ИзменитьСообщение(URL, IDСообщения, Текст, Вложения, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьСообщение", "Bitrix24");

    Проверка_БитриксИстина(Результат);

КонецПроцедуры

Процедура Bitrix24_УдалитьСообщение(ПараметрыФункции)

    URL         = ПараметрыФункции["Bitrix24_URL"];
    IDСообщения = ПараметрыФункции["Bitrix24_ChatMessageID"];

    Результат = OPI_Bitrix24.УдалитьСообщение(URL, IDСообщения);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСообщение (хук)", "Bitrix24");

    Проверка_БитриксИстина(Результат); // SKIP

    URL            = ПараметрыФункции["Bitrix24_Domain"];
    Токен          = ПараметрыФункции["Bitrix24_Token"];
    IDСообщения    = ПараметрыФункции["Bitrix24_UserMessageID"];

    Результат = OPI_Bitrix24.УдалитьСообщение(URL, IDСообщения, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСообщение", "Bitrix24");

    Проверка_БитриксИстина(Результат);

КонецПроцедуры

Процедура Bitrix24_УстановитьРеакциюНаСообщение(ПараметрыФункции)

    URL         = ПараметрыФункции["Bitrix24_URL"];
    IDСообщения = ПараметрыФункции["Bitrix24_ChatMessageID"];

    Результат = OPI_Bitrix24.УстановитьРеакциюНаСообщение(URL, IDСообщения);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УстановитьРеакциюНаСообщение (хук)", "Bitrix24");

    Проверка_БитриксИстина(Результат); // SKIP

    URL            = ПараметрыФункции["Bitrix24_Domain"];
    Токен          = ПараметрыФункции["Bitrix24_Token"];
    IDСообщения    = ПараметрыФункции["Bitrix24_UserMessageID"];

    Результат = OPI_Bitrix24.УстановитьРеакциюНаСообщение(URL, IDСообщения, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УстановитьРеакциюНаСообщение", "Bitrix24");

    Проверка_БитриксИстина(Результат);

КонецПроцедуры

Процедура Bitrix24_ПолучитьКаталогФайловЧата(ПараметрыФункции)

    URL         = ПараметрыФункции["Bitrix24_URL"];
    IDЧата      = ПараметрыФункции["Bitrix24_HookChatID"];

    Результат = OPI_Bitrix24.ПолучитьКаталогФайловЧата(URL, IDЧата);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьКаталогФайловЧата (хук)", "Bitrix24");

    Проверка_БитриксОбъект(Результат); // SKIP

    URL            = ПараметрыФункции["Bitrix24_Domain"];
    Токен          = ПараметрыФункции["Bitrix24_Token"];
    IDЧата         = ПараметрыФункции["Bitrix24_ChatID"];

    Результат = OPI_Bitrix24.ПолучитьКаталогФайловЧата(URL, IDЧата, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьКаталогФайловЧата", "Bitrix24");

    Проверка_БитриксОбъект(Результат);

КонецПроцедуры

Процедура Bitrix24_ОтправитьФайл(ПараметрыФункции)

    URL         = ПараметрыФункции["Bitrix24_URL"];
    IDЧата      = ПараметрыФункции["Bitrix24_HookChatID"];
    Файл        = ПараметрыФункции["Document"]; // Двоичные данные, URL или путь к файлу
    Описание    = "Очень важный файл";

    Каталог    = OPI_Bitrix24.ПолучитьКаталогФайловЧата(URL, IDЧата);
    IDКаталога = Каталог["result"]["ID"];

    ЗагруженныйФайл = OPI_Bitrix24.ЗагрузитьФайлВКаталог(URL, "Важный документ.docx", Файл, IDКаталога);
    IDФайла         = ЗагруженныйФайл["result"]["ID"];

    Результат = OPI_Bitrix24.ОтправитьФайл(URL, IDЧата, IDФайла, Описание);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьФайл (хук)", "Bitrix24");

    Проверка_БитриксФайлСообщение(Результат); // SKIP

    URL    = ПараметрыФункции["Bitrix24_Domain"];
    Токен  = ПараметрыФункции["Bitrix24_Token"];
    IDЧата = ПараметрыФункции["Bitrix24_ChatID"];

    Каталог    = OPI_Bitrix24.ПолучитьКаталогФайловЧата(URL, IDЧата, Токен);
    IDКаталога = Каталог["result"]["ID"];

    ЗагруженныйФайл = OPI_Bitrix24.ЗагрузитьФайлВКаталог(URL, "Важный документ.docx", Файл, IDКаталога, Токен);
    IDФайла         = ЗагруженныйФайл["result"]["ID"];

    Результат = OPI_Bitrix24.ОтправитьФайл(URL, IDЧата, IDФайла, Описание, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьФайл", "Bitrix24");

    Проверка_БитриксФайлСообщение(Результат);

КонецПроцедуры

Процедура Bitrix24_ПолучитьПользователей(ПараметрыФункции)

    URL                 = ПараметрыФункции["Bitrix24_URL"];
    МассивПользователей = Новый Массив;

    МассивПользователей.Добавить(1);
    МассивПользователей.Добавить(10);

    Результат = OPI_Bitrix24.ПолучитьПользователей(URL, МассивПользователей);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьПользователей (хук)", "Bitrix24");

    Проверка_БитриксСоответствие(Результат); // SKIP

    URL             = ПараметрыФункции["Bitrix24_Domain"];
    Токен           = ПараметрыФункции["Bitrix24_Token"];
    IDПользователей = 10;

    Результат = OPI_Bitrix24.ПолучитьПользователей(URL, IDПользователей, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьПользователей", "Bitrix24");

    Проверка_БитриксСоответствие(Результат);

КонецПроцедуры

Процедура Bitrix24_ПолучитьСтатусПользователя(ПараметрыФункции)

    URL = ПараметрыФункции["Bitrix24_URL"];

    Результат = OPI_Bitrix24.ПолучитьСтатусПользователя(URL);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтатусПользователя (хук)", "Bitrix24");

    Проверка_БитриксСтрока(Результат); // SKIP

    URL             = ПараметрыФункции["Bitrix24_Domain"];
    Токен           = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ПолучитьСтатусПользователя(URL, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтатусПользователя", "Bitrix24");

    Проверка_БитриксСтрока(Результат);

КонецПроцедуры

Процедура Bitrix24_УстановитьСтатусПользователя(ПараметрыФункции)

    URL    = ПараметрыФункции["Bitrix24_URL"];
    Статус = "dnd";

    Результат = OPI_Bitrix24.УстановитьСтатусПользователя(URL, Статус);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УстановитьСтатусПользователя (хук)", "Bitrix24");

    Проверка_БитриксИстина(Результат); // SKIP

    URL      = ПараметрыФункции["Bitrix24_Domain"];
    Токен    = ПараметрыФункции["Bitrix24_Token"];
    Статус   = "away";

    Результат = OPI_Bitrix24.УстановитьСтатусПользователя(URL, Статус, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УстановитьСтатусПользователя", "Bitrix24");

    Проверка_БитриксИстина(Результат);

КонецПроцедуры

Процедура Bitrix24_СоздатьПерсональноеУведомление(ПараметрыФункции)

    IDПользователя = 1;

    URL      = ПараметрыФункции["Bitrix24_URL"];
    Текст    = "Текст сообщения";
    Картинка = "https://raw.githubusercontent.com/Bayselonarrend/OpenIntegrations/main/service/test_data/picture.jpg";
    Файл     = "https://github.com/Bayselonarrend/OpenIntegrations/raw/main/service/test_data/document.docx";

    Вложения = Новый Массив;
    Вложения.Добавить(OPI_Bitrix24.ПолучитьБлокКартинки("Картинка1", Картинка));
    Вложения.Добавить(OPI_Bitrix24.ПолучитьБлокФайла("Файл1.docx"  , Файл));

    Результат = OPI_Bitrix24.СоздатьПерсональноеУведомление(URL, IDПользователя, Текст, ,Вложения);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьПерсональноеУведомление (хук)", "Bitrix24");

    Проверка_БитриксЧисло(Результат); // SKIP

    IDСообщения = Результат["result"];                                                        // SKIP
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_PersoalHookNotifyID", IDСообщения);  // SKIP
    ПараметрыФункции.Вставить("Bitrix24_PersoalHookNotifyID", IDСообщения);                   // SKIP

    URL            = ПараметрыФункции["Bitrix24_Domain"];
    Токен          = ПараметрыФункции["Bitrix24_Token"];
    Тег            = "Новый";
    IDПользователя = 10;

    Результат = OPI_Bitrix24.СоздатьПерсональноеУведомление(URL, IDПользователя, Текст, Тег, , Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьПерсональноеУведомление", "Bitrix24");

    Проверка_БитриксЧисло(Результат);

    IDСообщения = Результат["result"];
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_PersoalNotifyID", IDСообщения);
    ПараметрыФункции.Вставить("Bitrix24_PersoalNotifyID", IDСообщения);

КонецПроцедуры

Процедура Bitrix24_СоздатьСистемноеУведомление(ПараметрыФункции)

    IDПользователя = 1;

    URL      = ПараметрыФункции["Bitrix24_URL"];
    Текст    = "Текст сообщения";
    Картинка = "https://raw.githubusercontent.com/Bayselonarrend/OpenIntegrations/main/service/test_data/picture.jpg";
    Файл     = "https://github.com/Bayselonarrend/OpenIntegrations/raw/main/service/test_data/document.docx";

    Вложения = Новый Массив;
    Вложения.Добавить(OPI_Bitrix24.ПолучитьБлокКартинки("Картинка1", Картинка));
    Вложения.Добавить(OPI_Bitrix24.ПолучитьБлокФайла("Файл1.docx"  , Файл));

    Результат = OPI_Bitrix24.СоздатьСистемноеУведомление(URL, IDПользователя, Текст, ,Вложения);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСистемноеУведомление (хук)", "Bitrix24");

    Проверка_БитриксЧисло(Результат); // SKIP

    IDСообщения = Результат["result"];                                                       // SKIP
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_SystemHookNotifyID", IDСообщения);  // SKIP
    ПараметрыФункции.Вставить("Bitrix24_SystemHookNotifyID", IDСообщения);                   // SKIP

    URL            = ПараметрыФункции["Bitrix24_Domain"];
    Токен          = ПараметрыФункции["Bitrix24_Token"];
    Тег            = "Новый";
    IDПользователя = 10;

    Результат = OPI_Bitrix24.СоздатьСистемноеУведомление(URL, IDПользователя, Текст, Тег, , Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСистемноеУведомление", "Bitrix24");

    Проверка_БитриксЧисло(Результат);

    IDСообщения = Результат["result"];
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_SystemNotifyID", IDСообщения);
    ПараметрыФункции.Вставить("Bitrix24_SystemNotifyID", IDСообщения);

КонецПроцедуры

Процедура Bitrix24_УдалитьУведомление(ПараметрыФункции)

    URL           = ПараметрыФункции["Bitrix24_URL"];
    IDУведомления = ПараметрыФункции["Bitrix24_PersoalHookNotifyID"];

    Результат = OPI_Bitrix24.УдалитьУведомление(URL, IDУведомления);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьУведомление", "Bitrix24");

    Проверка_БитриксИстина(Результат); // SKIP

    URL           = ПараметрыФункции["Bitrix24_Domain"];
    Токен         = ПараметрыФункции["Bitrix24_Token"];
    IDУведомления = ПараметрыФункции["Bitrix24_PersoalNotifyID"];

    Результат = OPI_Bitrix24.УдалитьУведомление(URL, IDУведомления, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьУведомление (приложение)", "Bitrix24");

    Проверка_БитриксБулево(Результат);

КонецПроцедуры

Процедура Bitrix24_ДобавитьПользовательскоеПолеЗадачи(ПараметрыФункции)

    URL = ПараметрыФункции["Bitrix24_URL"];

    Тип = "date";
    Имя = "BIRTHDAY_FIELD";

    Результат = OPI_Bitrix24.ДобавитьПользовательскоеПолеЗадачи(URL, Тип, Имя);

    URL   = ПараметрыФункции["Bitrix24_Domain"];
    Токен = ПараметрыФункции["Bitrix24_Token"];

    Тип        = "string";
    Имя        = "TEXT_FIELD";
    ВнешнийКод = "BITRIX_TEXT_FIELD";
    Заголовок  = "Поле для текста";
    Подпись    = Новый Структура("en,ru", "Some field", "Некоторое поле");


    Результат = OPI_Bitrix24.ДобавитьПользовательскоеПолеЗадачи(URL, Тип, Имя, ВнешнийКод, Заголовок, Подпись, Токен);

    // END

КонецПроцедуры

Процедура Bitrix24_ИзменитьПользовательскоеПолеЗадачи(ПараметрыФункции)

    URL = ПараметрыФункции["Bitrix24_URL"];

    IDПоля    = ПараметрыФункции["Bitrix24_HookTaskFieldID"];
    Заголовок = "Новый заголовок";

    Результат = OPI_Bitrix24.ИзменитьПользовательскоеПолеЗадачи(URL, IDПоля, , Заголовок);

    URL   = ПараметрыФункции["Bitrix24_Domain"];
    Токен = ПараметрыФункции["Bitrix24_Token"];

    IDПоля     = ПараметрыФункции["Bitrix24_TaskFieldID"];
    ВнешнийКод = "NEW_TEXT_FIELD";
    Подпись    = Новый Структура("en,ru", "Updated field", "Измененное поле");

    Результат = OPI_Bitrix24.ИзменитьПользовательскоеПолеЗадачи(URL, IDПоля, ВнешнийКод, , Подпись, Токен);

    // END

КонецПроцедуры

Процедура Bitrix24_ПолучитьПользовательскоеПолеЗадачи(ПараметрыФункции)

    URL      = ПараметрыФункции["Bitrix24_URL"];
    IDПоля   = ПараметрыФункции["Bitrix24_HookTaskFieldID"];

    Результат = OPI_Bitrix24.ПолучитьПользовательскоеПолеЗадачи(URL, IDПоля);


    URL      = ПараметрыФункции["Bitrix24_Domain"];
    Токен    = ПараметрыФункции["Bitrix24_Token"];
    IDПоля   = ПараметрыФункции["Bitrix24_TaskFieldID"];

    Результат = OPI_Bitrix24.ПолучитьПользовательскоеПолеЗадачи(URL, IDПоля, );

    // END

КонецПроцедуры

Процедура Bitrix24_ПолучитьСписокПользовательскихПолейЗадачи(ПараметрыФункции)

    URL       = ПараметрыФункции["Bitrix24_URL"];

    Результат = OPI_Bitrix24.ПолучитьСписокПользовательскихПолейЗадачи(URL);

    URL      = ПараметрыФункции["Bitrix24_Domain"];
    Токен    = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ПолучитьСписокПользовательскихПолейЗадачи(URL);

    // END

КонецПроцедуры

Процедура Bitrix24_УдалитьПользовательскоеПолеЗадачи(ПараметрыФункции)

    URL    = ПараметрыФункции["Bitrix24_URL"];
    IDПоля = ПараметрыФункции["Bitrix24_HookTaskFieldID"];

    Результат = OPI_Bitrix24.УдалитьПользовательскоеПолеЗадачи(URL, IDПоля);

    URL      = ПараметрыФункции["Bitrix24_Domain"];
    Токен    = ПараметрыФункции["Bitrix24_Token"];
    IDПоля   = ПараметрыФункции["Bitrix24_TaskFieldID"];

    Результат = OPI_Bitrix24.УдалитьПользовательскоеПолеЗадачи(URL, IDПоля, );

    // END

КонецПроцедуры

Процедура Bitrix24_СоздатьПодразделение(ПараметрыФункции)

    URL = ПараметрыФункции["Bitrix24_URL"];

    Наименование = "Главное подразделение";
    IDРодителя   = 1;

    Результат = OPI_Bitrix24.СоздатьПодразделение(URL, Наименование, IDРодителя);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьПодразделение (хук)", "Bitrix24");

    Проверка_БитриксЧисло(Результат); // SKIP

    IDПодразделения = Результат["result"];                                              // SKIP
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_HookDepID", IDПодразделения);  // SKIP
    ПараметрыФункции.Вставить("Bitrix24_HookDepID", IDПодразделения);                   // SKIP

    URL      = ПараметрыФункции["Bitrix24_Domain"];
    Токен    = ПараметрыФункции["Bitrix24_Token"];

    Наименование   = "Подчиненное подразделение";
    IDРодителя     = ПараметрыФункции["Bitrix24_HookDepID"];
    IDРуководителя = 1;

    Результат = OPI_Bitrix24.СоздатьПодразделение(URL, Наименование, IDРодителя, IDРуководителя, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьПодразделение", "Bitrix24");

    Проверка_БитриксЧисло(Результат);

    IDПодразделения = Результат["result"];
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_DepID", IDПодразделения);
    ПараметрыФункции.Вставить("Bitrix24_DepID", IDПодразделения);

КонецПроцедуры

Процедура Bitrix24_ИзменитьПодразделение(ПараметрыФункции)

    URL = ПараметрыФункции["Bitrix24_URL"];

    IDПодразделения = ПараметрыФункции["Bitrix24_HookDepID"];
    IDРодителя      = 7;

    Результат = OPI_Bitrix24.ИзменитьПодразделение(URL, IDПодразделения, , IDРодителя);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьПодразделение (хук)", "Bitrix24");

    Проверка_БитриксИстина(Результат); // SKIP

    URL      = ПараметрыФункции["Bitrix24_Domain"];
    Токен    = ПараметрыФункции["Bitrix24_Token"];

    IDПодразделения = ПараметрыФункции["Bitrix24_DepID"];
    Наименование    = "Новое подразделение";
    IDРодителя      = 1;
    IDРуководителя  = 10;

    Результат = OPI_Bitrix24.ИзменитьПодразделение(URL
        , IDПодразделения
        , Наименование
        , IDРодителя
        , IDРуководителя
        , Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьПодразделение", "Bitrix24");

    Проверка_БитриксИстина(Результат);

КонецПроцедуры

Процедура Bitrix24_УдалитьПодразделение(ПараметрыФункции)

    URL             = ПараметрыФункции["Bitrix24_URL"];
    IDПодразделения = ПараметрыФункции["Bitrix24_DepID"];

    Результат = OPI_Bitrix24.УдалитьПодразделение(URL, IDПодразделения);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьПодразделение (хук)", "Bitrix24");

    Проверка_БитриксИстина(Результат); // SKIP

    URL             = ПараметрыФункции["Bitrix24_Domain"];
    Токен           = ПараметрыФункции["Bitrix24_Token"];
    IDПодразделения = ПараметрыФункции["Bitrix24_HookDepID"];

    Результат = OPI_Bitrix24.УдалитьПодразделение(URL, IDПодразделения, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьПодразделение", "Bitrix24");

    Проверка_БитриксИстина(Результат);

КонецПроцедуры

Процедура Bitrix24_ПолучитьПодразделения(ПараметрыФункции)

    URL             = ПараметрыФункции["Bitrix24_URL"];
    IDПодразделения = ПараметрыФункции["Bitrix24_DepID"];

    Результат = OPI_Bitrix24.ПолучитьПодразделения(URL, IDПодразделения);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьПодразделения (хук)", "Bitrix24");

    Проверка_БитриксМассив(Результат); // SKIP

    URL             = ПараметрыФункции["Bitrix24_Domain"];
    Токен           = ПараметрыФункции["Bitrix24_Token"];
    IDРуководителя  = 1;

    Результат = OPI_Bitrix24.ПолучитьПодразделения(URL, , , , IDРуководителя, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьПодразделения", "Bitrix24");

    Проверка_БитриксМассив(Результат);

КонецПроцедуры

Процедура Bitrix24_ПолучитьТекущегоПользователя(ПараметрыФункции)

    URL = ПараметрыФункции["Bitrix24_URL"];

    Результат = OPI_Bitrix24.ПолучитьТекущегоПользователя(URL);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьТекущегоПользователя (хук)", "Bitrix24");

    Проверка_БитриксОбъект(Результат); // SKIP

    URL            = ПараметрыФункции["Bitrix24_Domain"];
    Токен          = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ПолучитьТекущегоПользователя(URL, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьТекущегоПользователя", "Bitrix24");

    Проверка_БитриксОбъект(Результат);

КонецПроцедуры

Процедура Bitrix24_ПолучитьСтурктуруПользователя(ПараметрыФункции)

    URL = ПараметрыФункции["Bitrix24_URL"];

    Результат = OPI_Bitrix24.ПолучитьСтурктуруПользователя(URL);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтурктуруПользователя (хук)", "Bitrix24");

    Проверка_БитриксОбъект(Результат); // SKIP

    URL            = ПараметрыФункции["Bitrix24_Domain"];
    Токен          = ПараметрыФункции["Bitrix24_Token"];

    Результат = OPI_Bitrix24.ПолучитьСтурктуруПользователя(URL, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтурктуруПользователя", "Bitrix24");

    Проверка_БитриксОбъект(Результат);

КонецПроцедуры

Процедура Bitrix24_СоздатьПользователя(ПараметрыФункции)

    URL   = ПараметрыФункции["Bitrix24_URL"];
    Почта = Строка(Новый УникальныйИдентификатор) + "@exepmple.org";
    // Полную структуру можно получить функцией ПолучитьСтурктуруПользователя

    СтруктураПользователя = Новый Структура;
    СтруктураПользователя.Вставить("EMAIL"        , Почта);
    СтруктураПользователя.Вставить("UF_DEPARTMENT", 7);

    Результат = OPI_Bitrix24.СоздатьПользователя(URL, СтруктураПользователя);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьПользователя (хук)", "Bitrix24");

    Проверка_БитриксЧисло(Результат); // SKIP

    IDПользователя = Результат["result"];                                               // SKIP
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_HookUserID", IDПользователя);  // SKIP
    ПараметрыФункции.Вставить("Bitrix24_HookUserID", IDПользователя);                   // SKIP

    URL   = ПараметрыФункции["Bitrix24_Domain"];
    Токен = ПараметрыФункции["Bitrix24_Token"];
    Почта = Строка(Новый УникальныйИдентификатор) + "@exepmple.org";

    СтруктураПользователя = Новый Структура;
    СтруктураПользователя.Вставить("EMAIL"          , Почта);
    СтруктураПользователя.Вставить("NAME"           , "Виталий");
    СтруктураПользователя.Вставить("LAST_NAME"      , "Альпака");
    СтруктураПользователя.Вставить("PERSONAL_MOBILE", "88003553535");
    СтруктураПользователя.Вставить("UF_DEPARTMENT"  , 1);

    Результат = OPI_Bitrix24.СоздатьПользователя(URL, СтруктураПользователя, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьПользователя", "Bitrix24");

    Проверка_БитриксЧисло(Результат);

    IDПользователя = Результат["result"];
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_UserID", IDПользователя);
    ПараметрыФункции.Вставить("Bitrix24_UserID", IDПользователя);

КонецПроцедуры

Процедура Bitrix24_ИзменитьПользователя(ПараметрыФункции)

    URL            = ПараметрыФункции["Bitrix24_URL"];
    IDПользователя = ПараметрыФункции["Bitrix24_HookUserID"];
    Почта          = Строка(Новый УникальныйИдентификатор) + "@exepmple.org";

    // Полную структуру можно получить функцией ПолучитьСтурктуруПользователя

    СтруктураПользователя = Новый Структура;
    СтруктураПользователя.Вставить("EMAIL"        , Почта);
    СтруктураПользователя.Вставить("UF_DEPARTMENT", 1);

    Результат = OPI_Bitrix24.ИзменитьПользователя(URL, IDПользователя, СтруктураПользователя);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьПользователя (хук)", "Bitrix24");

    Проверка_БитриксИстина(Результат); // SKIP

    URL            = ПараметрыФункции["Bitrix24_Domain"];
    Токен          = ПараметрыФункции["Bitrix24_Token"];
    IDПользователя = ПараметрыФункции["Bitrix24_UserID"];
    Почта          = Строка(Новый УникальныйИдентификатор) + "@exepmple.org";

    СтруктураПользователя = Новый Структура;
    СтруктураПользователя.Вставить("EMAIL"          , Почта);
    СтруктураПользователя.Вставить("NAME"           , "Олег");
    СтруктураПользователя.Вставить("LAST_NAME"      , "Лама");
    СтруктураПользователя.Вставить("UF_DEPARTMENT"  , 7);

    Результат = OPI_Bitrix24.ИзменитьПользователя(URL, IDПользователя, СтруктураПользователя, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьПользователя", "Bitrix24");

    Проверка_БитриксИстина(Результат);

КонецПроцедуры

Процедура Bitrix24_ИзменитьСтатусПользователя(ПараметрыФункции)

    URL            = ПараметрыФункции["Bitrix24_URL"];
    IDПользователя = ПараметрыФункции["Bitrix24_HookUserID"];

    Результат = OPI_Bitrix24.ИзменитьСтатусПользователя(URL, IDПользователя, Истина);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьСтатусПользователя (хук)", "Bitrix24");

    Проверка_БитриксИстина(Результат); // SKIP

    URL            = ПараметрыФункции["Bitrix24_Domain"];
    Токен          = ПараметрыФункции["Bitrix24_Token"];
    IDПользователя = ПараметрыФункции["Bitrix24_UserID"];

    Результат = OPI_Bitrix24.ИзменитьСтатусПользователя(URL, IDПользователя, Истина, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьСтатусПользователя", "Bitrix24");

    Проверка_БитриксИстина(Результат);

КонецПроцедуры

Процедура Bitrix24_ПолучитьПользователя(ПараметрыФункции)

    URL            = ПараметрыФункции["Bitrix24_URL"];
    IDПользователя = ПараметрыФункции["Bitrix24_HookUserID"];

    Результат = OPI_Bitrix24.ПолучитьПользователя(URL, IDПользователя);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьПользователя (хук)", "Bitrix24");

    Проверка_БитриксМассив(Результат); // SKIP

    URL            = ПараметрыФункции["Bitrix24_Domain"];
    Токен          = ПараметрыФункции["Bitrix24_Token"];
    IDПользователя = ПараметрыФункции["Bitrix24_UserID"];

    Результат = OPI_Bitrix24.ПолучитьПользователя(URL, IDПользователя, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьПользователя", "Bitrix24");

    Проверка_БитриксМассив(Результат);

КонецПроцедуры

Процедура Bitrix24_НайтиПользователей(ПараметрыФункции)

    URL = ПараметрыФункции["Bitrix24_URL"];

    СтруктураФильтра = Новый Структура;
    СтруктураФильтра.Вставить("NAME"              , "Виталий");
    СтруктураФильтра.Вставить("LAST_NAME"         , "Альпака");
    СтруктураФильтра.Вставить("WORK_POSITION"     , "DevOps инженер");
    СтруктураФильтра.Вставить("UF_DEPARTMENT_NAME", "Отдел маркетинга");
    СтруктураФильтра.Вставить("USER_TYPE"         , "employee");

    Результат = OPI_Bitrix24.НайтиПользователей(URL, СтруктураФильтра);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "НайтиПользователей (хук)", "Bitrix24");

    Проверка_БитриксМассив(Результат); // SKIP

    URL   = ПараметрыФункции["Bitrix24_Domain"];
    Токен = ПараметрыФункции["Bitrix24_Token"];

    СтруктураФильтра = Новый Структура;
    СтруктураФильтра.Вставить("UF_DEPARTMENT_NAME", "Битрикс");

    Результат = OPI_Bitrix24.НайтиПользователей(URL, СтруктураФильтра, Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "НайтиПользователей", "Bitrix24");

    Проверка_БитриксМассив(Результат);

КонецПроцедуры

Процедура Bitrix24_НачатьУчетВремени(ПараметрыФункции)

    URL = ПараметрыФункции["Bitrix24_URL"];

    Результат = OPI_Bitrix24.НачатьУчетВремени(URL);

    Час = 3600;

    URL            = ПараметрыФункции["Bitrix24_Domain"];
    Токен          = ПараметрыФункции["Bitrix24_Token"];
    IDПользователя = 1;
    Время          = OPI_Инструменты.ПолучитьТекущуюДату() - Час;
    Отчет          = "Опоздание";

    Результат = OPI_Bitrix24.НачатьУчетВремени(URL, IDПользователя, Время, Отчет, );

    // END

КонецПроцедуры

Процедура Bitrix24_ЗавершитьУчетВремени(ПараметрыФункции)

    URL = ПараметрыФункции["Bitrix24_URL"];

    Результат = OPI_Bitrix24.ЗавершитьУчетВремени(URL);

    URL            = ПараметрыФункции["Bitrix24_Domain"];
    Токен          = ПараметрыФункции["Bitrix24_Token"];
    IDПользователя = 1;
    Время          = OPI_Инструменты.ПолучитьТекущуюДату();
    Отчет          = "Отгул";

    Результат = OPI_Bitrix24.ЗавершитьУчетВремени(URL, IDПользователя, Время, Отчет, );

КонецПроцедуры

Процедура Bitrix24_ПриостановитьУчетВремени(ПараметрыФункции)

    URL = ПараметрыФункции["Bitrix24_URL"];

    Результат = OPI_Bitrix24.ПриостановитьУчетВремени(URL);

    Час = 3600;

    URL            = ПараметрыФункции["Bitrix24_Domain"];
    Токен          = ПараметрыФункции["Bitrix24_Token"];
    IDПользователя = 1;

    Результат = OPI_Bitrix24.ПриостановитьУчетВремени(URL, IDПользователя);

    // END

КонецПроцедуры

Процедура Bitrix24_ПолучитьСтатусУчетаВремени(ПараметрыФункции)

    URL = ПараметрыФункции["Bitrix24_URL"];

    Результат = OPI_Bitrix24.ПолучитьСтатусУчетаВремени(URL);

    Час = 3600;

    URL            = ПараметрыФункции["Bitrix24_Domain"];
    Токен          = ПараметрыФункции["Bitrix24_Token"];
    IDПользователя = 1;

    Результат = OPI_Bitrix24.ПолучитьСтатусУчетаВремени(URL, IDПользователя);

КонецПроцедуры

Процедура Bitrix24_ПолучитьНастройкиУчетаВремени(ПараметрыФункции)

    URL = ПараметрыФункции["Bitrix24_URL"];

    Результат = OPI_Bitrix24.ПолучитьНастройкиУчетаВремени(URL);

    Час = 3600;

    URL            = ПараметрыФункции["Bitrix24_Domain"];
    Токен          = ПараметрыФункции["Bitrix24_Token"];
    IDПользователя = 1;

    Результат = OPI_Bitrix24.ПолучитьНастройкиУчетаВремени(URL, IDПользователя);

    // END

КонецПроцедуры

#КонецОбласти

#Область YandexDisk

Процедура YandexDisk_ПолучитьИнформациюОДиске(ПараметрыФункции)

    Токен     = ПараметрыФункции["YandexDisk_Token"];
    Результат = OPI_YandexDisk.ПолучитьИнформациюОДиске(Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюОДиске", "YandexDisk");

    Проверка_ЯДискДиск(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура YandexDisk_СоздатьПапку(ПараметрыФункции)

    Токен = ПараметрыФункции["YandexDisk_Token"];
    Путь  = "/" + Строка(Новый УникальныйИдентификатор);

    Результат = OPI_YandexDisk.СоздатьПапку(Токен, Путь);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьПапку", "YandexDisk");

    Проверка_ЯДискКаталог(Результат, Путь);

    OPI_YandexDisk.УдалитьОбъект(Токен, Путь, Ложь);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура YandexDisk_ЗагрузитьФайлПоURL(ПараметрыФункции)

    Токен   = ПараметрыФункции["YandexDisk_Token"];
    Адрес   = ПараметрыФункции["Picture"];
    Путь    = "/" + Строка(Новый УникальныйИдентификатор) + ".png";

    Результат = OPI_YandexDisk.ЗагрузитьФайлПоURL(Токен, Путь, Адрес);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьФайлПоURL", "YandexDisk");

    Проверка_ЯДискПроцедура(Результат);

    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("YandexDisk_FileByURLPath", Путь);
    ПараметрыФункции.Вставить("YandexDisk_FileByURLPath", Путь);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура YandexDisk_ПолучитьОбъект(ПараметрыФункции)

    Токен = ПараметрыФункции["YandexDisk_Token"];
    Путь  = ПараметрыФункции["YandexDisk_FileByURLPath"];

    Результат = OPI_YandexDisk.ПолучитьОбъект(Токен, Путь);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьОбъект", "YandexDisk");

    Проверка_ЯДискПуть(Результат, Путь);

КонецПроцедуры

Процедура YandexDisk_УдалитьОбъект(ПараметрыФункции)

    Токен = ПараметрыФункции["YandexDisk_Token"];
    Путь  = ПараметрыФункции["YandexDisk_FileByURLPath"];

    Результат = OPI_YandexDisk.УдалитьОбъект(Токен, Путь, Ложь);

    // END

    OPI_Инструменты.Пауза(5);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьОбъект", "YandexDisk");

    Проверка_Пусто(Результат);

КонецПроцедуры

Процедура YandexDisk_ЗагрузитьФайл(ПараметрыФункции)

    Путь1     = "/" + Строка(Новый УникальныйИдентификатор) + ".png";
    Путь2     = "/" + Строка(Новый УникальныйИдентификатор) + ".png";

    Токен    = ПараметрыФункции["YandexDisk_Token"];
    Картинка = ПараметрыФункции["Picture"]; // URL

    ИВФ      = ПолучитьИмяВременногоФайла("png"); // Путь
    КопироватьФайл(Картинка, ИВФ);

    Результат = OPI_YandexDisk.ЗагрузитьФайл(Токен, Путь1, Картинка, Истина);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьФайл (URL)", "YandexDisk");

    Проверка_Пусто(Результат); // SKIP

    OPI_Инструменты.Пауза(5);  // SKIP

    Результат = OPI_YandexDisk.ЗагрузитьФайл(Токен, Путь2, ИВФ, Истина);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьФайл", "YandexDisk");

    Проверка_Пусто(Результат);

    OPI_Инструменты.Пауза(5);

    Результат = OPI_YandexDisk.УдалитьОбъект(Токен, Путь1, Ложь);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьОбъект (URL)", "YandexDisk");

    Проверка_Пусто(Результат);

    Результат = OPI_YandexDisk.УдалитьОбъект(Токен, Путь2, Ложь);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьОбъект (Путь)", "YandexDisk");

    Проверка_Пусто(Результат);

    УдалитьФайлы(ИВФ);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура YandexDisk_СоздатьКопиюОбъекта(ПараметрыФункции)

    Токен     = ПараметрыФункции["YandexDisk_Token"];
    Оригинал  = ПараметрыФункции["YandexDisk_OriginalFilePath"];
    Путь      = "/" + Строка(Новый УникальныйИдентификатор) + ".png";

    Результат = OPI_YandexDisk.СоздатьКопиюОбъекта(Токен, Оригинал, Путь, Истина);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьКопиюОбъекта", "YandexDisk");

    Проверка_ЯДискПуть(Результат, Путь);

    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("YandexDisk_CopyFilePath", Путь);
    ПараметрыФункции.Вставить("YandexDisk_CopyFilePath", Путь);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура YandexDisk_ПолучитьСсылкуДляСкачивания(ПараметрыФункции)

    Токен    = ПараметрыФункции["YandexDisk_Token"];
    Путь     = ПараметрыФункции["YandexDisk_PathForLink"];

    Результат = OPI_YandexDisk.ПолучитьСсылкуДляСкачивания(Токен, Путь);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСсылкуДляСкачивания", "YandexDisk");

    Проверка_ЯДискСсылка(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура YandexDisk_СкачатьФайл(ПараметрыФункции)

    Токен = ПараметрыФункции["YandexDisk_Token"];
    Путь  = ПараметрыФункции["YandexDisk_PathForLink"];

    Результат = OPI_YandexDisk.СкачатьФайл(Токен, Путь);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СкачатьФайл", "YandexDisk");

    Проверка_ДвоичныеДанные(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура YandexDisk_ПолучитьСписокФайлов(ПараметрыФункции)

    Токен            = ПараметрыФункции["YandexDisk_Token"];
    Количество       = 2;
    СмещениеОтНачала = 1;
    ОтборПоТипу      = "image";

    Результат = OPI_YandexDisk.ПолучитьСписокФайлов(Токен, Количество, СмещениеОтНачала, ОтборПоТипу);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокФайлов", "YandexDisk");

    Проверка_ЯДискСписокФайлов(Результат, Количество, СмещениеОтНачала);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура YandexDisk_ПереместитьОбъект(ПараметрыФункции)

    Токен     = ПараметрыФункции["YandexDisk_Token"];
    Оригинал  = ПараметрыФункции["YandexDisk_OriginalFilePath"];
    Путь      = "/" + Строка(Новый УникальныйИдентификатор) + ".png";

    Результат = OPI_YandexDisk.ПереместитьОбъект(Токен, Оригинал, Путь, Истина);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереместитьОбъект", "YandexDisk");

    Проверка_ЯДискПуть(Результат, Путь);

    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("YandexDisk_NewFilePath", Путь);
    ПараметрыФункции.Вставить("YandexDisk_NewFilePath", Путь);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура YandexDisk_ПолучитьСписокОпубликованныхОбъектов(ПараметрыФункции)

    Токен             = ПараметрыФункции["YandexDisk_Token"];
    Количество        = 2;
    СмещениеОтНачала  = 1;

    Результат = OPI_YandexDisk.ПолучитьСписокОпубликованныхОбъектов(Токен, Количество, СмещениеОтНачала);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокОпубликованныхОбъектов", "YandexDisk");

    Проверка_ЯДискСписокФайлов(Результат, Количество, СмещениеОтНачала);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура YandexDisk_ОпубликоватьОбъект(ПараметрыФункции)

    Токен  = ПараметрыФункции["YandexDisk_Token"];
    Путь   = ПараметрыФункции["YandexDisk_OriginalFilePath"];

    Результат = OPI_YandexDisk.ОпубликоватьОбъект(Токен, Путь);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОпубликоватьОбъект", "YandexDisk");

    Проверка_ЯДискПуть(Результат, Путь, Истина);

    URL = Результат["public_url"];
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("YandexDisk_PublicURL", URL);
    ПараметрыФункции.Вставить("YandexDisk_PublicURL", URL);

КонецПроцедуры

Процедура YandexDisk_ПолучитьСсылкуСкачиванияПубличногоОбъекта(ПараметрыФункции)

    Токен  = ПараметрыФункции["YandexDisk_Token"];
    URL    = ПараметрыФункции["YandexDisk_PublicURL"];

    Результат  = OPI_YandexDisk.ПолучитьСсылкуСкачиванияПубличногоОбъекта(Токен, URL);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСсылкуСкачиванияПубличногоОбъекта", "YandexDisk");

    Проверка_ЯДискСсылка(Результат);

КонецПроцедуры

Процедура YandexDisk_ПолучитьПубличныйОбъект(ПараметрыФункции)

    Токен  = ПараметрыФункции["YandexDisk_Token"];
    URL    = ПараметрыФункции["YandexDisk_PublicURL"];

    Результат   = OPI_YandexDisk.ПолучитьПубличныйОбъект(Токен, URL);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьПубличныйОбъект");

    Проверка_ЯДискПуть(Результат, "", Истина);

КонецПроцедуры

Процедура YandexDisk_СохранитьПубличныйОбъектНаДиск(ПараметрыФункции)

    Токен  = ПараметрыФункции["YandexDisk_Token"];
    URL    = ПараметрыФункции["YandexDisk_PublicURL"];

    Результат   = OPI_YandexDisk.СохранитьПубличныйОбъектНаДиск(Токен, URL);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СохранитьПубличныйОбъектНаДиск");

    Проверка_ЯДискПуть(Результат, "", Ложь);

КонецПроцедуры

Процедура YandexDisk_ОтменитьПубликациюОбъекта(ПараметрыФункции)

    Токен  = ПараметрыФункции["YandexDisk_Token"];
    Путь   = ПараметрыФункции["YandexDisk_OriginalFilePath"];

    Результат = OPI_YandexDisk.ОтменитьПубликациюОбъекта(Токен, Путь);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтменитьПубликациюОбъекта", "YandexDisk");

    Проверка_ЯДискПуть(Результат, Путь, Ложь);

КонецПроцедуры

#КонецОбласти

#Область VKTeams

Процедура VKTeams_ПроверитьТокен(ПараметрыФункции)

    Токен        = ПараметрыФункции["VkTeams_Token"];
    Результат    = OPI_VKTeams.ПроверитьТокен(Токен);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПроверитьТокен", "VkTeams");

    Проверка_ВКТПользователь(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура VKTeams_ПолучитьСобытия(ПараметрыФункции)

    Токен        = ПараметрыФункции["VkTeams_Token"];
    IDПоследнего = 0;

    Для Н = 1 По 5 Цикл // В реальной работе - бесконечный цикл

        Результат = OPI_VKTeams.ПолучитьСобытия(Токен, IDПоследнего, 3);

        OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСобытия", "VkTeams");

        Проверка_ВКТСобытия(Результат); // SKIP

        События   = Результат["events"];

        // Обработка событий...

        Если Не События.Количество() = 0 Тогда

            IDПоследнего = События[События.ВГраница()]["eventId"];

        КонецЕсли;

    КонецЦикла;

    // END

    OPI_Инструменты.Пауза(3);

КонецПроцедуры

Процедура VKTeams_ОтправитьТекстовоеСообщение(ПараметрыФункции)

    Токен     = ПараметрыФункции["VkTeams_Token"];
    IDЧата    = ПараметрыФункции["VkTeams_ChatID"];
    Текст     = "Текст сообщения";

    Результат = OPI_VKTeams.ОтправитьТекстовоеСообщение(Токен, IDЧата, Текст);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьТекстовоеСообщение (простое)", "VkTeams");

    Проверка_ВКТСообщение(Результат); // SKIP

    IDЧата        = ПараметрыФункции["VkTeams_ChatID2"];
    IDЦитируемого = ПараметрыФункции["VkTeams_MessageID"];
    Текст         = "<b>Полужирный текст сообщения</b>";
    Разметка      = "HTML";

    Клавиатура         = Новый Массив;
    МассивСтрокиКнопок = Новый Массив;

    МассивСтрокиКнопок.Добавить(OPI_VKTeams.СформироватьКнопкуДействия("Кнопка1", "НажатиеКнопки1", , "attention"));

    МассивСтрокиКнопок.Добавить(OPI_VKTeams.СформироватьКнопкуДействия("Кнопка2", , "https://openintegrations.dev"));

    Клавиатура.Добавить(МассивСтрокиКнопок);
    Клавиатура.Добавить(МассивСтрокиКнопок);

    Результат = OPI_VKTeams.ОтправитьТекстовоеСообщение(Токен, IDЧата, Текст, IDЦитируемого, Клавиатура, Разметка);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьТекстовоеСообщение", "VkTeams");

    Проверка_ВКТСообщение(Результат);

    IDСообщения = Результат["msgId"];
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("VkTeams_MessageID", IDСообщения);
    ПараметрыФункции.Вставить("VkTeams_MessageID", IDСообщения);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура VKTeams_ПереслатьСообщение(ПараметрыФункции)

    Токен           = ПараметрыФункции["VkTeams_Token"];
    IDЧата          = ПараметрыФункции["VkTeams_ChatID"];
    IDЧатаИсточника = ПараметрыФункции["VkTeams_ChatID2"];
    IDСообщения     = ПараметрыФункции["VkTeams_MessageID"];

    Результат = OPI_VKTeams.ПереслатьСообщение(Токен, IDСообщения, IDЧатаИсточника, IDЧата);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереслатьСообщение (простое)", "VkTeams");

    Проверка_ВКТСообщение(Результат); // SKIP

    Текст = "Дополнительный текст";

    Результат = OPI_VKTeams.ПереслатьСообщение(Токен, IDСообщения, IDЧатаИсточника, IDЧата, Текст);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереслатьСообщение", "VkTeams");

    Проверка_ВКТСообщение(Результат);

КонецПроцедуры

Процедура VKTeams_ОтправитьФайл(ПараметрыФункции)

    Токен    = ПараметрыФункции["VkTeams_Token"];
    IDЧата   = ПараметрыФункции["VkTeams_ChatID"];
    Текст    = "Подпись к файлу";

    Файл     = ПараметрыФункции["Document"];        // URL
    ФайлПуть = ПолучитьИмяВременногоФайла("docx");  // Путь

    КопироватьФайл(Файл, ФайлПуть);

    ФайлДД   = Новый ДвоичныеДанные(ФайлПуть);      // Двоичные

    Результат = OPI_VKTeams.ОтправитьФайл(Токен, IDЧата, Файл);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьФайл (URL)", "VkTeams");

    Проверка_ВКТСообщение(Результат); // SKIP

    Результат = OPI_VKTeams.ОтправитьФайл(Токен, IDЧата, ФайлПуть, Текст);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьФайл (Путь)", "VkTeams");

    Проверка_ВКТСообщение(Результат); // SKIP

    Результат = OPI_VKTeams.ОтправитьФайл(Токен, IDЧата, ФайлДД, Текст, "ВажныйДокумент.docx");

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьФайл", "VkTeams");

    Проверка_ВКТСообщение(Результат);

    УдалитьФайлы(ФайлПуть);

    IDФайла = Результат["fileId"];
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("VkTeams_FileID", IDФайла);
    ПараметрыФункции.Вставить("VkTeams_FileID", IDФайла);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура VKTeams_ПереслатьФайл(ПараметрыФункции)

    Токен    = ПараметрыФункции["VkTeams_Token"];
    IDЧата   = ПараметрыФункции["VkTeams_ChatID"];
    IDФайла  = ПараметрыФункции["VkTeams_FileID"];
    Текст    = "Подпись к файлу";

    Результат = OPI_VKTeams.ПереслатьФайл(Токен, IDЧата, IDФайла, Текст, "ТотЖеДокумент.docx");

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереслатьФайл", "VkTeams");

    Проверка_ВКТСообщение(Результат);

КонецПроцедуры

Процедура VKTeams_ПолучитьИнформациюОФайле(ПараметрыФункции)

    Токен    = ПараметрыФункции["VkTeams_Token"];
    IDФайла  = ПараметрыФункции["VkTeams_FileID"];

    Результат = OPI_VKTeams.ПолучитьИнформациюОФайле(Токен, IDФайла);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюОФайле", "VkTeams");

    Проверка_ВКТФайл(Результат);

КонецПроцедуры

Процедура VKTeams_ИзменитьТекстСообщения(ПараметрыФункции)

    Токен       = ПараметрыФункции["VkTeams_Token"];
    IDЧата      = ПараметрыФункции["VkTeams_ChatID2"];
    IDСообщения = ПараметрыФункции["VkTeams_MessageID"];
    Текст       = "Новый текст сообщения";

    Результат = OPI_VKTeams.ИзменитьТекстСообщения(Токен, IDЧата, IDСообщения, Текст);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьТекстСообщения (простое)", "VkTeams");

    Проверка_ВКТИстина(Результат); // SKIP

    Текст         = "<b>Новый полужирный текст сообщения</b>";
    Разметка      = "HTML";

    Результат = OPI_VKTeams.ИзменитьТекстСообщения(Токен, IDЧата, IDСообщения, Текст, Разметка);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьТекстСообщения", "VkTeams");

    Проверка_ВКТИстина(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура VKTeams_УдалитьСообщение(ПараметрыФункции)

    Токен       = ПараметрыФункции["VkTeams_Token"];
    IDЧата      = ПараметрыФункции["VkTeams_ChatID2"];
    IDСообщения = ПараметрыФункции["VkTeams_MessageID"];

    Результат = OPI_VKTeams.УдалитьСообщение(Токен, IDЧата, IDСообщения);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСообщение", "VkTeams");

    Проверка_ВКТИстина(Результат);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура VKTeams_ОтправитьГолосовоеСообщение(ПараметрыФункции)

    Токен         = ПараметрыФункции["VkTeams_Token"];
    IDЧата        = ПараметрыФункции["VkTeams_ChatID2"];
    IDЦитируемого = ПараметрыФункции["VkTeams_MessageID"];
    Текст         = "Подпись к файлу";

    Файл     = ПараметрыФункции["Audio2"]  ;        // URL
    ФайлПуть = ПолучитьИмяВременногоФайла("m4a");   // Путь

    КопироватьФайл(Файл, ФайлПуть);

    ФайлДД   = Новый ДвоичныеДанные(ФайлПуть);      // Двоичные

    Результат = OPI_VKTeams.ОтправитьГолосовоеСообщение(Токен, IDЧата, Файл);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьГолосовоеСообщение (URL)", "VkTeams");

    Проверка_ВКТСообщение(Результат); // SKIP

    Результат = OPI_VKTeams.ОтправитьГолосовоеСообщение(Токен, IDЧата, ФайлПуть, ,IDЦитируемого);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьГолосовоеСообщение (Путь)", "VkTeams");

    Проверка_ВКТСообщение(Результат); // SKIP

    Результат = OPI_VKTeams.ОтправитьГолосовоеСообщение(Токен, IDЧата, ФайлДД);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьГолосовоеСообщение", "VkTeams");

    Проверка_ВКТСообщение(Результат);

    УдалитьФайлы(ФайлПуть);

    IDФайла = Результат["fileId"];
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("VkTeams_VoiceID", IDФайла);
    ПараметрыФункции.Вставить("VkTeams_VoiceID", IDФайла);

    OPI_Инструменты.Пауза(5);

КонецПроцедуры

Процедура VKTeams_ПереслатьГолосовоеСообщение(ПараметрыФункции)

    Токен    = ПараметрыФункции["VkTeams_Token"];
    IDЧата   = ПараметрыФункции["VkTeams_ChatID"];
    IDФайла  = ПараметрыФункции["VkTeams_VoiceID"];

    Результат = OPI_VKTeams.ПереслатьГолосовоеСообщение(Токен, IDЧата, IDФайла);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереслатьГолосовоеСообщение", "VkTeams");

    Проверка_ВКТСообщение(Результат);

КонецПроцедуры

Процедура VKTeams_ИсключитьПользователейЧата(ПараметрыФункции)

    Токен        = ПараметрыФункции["VkTeams_Token"];
    IDЧата       = ПараметрыФункции["VkTeams_ChatID2"];
    Пользователь = 1011987091;

    Результат = OPI_VKTeams.ИсключитьПользователейЧата(Токен, IDЧата, Пользователь);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИсключитьПользователейЧата", "VkTeams");

    Проверка_ВКТИстина(Результат);

КонецПроцедуры

Процедура VKTeams_ИзменитьАватарЧата(ПараметрыФункции)

    Токен    = ПараметрыФункции["VkTeams_Token"];
    IDЧата   = ПараметрыФункции["VkTeams_ChatID"];

    Файл     = ПараметрыФункции["Picture3"];        // URL
    ФайлПуть = ПолучитьИмяВременногоФайла("png");   // Путь

    КопироватьФайл(Файл, ФайлПуть);

    ФайлДД   = Новый ДвоичныеДанные(ФайлПуть);      // Двоичные

    Результат = OPI_VKTeams.ИзменитьАватарЧата(Токен, IDЧата, Файл);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьАватарЧата (URL)", "VkTeams");

    Проверка_ВКТИстина(Результат); // SKIP

    Результат = OPI_VKTeams.ИзменитьАватарЧата(Токен, IDЧата, ФайлПуть);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьАватарЧата (Путь)", "VkTeams");

    Проверка_ВКТИстина(Результат); // SKIP

    Результат = OPI_VKTeams.ИзменитьАватарЧата(Токен, IDЧата, ФайлДД);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьАватарЧата", "VkTeams");

    Проверка_ВКТИстина(Результат);

    УдалитьФайлы(ФайлПуть);

КонецПроцедуры

Процедура VKTeams_ПолучитьИнформациюОЧате(ПараметрыФункции)

    Токен    = ПараметрыФункции["VkTeams_Token"];
    IDЧата   = ПараметрыФункции["VkTeams_ChatID"];

    Результат = OPI_VKTeams.ПолучитьИнформациюОЧате(Токен, IDЧата);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюОЧате", "VkTeams");

    Проверка_ВКТЧат(Результат);

КонецПроцедуры

Процедура VKTeams_ПолучитьАдминистраторовЧата(ПараметрыФункции)

    Токен    = ПараметрыФункции["VkTeams_Token"];
    IDЧата   = ПараметрыФункции["VkTeams_ChatID"];

    Результат = OPI_VKTeams.ПолучитьАдминистраторовЧата(Токен, IDЧата);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьАдминистраторовЧата", "VkTeams");

    Проверка_ВКТСписок(Результат, "admins");

КонецПроцедуры

Процедура VKTeams_ПолучитьПользователейЧата(ПараметрыФункции)

    Токен    = ПараметрыФункции["VkTeams_Token"];
    IDЧата   = ПараметрыФункции["VkTeams_ChatID"];

    Результат = OPI_VKTeams.ПолучитьПользователейЧата(Токен, IDЧата);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьПользователейЧата", "VkTeams");

    Проверка_ВКТСписок(Результат, "members");

КонецПроцедуры

Процедура VKTeams_ПолучитьЗаблокированныхПользователейЧата(ПараметрыФункции)

    Токен    = ПараметрыФункции["VkTeams_Token"];
    IDЧата   = ПараметрыФункции["VkTeams_ChatID"];

    Результат = OPI_VKTeams.ПолучитьЗаблокированныхПользователейЧата(Токен, IDЧата);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗаблокированныхПользователейЧата", "VkTeams");

    Проверка_ВКТСписок(Результат, "users");

КонецПроцедуры

Процедура VKTeams_ПолучитьЗапросыВступленияЧата(ПараметрыФункции)

    Токен    = ПараметрыФункции["VkTeams_Token"];
    IDЧата   = ПараметрыФункции["VkTeams_ChatID"];

    Результат = OPI_VKTeams.ПолучитьЗапросыВступленияЧата(Токен, IDЧата);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗапросыВступленияЧата", "VkTeams");

    Проверка_ВКТСписок(Результат, "users");

КонецПроцедуры

Процедура VKTeams_ЗаблокироватьПользователяЧата(ПараметрыФункции)

    Токен        = ПараметрыФункции["VkTeams_Token"];
    IDЧата       = ПараметрыФункции["VkTeams_ChatID2"];
    Пользователь = 1011987091;

    Результат = OPI_VKTeams.ЗаблокироватьПользователяЧата(Токен, IDЧата, Пользователь, Истина);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗаблокироватьПользователяЧата", "VkTeams");

    Проверка_ВКТИстина(Результат);

КонецПроцедуры

Процедура VKTeams_РазблокироватьПользователяЧата(ПараметрыФункции)

    Токен        = ПараметрыФункции["VkTeams_Token"];
    IDЧата       = ПараметрыФункции["VkTeams_ChatID2"];
    Пользователь = 1011987091;

    Результат = OPI_VKTeams.РазблокироватьПользователяЧата(Токен, IDЧата, Пользователь);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "РазблокироватьПользователяЧата", "VkTeams");

    Проверка_ВКТИстина(Результат);

КонецПроцедуры

Процедура VKTeams_ЗакрепитьСообщение(ПараметрыФункции)

    Токен        = ПараметрыФункции["VkTeams_Token"];
    IDЧата       = ПараметрыФункции["VkTeams_ChatID2"];
    IDСообщения  = ПараметрыФункции["VkTeams_MessageID"];

    Результат = OPI_VKTeams.ЗакрепитьСообщение(Токен, IDЧата, IDСообщения);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗакрепитьСообщение", "VkTeams");

    Проверка_ВКТИстина(Результат);

КонецПроцедуры

Процедура VKTeams_ОткрепитьСообщение(ПараметрыФункции)

    Токен        = ПараметрыФункции["VkTeams_Token"];
    IDЧата       = ПараметрыФункции["VkTeams_ChatID2"];
    IDСообщения  = ПараметрыФункции["VkTeams_MessageID"];

    Результат = OPI_VKTeams.ОткрепитьСообщение(Токен, IDЧата, IDСообщения);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОткрепитьСообщение", "VkTeams");

    Проверка_ВКТИстина(Результат);

КонецПроцедуры

Процедура VKTeams_ОдобритьЗаявкуНаВступление(ПараметрыФункции)

    Токен        = ПараметрыФункции["VkTeams_Token"];
    IDЧата       = ПараметрыФункции["VkTeams_ChatID2"];
    Пользователь = 1011987091;

    Результат = OPI_VKTeams.ОдобритьЗаявкуНаВступление(Токен, IDЧата, Пользователь);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОдобритьЗаявкуНаВступление (один)", "VkTeams");

    Проверка_ВКТЗаявки(Результат); // SKIP

    Результат = OPI_VKTeams.ОдобритьЗаявкуНаВступление(Токен, IDЧата);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОдобритьЗаявкуНаВступление", "VkTeams");

    Проверка_ВКТЗаявки(Результат);

КонецПроцедуры

Процедура VKTeams_ОтклонитьЗаявкуНаВступление(ПараметрыФункции)

    Токен        = ПараметрыФункции["VkTeams_Token"];
    IDЧата       = ПараметрыФункции["VkTeams_ChatID2"];
    Пользователь = 1011987091;

    Результат = OPI_VKTeams.ОтклонитьЗаявкуНаВступление(Токен, IDЧата, Пользователь);

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтклонитьЗаявкуНаВступление (один)", "VkTeams");

    Проверка_ВКТЗаявки(Результат); // SKIP

    Результат = OPI_VKTeams.ОтклонитьЗаявкуНаВступление(Токен, IDЧата);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтклонитьЗаявкуНаВступление", "VkTeams");

    Проверка_ВКТЗаявки(Результат);

КонецПроцедуры

Процедура VKTeams_УстановитьЗаголовокЧата(ПараметрыФункции)

    Токен   = ПараметрыФункции["VkTeams_Token"];
    IDЧата  = ПараметрыФункции["VkTeams_ChatID2"];
    Текст   = "Новый заголовок";

    Результат = OPI_VKTeams.УстановитьЗаголовокЧата(Токен, IDЧата, Текст);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УстановитьЗаголовокЧата", "VkTeams");

    Проверка_ВКТИстина(Результат);

КонецПроцедуры

Процедура VKTeams_УстановитьОписаниеЧата(ПараметрыФункции)

    Токен   = ПараметрыФункции["VkTeams_Token"];
    IDЧата  = ПараметрыФункции["VkTeams_ChatID2"];
    Текст   = "Новое описание";

    Результат = OPI_VKTeams.УстановитьОписаниеЧата(Токен, IDЧата, Текст);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УстановитьОписаниеЧата", "VkTeams");

    Проверка_ВКТИстина(Результат);

КонецПроцедуры

Процедура VKTeams_УстановитьПравилаЧата(ПараметрыФункции)

    Токен   = ПараметрыФункции["VkTeams_Token"];
    IDЧата  = ПараметрыФункции["VkTeams_ChatID2"];
    Текст   = "Текст новых правил";

    Результат = OPI_VKTeams.УстановитьПравилаЧата(Токен, IDЧата, Текст);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УстановитьПравилаЧата", "VkTeams");

    Проверка_ВКТИстина(Результат);

КонецПроцедуры

Процедура VKTeams_ОтветитьНаСобытиеКлавиатуры(ПараметрыФункции)

    Токен        = ПараметрыФункции["VkTeams_Token"];
    IDПоследнего = 0;

    Для Н = 1 По 5 Цикл

        Результат = OPI_VKTeams.ПолучитьСобытия(Токен, IDПоследнего, 3);
        События   = Результат["events"];

        Если Не События.Количество() = 0 Тогда

            Для Каждого Событие Из События Цикл

                ДанныеСобытия = Событие["payload"];

                Если ДанныеСобытия["callbackData"] = "НажатиеКнопки1" Тогда

                    IDСобытия = ДанныеСобытия["queryId"];
                    Результат = OPI_VKTeams.ОтветитьНаСобытиеКлавиатуры(Токен, IDСобытия, "Получено!");

                    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтветитьНаСобытиеКлавиатуры", "VkTeams");

                    Проверка_ВКТИстина(Результат); // SKIP

                КонецЕсли;

            КонецЦикла;

            IDПоследнего = События[События.ВГраница()]["eventId"];

        КонецЕсли;

    КонецЦикла;

    // END

    OPI_Инструменты.Пауза(3);

КонецПроцедуры

Процедура VKTeams_СформироватьКнопкуДействия(ПараметрыФункции)

    Клавиатура         = Новый Массив;
    МассивСтрокиКнопок = Новый Массив;

    МассивСтрокиКнопок.Добавить(OPI_VKTeams.СформироватьКнопкуДействия("Кнопка1", "НажатиеКнопки1", , "attention"));

    МассивСтрокиКнопок.Добавить(OPI_VKTeams.СформироватьКнопкуДействия("Кнопка2", , "https://openintegrations.dev"));

    Клавиатура.Добавить(МассивСтрокиКнопок);
    Клавиатура.Добавить(МассивСтрокиКнопок);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Клавиатура, "СформироватьКнопкуДействия", "VkTeams");

КонецПроцедуры

#КонецОбласти

#Область Ozon

Процедура Ozon_ПолучитьДеревоКатегорийИТиповТоваров(ПараметрыФункции)

    IDКлиента    = ПараметрыФункции["Ozon_ClientID"];
    КлючAPI      = ПараметрыФункции["Ozon_ApiKey"];

    Результат = OPI_Ozon.ПолучитьДеревоКатегорийИТиповТоваров(IDКлиента, КлючAPI, "EN");

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьДеревоКатегорийИТиповТоваров (EN)", "Ozon");

    Проверка_ОзонСписокКатегорий(Результат); // SKIP

    Результат = OPI_Ozon.ПолучитьДеревоКатегорийИТиповТоваров(IDКлиента, КлючAPI);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьДеревоКатегорийИТиповТоваров", "Ozon");

    Проверка_ОзонСписокКатегорий(Результат);

КонецПроцедуры

Процедура Ozon_ПолучитьХарактеристикиКатегории(ПараметрыФункции)

    IDКлиента      = ПараметрыФункции["Ozon_ClientID"];
    КлючAPI        = ПараметрыФункции["Ozon_ApiKey"];
    IDКатегории    = 17029016;
    IDТипа         = 970778135;

    Результат = OPI_Ozon.ПолучитьХарактеристикиКатегории(IDКлиента, КлючAPI, IDКатегории, IDТипа);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьХарактеристикиКатегории", "Ozon");

    Проверка_ОзонСписокХарактеристик(Результат);

КонецПроцедуры

Процедура Ozon_ПолучитьЗначенияХарактеристики(ПараметрыФункции)

    IDКлиента        = ПараметрыФункции["Ozon_ClientID"];
    КлючAPI          = ПараметрыФункции["Ozon_ApiKey"];
    IDКатегории      = 17054869;
    IDТипа           = 97311;
    IDХарактеристики = 85;

    Результат = OPI_Ozon.ПолучитьЗначенияХарактеристики(IDКлиента, КлючAPI, IDКатегории, IDТипа, IDХарактеристики);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗначенияХарактеристики", "Ozon");

    Проверка_ОзонСписокЗначенийХарактеристики(Результат);

КонецПроцедуры

Процедура Ozon_НайтиЗначенияХарактеристики(ПараметрыФункции)

    IDКлиента        = ПараметрыФункции["Ozon_ClientID"];
    КлючAPI          = ПараметрыФункции["Ozon_ApiKey"];
    IDКатегории      = 17054869;
    IDТипа           = 97311;
    IDХарактеристики = 85;
    Значение         = "Sunshine";

    Результат = OPI_Ozon.НайтиЗначенияХарактеристики(IDКлиента
        , КлючAPI
        , IDКатегории
        , IDТипа
        , IDХарактеристики
        , Значение);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "НайтиЗначенияХарактеристики", "Ozon");

    Проверка_ОзонСписокЗначенийХарактеристики(Результат);

КонецПроцедуры

Процедура Ozon_ПолучитьСтруктуруТовара(ПараметрыФункции)

    Результат = OPI_Ozon.ПолучитьСтруктуруТовара();

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруТовара", "Ozon");

    Проверка_Структура(Результат);

КонецПроцедуры

Процедура Ozon_СоздатьОбновитьТовары(ПараметрыФункции)

    IDКлиента = ПараметрыФункции["Ozon_ClientID"];
    КлючAPI   = ПараметрыФункции["Ozon_ApiKey"];
    Картинка1 = ПараметрыФункции["Picture"];
    Картинка2 = ПараметрыФункции["Picture2"];
    Видео     = "https://rutube.ru/video/c6cc4d620b1d4338901770a44b3e82f4/";

    МассивКартинок = Новый Массив;
    МассивКартинок.Добавить(Картинка1);
    МассивКартинок.Добавить(Картинка2);

    // Стандартные реквизиты

    СтруктураТовара = Новый Структура;
    СтруктураТовара.Вставить("description_category_id", 17028922);
    СтруктураТовара.Вставить("name"                   , "Комплект защитных плёнок для X3 NFC. Темный хлопок");
    СтруктураТовара.Вставить("offer_id"               , "143210608");
    СтруктураТовара.Вставить("barcode"                , "112772873170");
    СтруктураТовара.Вставить("price"                  , "1000");
    СтруктураТовара.Вставить("old_price"              , "1100");
    СтруктураТовара.Вставить("vat"                    , "0.1");
    СтруктураТовара.Вставить("height"                 , 250);
    СтруктураТовара.Вставить("width"                  , 150);
    СтруктураТовара.Вставить("depth"                  , 10);
    СтруктураТовара.Вставить("dimension_unit"         , "mm");
    СтруктураТовара.Вставить("weight"                 , 100);
    СтруктураТовара.Вставить("weight_unit"            , "g");
    СтруктураТовара.Вставить("images"                 , МассивКартинок);

    // Видео

    OPI_Ozon.ДобавитьВидеоТовара(СтруктураТовара, Видео, "viedo1");

    // Атрибуты, индивидуальные для разных категорий

    АтрибутКатегории1 = Новый Структура("dictionary_value_id,value", 971082156, "Стойка для акустической системы");
    АтрибутКатегории2 = Новый Структура("dictionary_value_id,value", 5060050  , "Samsung");
    АтрибутКатегории3 = Новый Структура("dictionary_value_id,value", 61576    , "серый");
    АтрибутКатегории4 = Новый Структура("dictionary_value_id,value", 95911    , "Комплект защитных плёнок для X3 NFC. Темный хлопок");

    АтрибутКатегории5 = Новый Структура("value", "Комплект защитных плёнок для X3 NFC. Темный хлопок");


    OPI_Ozon.ДополнитьКомплексныйАтрибут(СтруктураТовара, 5076 , 0, АтрибутКатегории1);
    OPI_Ozon.ДополнитьКомплексныйАтрибут(СтруктураТовара, 85   , 0, АтрибутКатегории2);
    OPI_Ozon.ДополнитьКомплексныйАтрибут(СтруктураТовара, 10096, 0, АтрибутКатегории3);
    OPI_Ozon.ДополнитьКомплексныйАтрибут(СтруктураТовара, 8229 , 0, АтрибутКатегории4);
    OPI_Ozon.ДополнитьКомплексныйАтрибут(СтруктураТовара, 9048 , 0, АтрибутКатегории5);

    Результат = OPI_Ozon.СоздатьОбновитьТовары(IDКлиента, КлючAPI, СтруктураТовара);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруТовара", "Ozon");

    Проверка_ОзонЗаданиеЗагрузки(Результат);

    IDЗадания = Результат["result"]["task_id"];
    OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Ozon_TaskID", IDЗадания);
    ПараметрыФункции.Вставить("Ozon_TaskID", IDЗадания);

    OPI_Инструменты.Пауза(60);

КонецПроцедуры

Процедура Ozon_ДобавитьВидеоТовара(ПараметрыФункции)

    Видео     = "https://rutube.ru/video/c6cc4d620b1d4338901770a44b3e82f4/";

    СтруктураТовара = Новый Структура;
    СтруктураТовара.Вставить("description_category_id", 17028922);
    СтруктураТовара.Вставить("name"                   , "Комплект защитных плёнок для X3 NFC. Темный хлопок");
    СтруктураТовара.Вставить("offer_id"               , "143210608");
    СтруктураТовара.Вставить("barcode"                , "112772873170");
    СтруктураТовара.Вставить("price"                  , "1000");
    СтруктураТовара.Вставить("old_price"              , "1100");
    СтруктураТовара.Вставить("vat"                    , "0.1");
    СтруктураТовара.Вставить("height"                 , 250);
    СтруктураТовара.Вставить("width"                  , 150);
    СтруктураТовара.Вставить("depth"                  , 10);
    СтруктураТовара.Вставить("dimension_unit"         , "mm");
    СтруктураТовара.Вставить("weight"                 , 100);
    СтруктураТовара.Вставить("weight_unit"            , "g");

    // Видео

    OPI_Ozon.ДобавитьВидеоТовара(СтруктураТовара, Видео, "viedo1");

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(СтруктураТовара, "ДобавитьВидеоТовара", "Ozon");

    Проверка_Структура(СтруктураТовара);

КонецПроцедуры

Процедура Ozon_ДобавитьВидеообложкуТовара(ПараметрыФункции)

    Видео     = "https://rutube.ru/video/c6cc4d620b1d4338901770a44b3e82f4/";

    СтруктураТовара = Новый Структура;
    СтруктураТовара.Вставить("description_category_id", 17028922);
    СтруктураТовара.Вставить("name"                   , "Комплект защитных плёнок для X3 NFC. Темный хлопок");
    СтруктураТовара.Вставить("offer_id"               , "143210608");
    СтруктураТовара.Вставить("barcode"                , "112772873170");
    СтруктураТовара.Вставить("price"                  , "1000");
    СтруктураТовара.Вставить("old_price"              , "1100");
    СтруктураТовара.Вставить("vat"                    , "0.1");
    СтруктураТовара.Вставить("height"                 , 250);
    СтруктураТовара.Вставить("width"                  , 150);
    СтруктураТовара.Вставить("depth"                  , 10);
    СтруктураТовара.Вставить("dimension_unit"         , "mm");
    СтруктураТовара.Вставить("weight"                 , 100);
    СтруктураТовара.Вставить("weight_unit"            , "g");

    // Видеообложка

    OPI_Ozon.ДобавитьВидеообложкуТовара(СтруктураТовара, Видео);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(СтруктураТовара, "ДобавитьВидеообложкуТовара", "Ozon");

    Проверка_Структура(СтруктураТовара);

КонецПроцедуры

Процедура Ozon_ДополнитьКомплексныйАтрибут(ПараметрыФункции)

    СтруктураТовара = Новый Структура;
    СтруктураТовара.Вставить("description_category_id", 17028922);
    СтруктураТовара.Вставить("name"                   , "Комплект защитных плёнок для X3 NFC. Темный хлопок");
    СтруктураТовара.Вставить("offer_id"               , "143210608");
    СтруктураТовара.Вставить("barcode"                , "112772873170");
    СтруктураТовара.Вставить("price"                  , "1000");
    СтруктураТовара.Вставить("old_price"              , "1100");
    СтруктураТовара.Вставить("vat"                    , "0.1");
    СтруктураТовара.Вставить("height"                 , 250);
    СтруктураТовара.Вставить("width"                  , 150);
    СтруктураТовара.Вставить("depth"                  , 10);
    СтруктураТовара.Вставить("dimension_unit"         , "mm");
    СтруктураТовара.Вставить("weight"                 , 100);
    СтруктураТовара.Вставить("weight_unit"            , "g");

    АтрибутКатегории1 = Новый Структура("dictionary_value_id,value", 971082156, "Стойка для акустической системы");

    АтрибутКатегории2 = Новый Структура("value", "Комплект защитных плёнок для X3 NFC. Темный хлопок");

    OPI_Ozon.ДополнитьКомплексныйАтрибут(СтруктураТовара, 5076 , 0, АтрибутКатегории1);
    OPI_Ozon.ДополнитьКомплексныйАтрибут(СтруктураТовара, 9048 , 0, АтрибутКатегории2);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(СтруктураТовара, "ДополнитьКомплексныйАтрибут", "Ozon");

    Проверка_Структура(СтруктураТовара);

КонецПроцедуры

Процедура Ozon_ПолучитьСтатусДобавленияТовара(ПараметрыФункции)

    IDКлиента  = ПараметрыФункции["Ozon_ClientID"];
    КлючAPI    = ПараметрыФункции["Ozon_ApiKey"];
    IDЗадачи   = ПараметрыФункции["Ozon_TaskID"];

    Результат  = OPI_Ozon.ПолучитьСтатусДобавленияТовара(IDКлиента, КлючAPI, IDЗадачи);

    // END

    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтатусДобавленияТовара", "Ozon");

    Проверка_ОзонНовыеТовары(Результат);

КонецПроцедуры

#КонецОбласти

#КонецОбласти

#КонецОбласти
