Выгрузка файлов из 1С документооборот на облачный диск
Добрый день! Подскажите, пожалуйста, как правильна написать процедуру выгрузки файлов из конкретного документа на облачный диск с помощью внешней обработки.
ПодчиненныеФайлы = РаботаСФайламиВызовСервера.ПолучитьВсеПодчиненныеФайлы(ВладелецФайла, Истина, Ложь);
инд=0;
Для Каждого СтрокаМ из ПодчиненныеФайлы Цикл
Расширение =СтрокаМ.ТекущаяВерсияРасширение;
ИмяФайла = СтрокаМ.ПолноеНаименование+"."+Расширение;
Если СтрокаМ.ТекущаяВерсияПутьКФайлу="" Тогда
Продолжить;
КонецЕсли;
ПолныйПуть = СтрокаМ.ТекущаяВерсия.Том.ПолныйПутьWindows+СтрокаМ.ТекущаяВерсияПутьКФайлу;
Попытка
ДвоичныеДанные = Новый ДвоичныеДанные(ПолныйПуть);
ДвоичныеДанныеСтрока = Base64Строка(ДвоичныеДанные);
Исключение
Сообщить(СтрокаМ.ПутьКФайлу + " Ошибка получения файла: "+ОписаниеОшибки());
Продолжить;
КонецПопытки;
инд=инд+1
КонецЦикла;
Значение ТекущаяВерсияПутьКФайлу и ПолныйПутьWindows пустое. Соответственно документ выгружается но 0 б.
ПодчиненныеФайлы = РаботаСФайламиВызовСервера.ПолучитьВсеПодчиненныеФайлы(ВладелецФайла, Истина, Ложь);
инд=0;
Для Каждого СтрокаМ из ПодчиненныеФайлы Цикл
Расширение =СтрокаМ.ТекущаяВерсияРасширение;
ИмяФайла = СтрокаМ.ПолноеНаименование+"."+Расширение;
Если СтрокаМ.ТекущаяВерсияПутьКФайлу="" Тогда
Продолжить;
КонецЕсли;
ПолныйПуть = СтрокаМ.ТекущаяВерсия.Том.ПолныйПутьWindows+СтрокаМ.ТекущаяВерсияПутьКФайлу;
Попытка
ДвоичныеДанные = Новый ДвоичныеДанные(ПолныйПуть);
ДвоичныеДанныеСтрока = Base64Строка(ДвоичныеДанные);
Исключение
Сообщить(СтрокаМ.ПутьКФайлу + " Ошибка получения файла: "+ОписаниеОшибки());
Продолжить;
КонецПопытки;
инд=инд+1
КонецЦикла;
Значение ТекущаяВерсияПутьКФайлу и ПолныйПутьWindows пустое. Соответственно документ выгружается но 0 б.
По теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Что-бы получить двоичные данные файла посмотрите в сторону: "РаботаСФайламиВызовСервера.ПолучитьДвоичныеДанныеФайла".
Спасибо, большое! все заработало!
инд=0;
Для Каждого СтрокаМ из ПодчиненныеФайлы Цикл
Расширение =СтрокаМ.ТекущаяВерсияРасширение;
ИмяФайла = СтрокаМ.ПолноеНаименование+"."+Расширение;
ДвоичныеДанныеФайла=РаботаСФайламиВызовСервера.ПолучитьДвоичныеДанныеФайла(СтрокаМ.Ссылка);
Попытка
ДвоичныеДанныеСтрока = Base64Строка(ДвоичныеДанныеФайла);
Исключение
Сообщить(ИмяФайла + " Ошибка получения файла: "+ОписаниеОшибки());
Продолжить;
КонецПопытки;
инд=инд+1
КонецЦикла;
инд=0;
Для Каждого СтрокаМ из ПодчиненныеФайлы Цикл
Расширение =СтрокаМ.ТекущаяВерсияРасширение;
ИмяФайла = СтрокаМ.ПолноеНаименование+"."+Расширение;
ДвоичныеДанныеФайла=РаботаСФайламиВызовСервера.ПолучитьДвоичныеДанныеФайла(СтрокаМ.Ссылка);
Попытка
ДвоичныеДанныеСтрока = Base64Строка(ДвоичныеДанныеФайла);
Исключение
Сообщить(ИмяФайла + " Ошибка получения файла: "+ОписаниеОшибки());
Продолжить;
КонецПопытки;
инд=инд+1
КонецЦикла;
(3) чисто поворчу немного (простите Бога ради старика :) )
1. Переменным названия лучше всего дать более осмысленные, например не "инд" а "Счетчик", не "СтрокаМ" а "ПодчиненныйФайл".
2. Вместо "Сообщить()" лучше использовать "СообщениеПользователю"
1. Переменным названия лучше всего дать более осмысленные, например не "инд" а "Счетчик", не "СтрокаМ" а "ПодчиненныйФайл".
2. Вместо "Сообщить()" лучше использовать "СообщениеПользователю"
Внимание! Тема сдана в архив
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот