mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2024-12-12 11:15:07 +02:00
Преобразование OPI -> OInt (workflow)
This commit is contained in:
parent
5bf236d90a
commit
86c308b5f1
@ -234,22 +234,33 @@
|
|||||||
// Строка, Произвольный, ДвоичныеДанные, HTTPОтвет, Неопределено - Ответ сервера Yandex
|
// Строка, Произвольный, ДвоичныеДанные, HTTPОтвет, Неопределено - Ответ сервера Yandex
|
||||||
Функция ПереместитьОбъект(Знач Токен, Знач Оригинал, Знач Путь, Знач Перезаписывать = Ложь) Экспорт
|
Функция ПереместитьОбъект(Знач Токен, Знач Оригинал, Знач Путь, Знач Перезаписывать = Ложь) Экспорт
|
||||||
|
|
||||||
Заголовки = ЗаголовокАвторизации(Токен);
|
Попытка
|
||||||
URL = "https://cloud-api.yandex.net/v1/disk/resources/move";
|
|
||||||
Href = "href";
|
|
||||||
|
|
||||||
Параметры = Новый Структура;
|
Заголовки = ЗаголовокАвторизации(Токен);
|
||||||
Параметры.Вставить("from" , Оригинал);
|
URL = "https://cloud-api.yandex.net/v1/disk/resources/move";
|
||||||
Параметры.Вставить("path" , Путь);
|
Href = "href";
|
||||||
Параметры.Вставить("overwrite" , Перезаписывать);
|
Ответ = "";
|
||||||
|
Этап = "";
|
||||||
|
|
||||||
Параметры = OPI_Инструменты.ПараметрыЗапросаВСтроку(Параметры);
|
Параметры = Новый Структура;
|
||||||
Ответ = OPI_Инструменты.Post(URL + Параметры, , Заголовки, Ложь);
|
Параметры.Вставить("from" , Оригинал);
|
||||||
|
Параметры.Вставить("path" , Путь);
|
||||||
|
Параметры.Вставить("overwrite" , Перезаписывать);
|
||||||
|
|
||||||
URLОтвета = Ответ[Href];
|
Параметры = OPI_Инструменты.ПараметрыЗапросаВСтроку(Параметры);
|
||||||
Ответ = OPI_Инструменты.Get(URLОтвета, , Заголовки);
|
|
||||||
|
|
||||||
Возврат Ответ;
|
Этап = "POST запрос к " + URL;
|
||||||
|
Ответ = OPI_Инструменты.Post(URL + Параметры, , Заголовки, Ложь);
|
||||||
|
URLОтвета = Ответ[Href];
|
||||||
|
|
||||||
|
Этап = "GET запрос к " + Строка(URLОтвета);
|
||||||
|
Ответ = OPI_Инструменты.Get(URLОтвета, , Заголовки);
|
||||||
|
|
||||||
|
Возврат Ответ;
|
||||||
|
|
||||||
|
Исключение
|
||||||
|
ВызватьИсключение OPI_Инструменты.ИсключениеМногошаговойОперации(Этап, ОписаниеОшибки(), Ответ);
|
||||||
|
КонецПопытки;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
@ -94,89 +94,6 @@
|
|||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
Функция ПараметрыЗапросаВСоответствие(Знач СтрокаПараметров) Экспорт
|
|
||||||
|
|
||||||
СоответствиеВозврата = Новый Соответствие;
|
|
||||||
КоличествоЧастей = 2;
|
|
||||||
МассивПараметров = СтрРазделить(СтрокаПараметров, "&", Ложь);
|
|
||||||
|
|
||||||
Для Каждого Параметр Из МассивПараметров Цикл
|
|
||||||
|
|
||||||
МассивКлючЗначение = СтрРазделить(Параметр, "=");
|
|
||||||
|
|
||||||
Если МассивКлючЗначение.Количество() = КоличествоЧастей Тогда
|
|
||||||
СоответствиеВозврата.Вставить(МассивКлючЗначение[0], МассивКлючЗначение[1]);
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
КонецЦикла;
|
|
||||||
|
|
||||||
Возврат СоответствиеВозврата;
|
|
||||||
|
|
||||||
КонецФункции
|
|
||||||
|
|
||||||
Функция ПолучитьТекущуюДату() Экспорт
|
|
||||||
Возврат МестноеВремя(ТекущаяУниверсальнаяДата());
|
|
||||||
КонецФункции
|
|
||||||
|
|
||||||
Функция UNIXTime(Знач Дата) Экспорт
|
|
||||||
|
|
||||||
ОТД = Новый ОписаниеТипов("Дата");
|
|
||||||
Дата = ОТД.ПривестиЗначение(Дата);
|
|
||||||
|
|
||||||
Возврат Формат(Дата - Дата(1970, 1, 1, 1, 0, 0), "ЧЦ=10; ЧДЦ=0; ЧГ=0");
|
|
||||||
|
|
||||||
КонецФункции
|
|
||||||
|
|
||||||
Процедура ЗаменитьСпецСимволы(Текст) Экспорт
|
|
||||||
|
|
||||||
МассивСимволов = Новый Соответствие;
|
|
||||||
МассивСимволов.Вставить("<", "<");
|
|
||||||
МассивСимволов.Вставить(">", ">");
|
|
||||||
МассивСимволов.Вставить("&", "&");
|
|
||||||
МассивСимволов.Вставить("_", " ");
|
|
||||||
МассивСимволов.Вставить("[", "(");
|
|
||||||
МассивСимволов.Вставить("]", ")");
|
|
||||||
|
|
||||||
Для Каждого СимволМассива Из МассивСимволов Цикл
|
|
||||||
Текст = СтрЗаменить(Текст, СимволМассива.Ключ, СимволМассива.Значение);
|
|
||||||
КонецЦикла;
|
|
||||||
|
|
||||||
КонецПроцедуры
|
|
||||||
|
|
||||||
Процедура УдалитьПустыеПоляКоллекции(Коллекция) Экспорт
|
|
||||||
|
|
||||||
ТипКоллекции = ТипЗнч(Коллекция);
|
|
||||||
ВыходнаяКоллекция = Новый(ТипКоллекции);
|
|
||||||
|
|
||||||
Если ТипКоллекции = Тип("Соответствие") Или ТипКоллекции = Тип("Структура") Тогда
|
|
||||||
|
|
||||||
УдалитьПустыеКлючиЗначения(Коллекция, ВыходнаяКоллекция);
|
|
||||||
|
|
||||||
ИначеЕсли ТипКоллекции = Тип("Массив") Тогда
|
|
||||||
|
|
||||||
УдалитьПустыеЭлементыМассива(Коллекция, ВыходнаяКоллекция);
|
|
||||||
|
|
||||||
Иначе
|
|
||||||
|
|
||||||
ВыходнаяКоллекция = Коллекция;
|
|
||||||
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Коллекция = ВыходнаяКоллекция;
|
|
||||||
|
|
||||||
КонецПроцедуры
|
|
||||||
|
|
||||||
Процедура Пауза(Знач Секунды) Экспорт
|
|
||||||
|
|
||||||
Соединение = Новый HTTPСоединение("1C.ru", 11111, , , , Секунды);
|
|
||||||
Попытка
|
|
||||||
Соединение.Получить(Новый HTTPЗапрос(""));
|
|
||||||
Исключение
|
|
||||||
Возврат;
|
|
||||||
КонецПопытки;
|
|
||||||
|
|
||||||
КонецПроцедуры
|
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#Область Служебные
|
#Область Служебные
|
||||||
@ -256,11 +173,17 @@
|
|||||||
, Ложь
|
, Ложь
|
||||||
, Ложь);
|
, Ложь);
|
||||||
|
|
||||||
ЗаписьJSON = Новый ЗаписьJSON;
|
Попытка
|
||||||
ЗаписьJSON.УстановитьСтроку(ПараметрыJSON);
|
|
||||||
|
|
||||||
ЗаписатьJSON(ЗаписьJSON, Данные);
|
ЗаписьJSON = Новый ЗаписьJSON;
|
||||||
Возврат ЗаписьJSON.Закрыть();
|
ЗаписьJSON.УстановитьСтроку(ПараметрыJSON);
|
||||||
|
|
||||||
|
ЗаписатьJSON(ЗаписьJSON, Данные);
|
||||||
|
Возврат ЗаписьJSON.Закрыть();
|
||||||
|
|
||||||
|
Исключение
|
||||||
|
Возврат "НЕ JSON: " + Строка(Данные);
|
||||||
|
КонецПопытки;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
@ -280,6 +203,65 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ИсключениеМногошаговойОперации(Знач Этап, Знач ОписаниеОшибки, Знач ПоследнийОтвет = "") Экспорт
|
||||||
|
|
||||||
|
ТекстОшибки = "Ошибка на одном из шагов выполнения операции!";
|
||||||
|
ТекстОшибки = ТекстОшибки + Символы.ПС + "Промежуточный этап: " + Этап;
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(ПоследнийОтвет) Тогда
|
||||||
|
|
||||||
|
ТекстОшибки = ТекстОшибки + Символы.ПС + Символы.ПС + "Последний ответ: " + Символы.ПС;
|
||||||
|
|
||||||
|
Если ТипЗнч(ПоследнийОтвет) = Тип("Структура")
|
||||||
|
Или ТипЗнч(ПоследнийОтвет) = Тип("Соответствие") Тогда
|
||||||
|
|
||||||
|
ТекстОшибки = ТекстОшибки + JSONСтрокой(ПоследнийОтвет);
|
||||||
|
|
||||||
|
Иначе
|
||||||
|
ТекстОшибки = ТекстОшибки + ?(ЗначениеЗаполнено(ПоследнийОтвет), Строка(ПоследнийОтвет), "<отсутствует>");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ТекстОшибки = ТекстОшибки + Символы.ПС + Символы.ПС + "Описание ошибки: " + Символы.ПС + ОписаниеОшибки;
|
||||||
|
|
||||||
|
Возврат ТекстОшибки;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ПараметрыЗапросаВСоответствие(Знач СтрокаПараметров) Экспорт
|
||||||
|
|
||||||
|
СоответствиеВозврата = Новый Соответствие;
|
||||||
|
КоличествоЧастей = 2;
|
||||||
|
МассивПараметров = СтрРазделить(СтрокаПараметров, "&", Ложь);
|
||||||
|
|
||||||
|
Для Каждого Параметр Из МассивПараметров Цикл
|
||||||
|
|
||||||
|
МассивКлючЗначение = СтрРазделить(Параметр, "=");
|
||||||
|
|
||||||
|
Если МассивКлючЗначение.Количество() = КоличествоЧастей Тогда
|
||||||
|
СоответствиеВозврата.Вставить(МассивКлючЗначение[0], МассивКлючЗначение[1]);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Возврат СоответствиеВозврата;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ПолучитьТекущуюДату() Экспорт
|
||||||
|
Возврат МестноеВремя(ТекущаяУниверсальнаяДата());
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция UNIXTime(Знач Дата) Экспорт
|
||||||
|
|
||||||
|
ОТД = Новый ОписаниеТипов("Дата");
|
||||||
|
Дата = ОТД.ПривестиЗначение(Дата);
|
||||||
|
|
||||||
|
Возврат Формат(Дата - Дата(1970, 1, 1, 1, 0, 0), "ЧЦ=10; ЧДЦ=0; ЧГ=0");
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
Процедура ЗначениеВМассив(Значение) Экспорт
|
Процедура ЗначениеВМассив(Значение) Экспорт
|
||||||
|
|
||||||
Значение_ = Новый Массив;
|
Значение_ = Новый Массив;
|
||||||
@ -288,6 +270,57 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура ЗаменитьСпецСимволы(Текст) Экспорт
|
||||||
|
|
||||||
|
МассивСимволов = Новый Соответствие;
|
||||||
|
МассивСимволов.Вставить("<", "<");
|
||||||
|
МассивСимволов.Вставить(">", ">");
|
||||||
|
МассивСимволов.Вставить("&", "&");
|
||||||
|
МассивСимволов.Вставить("_", " ");
|
||||||
|
МассивСимволов.Вставить("[", "(");
|
||||||
|
МассивСимволов.Вставить("]", ")");
|
||||||
|
|
||||||
|
Для Каждого СимволМассива Из МассивСимволов Цикл
|
||||||
|
Текст = СтрЗаменить(Текст, СимволМассива.Ключ, СимволМассива.Значение);
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура УдалитьПустыеПоляКоллекции(Коллекция) Экспорт
|
||||||
|
|
||||||
|
ТипКоллекции = ТипЗнч(Коллекция);
|
||||||
|
ВыходнаяКоллекция = Новый(ТипКоллекции);
|
||||||
|
|
||||||
|
Если ТипКоллекции = Тип("Соответствие") Или ТипКоллекции = Тип("Структура") Тогда
|
||||||
|
|
||||||
|
УдалитьПустыеКлючиЗначения(Коллекция, ВыходнаяКоллекция);
|
||||||
|
|
||||||
|
ИначеЕсли ТипКоллекции = Тип("Массив") Тогда
|
||||||
|
|
||||||
|
УдалитьПустыеЭлементыМассива(Коллекция, ВыходнаяКоллекция);
|
||||||
|
|
||||||
|
Иначе
|
||||||
|
|
||||||
|
ВыходнаяКоллекция = Коллекция;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Коллекция = ВыходнаяКоллекция;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура Пауза(Знач Секунды) Экспорт
|
||||||
|
|
||||||
|
Соединение = Новый HTTPСоединение("1C.ru", 11111, , , , Секунды);
|
||||||
|
Попытка
|
||||||
|
Соединение.Получить(Новый HTTPЗапрос(""));
|
||||||
|
Исключение
|
||||||
|
Возврат;
|
||||||
|
КонецПопытки;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
Loading…
Reference in New Issue
Block a user