...
Раскрыть |
---|
title | Очистка двоичных данных из справочника Файлы |
---|
|
Блок кода |
---|
Процедура ПередатьВсеФайлыВЯндексОблако()
ЗапросФайлов = Новый Запрос;
ЗапросФайлов.Текст =
"ВЫБРАТЬ
| Файлы.Ссылка КАК Ссылка
|ИЗ
| Справочник.Файлы КАК Файлы
|ГДЕ
| Файлы.МестоХраненияФайла = ЗНАЧЕНИЕ(Перечисление.РВ_МестоХраненияФайла.ВИнформационнойБазе)";
РезультатЗапросаФайлов = ЗапросФайлов.Выполнить();
ВыборкаДетальныеЗаписиФайлов = РезультатЗапросаФайлов.Выбрать();
Пока ВыборкаДетальныеЗаписиФайлов.Следующий() Цикл
Попытка
РезультатПередачи = ПередатьФайлВЯндексОблако(ВыборкаДетальныеЗаписиФайлов.Ссылка);
Исключение
РезультатПередачи = ОписаниеОшибки();
КонецПопытки;
Если РезультатПередачи = Истина Тогда
ФайлОбъект = ВыборкаДетальныеЗаписиФайлов.Ссылка.ПолучитьОбъект();
ФайлОбъект.МестоХраненияФайла = Перечисления.РВ_МестоХраненияФайла.YandexCloud;
ФайлОбъект.Данные = Новый ХранилищеЗначения(Неопределено);
Попытка
ФайлОбъект.Записать();
Исключение
Ошибка = НСтр("ru = 'Не удалось изменить место хранения фото'");
Ошибка = Ошибка + ". " + НСтр("ru = 'Ошибка'") + ": " + ОписаниеОшибки();
Сообщить(Ошибка);
КонецПопытки;
Иначе
Ошибка = НСтр("ru = 'Не удалось передать фото в ЯндексОблако'");
Ошибка = Ошибка + ". " + НСтр("ru = 'Ошибка'") + ": " + РезультатПередачи;
Сообщить(Ошибка);
КонецЕсли;
КонецЦикла;
КонецПроцедуры |
|
...
Сжатие и
...
На этом можно было бы и закончить, но мне для быстрого отображения фото в тонком клиенте 1С нужны небольшие “снимки” размером примерно 1024х768, а для отображения в виде компактной галереи - готовые пиктограммы размером 100х100.
Для этого я делаю следующее:
В бакете, куда прилетают фотки, создаю Триггер, называю его autoresize. При создании в префикс ключа объекта вписываю имя папки, для которой будет выполняться триггер:
Image RemovedВ разделе “настройки функции” указываю имя облачной функции, которую необходимо выполнить после создания объекта. В моем случае это функция, написанная на Python, которая и создает пиктограмму и “снимок” с фото
Далее я могу в тонком клиенте 1С или в мобильном приложении быстро отображать снимки как угодно.
...
поворот фото
Что еще можно сделать с файлами в Облаке, я описала здесь: сжатие и поворот фото. Триггеры и Cloud Functions