Научите копировать файлы с локальной машины в папку на сервере УФ
Есть код:
Объект.Файл - имя файла на локальной машине,
код не работает - пишет каталог не обнаружен ,что не так?
Процедура СохранитьФайлНаСервере() Экспорт
Если Параметры.Ключ.Пустая() Тогда
УИД = Новый УникальныйИдентификатор();
НоваяСсылка = Справочники.СсылкиНаФайл.ПолучитьСсылку(УИД);
мОбъект = РеквизитФормыВЗначение("Объект");
мОБъект.УстановитьСсылкуОбъект(НоваяСсылка);
Файл1С = Новый Файл(Объект.Файл);
УИН = Строка(УИД);
ИмяФайлаНаСервере = Константы.ПутьХраненияФайловСканирования.Получить() + "\" + УИН + Файл1С.Расширение;
Если Найти(Объект.Файл,"\") > 0 Тогда
ДвоичныеДанные = Новый ДвоичныеДанные(Объект.Файл);
Идентификатор = Новый УникальныйИдентификатор;
АдресХранилища = ПоместитьВоВременноеХранилище(ДвоичныеДанные, Идентификатор);
ЗаписатьНаСервер(АдресХранилища, ЛокальныйАдресКаталога, Файл1С.Расширение, ИмяФайлаНаСервере);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаСервере
// Выполняет запись файла из временного хранилища на диск
Процедура ЗаписатьНаСервер(АдресХранилища, ЛокальныйАдресКаталога = "", Расширение, ИмяФайлаНаСервере) Экспорт
// Проверим заполнен ли адрес временного хранилища, откуда будем брать файл
Если ПустаяСтрока(АдресХранилища) Тогда
Возврат;
КонецЕсли;
// Проверим существует ли указанный каталог
КаталогЗаписи = Новый Файл(ЛокальныйАдресКаталога);
Если НЕ КаталогЗаписи.Существует() Тогда
Возврат;
КонецЕсли;
ЛокальныйАдресКаталога = ЛокальныйАдресКаталога;
ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресХранилища);
ИмяФайла = ИмяФайлаНаСервере;
Попытка
ДвоичныеДанные.Записать(ЛокальныйАдресКаталога + "\" + ИмяФайла + Расширение);
Исключение
КонецПопытки;
КонецПроцедуры
ПоказатьОбъект.Файл - имя файла на локальной машине,
код не работает - пишет каталог не обнаружен ,что не так?
По теме из базы знаний
- Выгрузка-загрузка любых данных (и измененных) между похожими конфигурациями (ФАЙЛ, HTTP, COM) ЛЮБЫХ баз 1С 8.1-8.3 с обработкой и поиском данных по произвольным полям поиска
- Синхронизация хранилища 1С и git-репозитория с применением OneScript и Gitsync. Методика и пошаговая инструкция для создания скрипта и его регулярного запуска
Найденные решения
Я так понял Объект.Файл это строка - имя файла?
&НаКлиенте
Процедура ПеренестиФайлНаСервер()
ДвоичныеДанные = Новый ДвоичныеДанные(Объект.Файл);
АдресХранилища = ПоместитьВоВременноеХранилище(ДвоичныеДанные);
ЗаписатьФайлНаСервере(АдресХранилища);
КонецПроцедуры
&НаСервере
Процедура ЗаписатьФайлНаСервере(аАдресХранилища)
ДвоичныеДанные = ПолучитьИзВременногоХранилища(аАдресХранилища);
Попытка
ДвоичныеДанные.Записать(ЛокальныйАдресКаталога + "\" + ИмяФайла + Расширение);
Исключение
КонецПопытки;
КонецПроцедуры
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Сейчас код посмотрел. Каша какая-то:
Серверная процедура
Следовательно, файл уже на сервере. Чего его тогда передавать?
Сразу пиши куда нужно.
Серверная процедура
Процедура СохранитьФайлНаСервере() Экспорт
...
мОбъект = РеквизитФормыВЗначение("Объект")
...
Следовательно, файл уже на сервере. Чего его тогда передавать?
Сразу пиши куда нужно.
Я так понял Объект.Файл это строка - имя файла?
&НаКлиенте
Процедура ПеренестиФайлНаСервер()
ДвоичныеДанные = Новый ДвоичныеДанные(Объект.Файл);
АдресХранилища = ПоместитьВоВременноеХранилище(ДвоичныеДанные);
ЗаписатьФайлНаСервере(АдресХранилища);
КонецПроцедуры
&НаСервере
Процедура ЗаписатьФайлНаСервере(аАдресХранилища)
ДвоичныеДанные = ПолучитьИзВременногоХранилища(аАдресХранилища);
Попытка
ДвоичныеДанные.Записать(ЛокальныйАдресКаталога + "\" + ИмяФайла + Расширение);
Исключение
КонецПопытки;
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот