You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-08-13 20:05:19 +02:00
Преобразование OPI -> OInt (workflow)
This commit is contained in:
committed by
Vitaly the Alpaca (bot)
parent
395d4914a7
commit
849d659437
@@ -539,15 +539,13 @@
|
|||||||
СоответствиеФайла = Новый Соответствие;
|
СоответствиеФайла = Новый Соответствие;
|
||||||
|
|
||||||
Если ЗначениеЗаполнено(Файл) Тогда
|
Если ЗначениеЗаполнено(Файл) Тогда
|
||||||
|
|
||||||
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Файл);
|
РазмерЧасти = 268435457;
|
||||||
|
Размер = OPI_Инструменты.ПреобразоватьДанныеСПолучениемРазмера(Файл, РазмерЧасти);
|
||||||
|
|
||||||
СоответствиеФайла.Вставить(Файл, MIME);
|
СоответствиеФайла.Вставить(Файл, MIME);
|
||||||
|
|
||||||
Размер = Файл.Размер();
|
Если Размер < РазмерЧасти И ТипЗнч(Файл) = Тип("ДвоичныеДанные") Тогда
|
||||||
РазмерЧасти = 268435456;
|
|
||||||
РазмерЧасти = РазмерЧасти + 1;
|
|
||||||
|
|
||||||
Если Размер < РазмерЧасти Тогда
|
|
||||||
Ответ = ЗагрузитьМалыйФайл(ОписаниеJSON, СоответствиеФайла, Заголовки, Идентификатор);
|
Ответ = ЗагрузитьМалыйФайл(ОписаниеJSON, СоответствиеФайла, Заголовки, Идентификатор);
|
||||||
Иначе
|
Иначе
|
||||||
Ответ = ЗагрузитьБольшойФайл(Описание, СоответствиеФайла, Заголовки, Идентификатор);
|
Ответ = ЗагрузитьБольшойФайл(Описание, СоответствиеФайла, Заголовки, Идентификатор);
|
||||||
@@ -615,11 +613,12 @@
|
|||||||
ТекущаяПозиция = 0;
|
ТекущаяПозиция = 0;
|
||||||
ОбщийРазмер = Двоичные.Размер();
|
ОбщийРазмер = Двоичные.Размер();
|
||||||
СтрОбщийРазмер = OPI_Инструменты.ЧислоВСтроку(ОбщийРазмер);
|
СтрОбщийРазмер = OPI_Инструменты.ЧислоВСтроку(ОбщийРазмер);
|
||||||
|
ЧтениеДанных = Новый ЧтениеДанных(Двоичные);
|
||||||
|
ИсходныйПоток = ЧтениеДанных.ИсходныйПоток();
|
||||||
|
|
||||||
Пока ПрочитаноБайт < ОбщийРазмер Цикл
|
Пока ПрочитаноБайт < ОбщийРазмер Цикл
|
||||||
|
|
||||||
ЧтениеДанных = Новый ЧтениеДанных(Двоичные);
|
ПрочитаноБайт = ИсходныйПоток.ТекущаяПозиция();
|
||||||
ПрочитаноБайт = ЧтениеДанных.Пропустить(ТекущаяПозиция);
|
|
||||||
Результат = ЧтениеДанных.Прочитать(РазмерЧасти);
|
Результат = ЧтениеДанных.Прочитать(РазмерЧасти);
|
||||||
ТекущиеДанные = Результат.ПолучитьДвоичныеДанные();
|
ТекущиеДанные = Результат.ПолучитьДвоичныеДанные();
|
||||||
РазмерТекущих = ТекущиеДанные.Размер();
|
РазмерТекущих = ТекущиеДанные.Размер();
|
||||||
|
@@ -452,9 +452,14 @@
|
|||||||
СоздатьКаталог(ПутьЛоговБиблиотеки);
|
СоздатьКаталог(ПутьЛоговБиблиотеки);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ДокументЛога = Новый ТекстовыйДокумент;
|
ПутьКФайлу = ПутьЛоговБиблиотеки + "/" + Метод + ".log";
|
||||||
ДокументЛога.УстановитьТекст(Данные);
|
ФайлЛога = Новый Файл(ПутьКФайлу);
|
||||||
ДокументЛога.Записать(ПутьЛоговБиблиотеки + "/" + Метод + ".log");
|
|
||||||
|
Если Не ФайлЛога.Существует() Тогда
|
||||||
|
ДокументЛога = Новый ТекстовыйДокумент;
|
||||||
|
ДокументЛога.УстановитьТекст(Данные);
|
||||||
|
ДокументЛога.Записать(ПутьКФайлу);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Исключение
|
Исключение
|
||||||
Сообщить("Не удалось записать файл лога!: " + ОписаниеОшибки());
|
Сообщить("Не удалось записать файл лога!: " + ОписаниеОшибки());
|
||||||
|
@@ -50,13 +50,8 @@
|
|||||||
Значение = Новый ДвоичныеДанные(Значение);
|
Значение = Новый ДвоичныеДанные(Значение);
|
||||||
|
|
||||||
ИначеЕсли СтрНайти(Значение, "//") Тогда
|
ИначеЕсли СтрНайти(Значение, "//") Тогда
|
||||||
|
|
||||||
ИВФ = ПолучитьИмяВременногоФайла();
|
Значение = OPI_Инструменты.Get(Значение);
|
||||||
КопироватьФайл(Значение, ИВФ);
|
|
||||||
|
|
||||||
Значение = Новый ДвоичныеДанные(ИВФ);
|
|
||||||
|
|
||||||
УдалитьФайлы(ИВФ);
|
|
||||||
|
|
||||||
Иначе
|
Иначе
|
||||||
|
|
||||||
@@ -72,6 +67,27 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура ПолучитьДвоичныеИлиПоток(Значение) Экспорт
|
||||||
|
|
||||||
|
Если Значение = Неопределено Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ТипЗнч(Значение) <> Тип("Строка") Тогда
|
||||||
|
ПолучитьДвоичныеДанные(Значение);
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Файл = Новый Файл(Значение);
|
||||||
|
|
||||||
|
Если Файл.Существует() Тогда
|
||||||
|
Значение = Новый ФайловыйПоток(Значение, РежимОткрытияФайла.Открыть, ДоступКФайлу.Чтение);
|
||||||
|
Иначе
|
||||||
|
ПолучитьДвоичныеДанные(Значение);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
Процедура ПолучитьКоллекцию(Значение) Экспорт
|
Процедура ПолучитьКоллекцию(Значение) Экспорт
|
||||||
|
|
||||||
Если Значение = Неопределено Тогда
|
Если Значение = Неопределено Тогда
|
||||||
|
@@ -385,6 +385,40 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ПреобразоватьДанныеСПолучениемРазмера(Данные, Знач МинимальныйРазмерДляПотока = 0) Экспорт
|
||||||
|
|
||||||
|
Размер = 0;
|
||||||
|
|
||||||
|
Если ТипЗнч(Данные) = Тип("Строка") Тогда
|
||||||
|
|
||||||
|
ФайлНаДиске = Новый Файл(Данные);
|
||||||
|
|
||||||
|
Если ФайлНаДиске.Существует() Тогда
|
||||||
|
Размер = ФайлНаДиске.Размер();
|
||||||
|
Иначе
|
||||||
|
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Данные);
|
||||||
|
Размер = Данные.Размер();
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Иначе
|
||||||
|
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Данные);
|
||||||
|
Размер = Данные.Размер();
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(МинимальныйРазмерДляПотока) Тогда
|
||||||
|
Если Размер < МинимальныйРазмерДляПотока Тогда
|
||||||
|
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Данные);
|
||||||
|
Иначе
|
||||||
|
OPI_ПреобразованиеТипов.ПолучитьДвоичныеИлиПоток(Данные);
|
||||||
|
КонецЕсли;
|
||||||
|
Иначе
|
||||||
|
OPI_ПреобразованиеТипов.ПолучитьДвоичныеИлиПоток(Данные);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат Размер;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
Процедура ЗначениеВМассив(Значение) Экспорт
|
Процедура ЗначениеВМассив(Значение) Экспорт
|
||||||
|
|
||||||
Значение_ = Новый Массив;
|
Значение_ = Новый Массив;
|
||||||
|
Reference in New Issue
Block a user