Здравствуйте, подскажите, можно ли получить файл в тонком клиенте и сохранить полученный файл в каталоге на физическом сервере?
Если да, то подскажите как. За ранее спасибо.
---
Просто выбрать у клиента и сохранить на сервере в нужную папку.

```1c
    &НаСервере
    Процедура СохранитьФайлНаСервере(АдресВременногоХранилища, ИмяФайла)

    Попытка
    ДД = ПолучитьИзВременногоХранилища(АдресВременногоХранилища);
    ДД.Записать("C:\ПапкаНаСервере\"+ИмяФайла);
    Исключение
    ВызватьИсключение("Не могу сохранить файл на сервере!" + Символы.ПС + КраткоеПредставлениеОшибки(ИнформацияОбОшибке()),КатегорияОшибки.ОшибкаДоступаКЛокальномуФайлу);
    КонецПопытки;

    КонецПроцедуры

    &НаКлиенте
    Процедура СохранитьФайлЗавершение(ОписаниеПомещенногоФайла, ДополнительныеПараметры) Экспорт

    Если ОписаниеПомещенногоФайла = Неопределено Тогда
    Возврат;
    КонецЕсли;

    СохранитьФайлНаСервере(ОписаниеПомещенногоФайла.Адрес, ОписаниеПомещенногоФайла.СсылкаНаФайл.Имя);

    КонецПроцедуры

    &НаКлиенте
    Процедура СохранитьФайлОтКлиентаНаСервере(Команда)

    ОписаниеОповещенияОЗавершении = Новый ОписаниеОповещения("СохранитьФайлЗавершение", ЭтотОбъект);
    ПараметрыДиалога = Новый ПараметрыДиалогаПомещенияФайлов;
    ПараметрыДиалога.Заголовок = НСтр("ru = 'Выберите имя файла для открытия'");
    ПараметрыДиалога.МножественныйВыбор = Ложь;
    НачатьПомещениеФайлаНаСервер(ОписаниеОповещенияОЗавершении, , , ,ПараметрыДиалога, УникальныйИдентификатор);

    КонецПроцедуры
```
---
Ищите в сторону "НачатьПомещениеФайлаНаСервер/файлов"
---
```1c
    &НаКлиенте
    Процедура ЗагрузитьФайлНаСервере(Команда)
    СодержимоеФайла = Новый ДвоичныеДанные(ПутьКФайлу);
    Адрес = ПоместитьВоВременноеХранилище(СодержимоеФайла);
    ЗагрузитьФайлНаСервереНаСервере(Адрес);
    КонецПроцедуры
```

```1c
    &НаСервереБезКонтекста
    Процедура ЗагрузитьФайлНаСервереНаСервере(Адрес)
    СодержимоеФайла = ПолучитьИзВременногоХранилища(Адрес);
    Текст = Новый ТекстовыйДокумент;
    Текст.Прочитать(СодержимоеФайла.ОткрытьПотокДляЧтения(),КодировкаТекста.UTF8);
    Для Сч = 1 По Текст.КоличествоСтрок() Цикл
    СтрокаФайла = Текст.ПолучитьСтроку(Сч);
    Значения = СтрРазделить(СтрокаФайла, ";");
    КонецЦикла;
    КонецПроцедуры
```

асинхронный вариант будет не сильно отличаться
---
Прошу прощения, наверное не правильно сформировал вопрос. Имеется ввиду получить фаил и положить (записать) его на диск, где расположен сервер.
---
Асинхронный метод

```1c
    &НаКлиенте
    Процедура ZAU_ЗагрузитьФайл(Команда)

    // ПараметрыДиалога = Новый ПараметрыДиалогаПомещенияФайлов;
    // ПараметрыДиалога.МножественныйВыбор = Ложь;
    // ПараметрыДиалога.Заголовок = НСтр("ru = 'Выберите файл'; en = 'Select file'");
    // ПараметрыДиалога.Фильтр = НСтр("ru = 'Текстовый файл'; en = 'Text file'") + " (*.txt)|*.txt|";

    Если ПроверитьПередЗагрузкой() Тогда
    Возврат;
    КонецЕсли;

    ОчиститьСообщения();

    ПараметрыДиалога = Новый ПараметрыДиалогаПомещенияФайлов("Выберите файл Excel", Ложь, "*.xls|*.xlsx");

    ЗавершениеОбратныйВызов = Новый ОписаниеОповещения("ZAU_ЗавершениеОбратныйВызов", ЭтотОбъект);

    ПрогрессОбратныйВызов = Новый ОписаниеОповещения("ZAU_ПрогрессОбратныйВызов", ЭтотОбъект);

    ПередНачаломОбратныйВызов = Новый ОписаниеОповещения("ZAU_ПередНачаломОбратныйВызов", ЭтотОбъект);

    НачатьПомещениеФайлаНаСервер(ЗавершениеОбратныйВызов, ПрогрессОбратныйВызов, ПередНачаломОбратныйВызов,, ПараметрыДиалога, ЭтаФорма.УникальныйИдентификатор);
    // НачатьПомещениеФайлаНаСервер(ЗавершениеОбратныйВызов, ПрогрессОбратныйВызов, ,, ПараметрыДиалога, ЭтаФорма.УникальныйИдентификатор);

    КонецПроцедуры

    #Область СлужебныеПроцедурыИФункции

    &НаКлиенте
    процедура ЗавершениеОбратныйВызов_Прицелиивание(ОписаниеПомещенногоФайла, ДополнительныеПараметры) Экспорт
    Если ОписаниеПомещенногоФайла = Неопределено Тогда
    Возврат;
    КонецЕсли;

    frИмяФайлаЭксель = ОписаниеПомещенногоФайла.СсылкаНаФайл.Файл.ПолноеИмя; //На форме
    РазмерФайла = ОписаниеПомещенногоФайла.СсылкаНаФайл.Размер();
    АдресФайла = ОписаниеПомещенногоФайла.Адрес;

    Модифицированность = Истина;

    ZAU_ЭксельНаСервереВМассив(АдресФайла, истина);
    Конецпроцедуры

    &НаКлиенте
    Процедура ZAU_ЗавершениеОбратныйВызов(ОписаниеПомещенногоФайла, ДополнительныеПараметры) Экспорт

    Если ОписаниеПомещенногоФайла = Неопределено Тогда
    Возврат;
    КонецЕсли;

    frИмяФайлаЭксель = ОписаниеПомещенногоФайла.СсылкаНаФайл.Файл.ПолноеИмя; //На форме
    РазмерФайла = ОписаниеПомещенногоФайла.СсылкаНаФайл.Размер();
    АдресФайла = ОписаниеПомещенногоФайла.Адрес;

    Модифицированность = Истина;

    ZAU_ЭксельНаСервереВМассив(АдресФайла);

    КонецПроцедуры

    &НаКлиенте
    Процедура ZAU_ПрогрессОбратныйВызов(ПомещаемыйФайл, Помещено, ОтказОтПомещенияФайла, ДополнительныеПараметры) Экспорт

    ТекстСообщения = СтрШаблон(НСтр("ru = 'Загрузка файла %1'; en = 'Uploading file %1'"), ПомещаемыйФайл.Имя);
    РазмерФайла = СтрШаблон(Нстр("ru = 'Размер файла %1 байт'; en = 'File size %1 bytes'"), ПомещаемыйФайл.Размер());

    Состояние(ТекстСообщения, Помещено, РазмерФайла, БиблиотекаКартинок.Документ);

    КонецПроцедуры

    &НаКлиенте
    Процедура ZAU_ПередНачаломОбратныйВызов(ПомещаемыйФайл, ОтказОтПомещенияФайла, ДополнительныеПараметры) Экспорт

    МегабайтВБайтах = 1000000;
    Если ПомещаемыйФайл.Размер() > МегабайтВБайтах Тогда
    ОтказОтПомещенияФайла = Истина;
    ТекстСообщения = СтрШаблон(НСтр("ru = 'Отказ. Загружаемый файл «%1» имеет размер более 1 мегабайта';
    |en = 'Failure. The uploaded file «%1» is larger than 1 megabyte'"), ПомещаемыйФайл.Имя);

    Сообщение = Новый СообщениеПользователю;
    Сообщение.Текст = ТекстСообщения;
    Сообщение.Сообщить();
    ОтказОтПомещенияФайла = Истина;

    //ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения,,,, ОтказОтПомещенияФайла);
    Иначе
    ПоказатьОповещениеПользователя(НСтр("ru = 'Загрузка файла'; en = 'Uploading file'"),, ПомещаемыйФайл.Имя);
    КонецЕсли;

    КонецПроцедуры

    &НаСервере
    Процедура ZAU_ЭксельНаСервереВМассив(ФайлАдресВХранилище, флПрицеливаниеКолонок = ложь)
    //************************************************************
    ИмяФайлаСервер = ПолучитьИмяВременногоФайла(".xlsx");
    ФайлИмпорта = ПолучитьИзВременногоХранилища(ФайлАдресВХранилище);
    ФайлИмпорта.Записать(ИмяФайлаСервер);

    ТабличныйДокумент = Новый ТабличныйДокумент;
    Попытка
    // Выполняется долго на больших файлах.
    ТабличныйДокумент.Прочитать(ИмяФайлаСервер, СпособЧтенияЗначенийТабличногоДокумента.Значение); // СпособЧтенияЗначенийТабличногоДокумента - новый параметр платформы 8.3.6. Второе значение "Текст".
    Исключение
    Сообщить(ОписаниеОшибки(), СтатусСообщения.Внимание);
    Возврат;
    КонецПопытки;
```
---
Подскажите, а где прописать путь, где необходимо сохранить фаил?
---
https://okolokompa.com/katalog/programmistam/1s-predprijatie-8/rabota-s-fajlami-v-1s-8-3-8-2/
---
Я бы поставил еще

```1c
    &НаКлиенте
    Процедура ПриОткрытии(Отказ)

    #Если ВебКлиент Тогда
    ПроверитьДоступностьРасширенияРаботыСФайлами(, истина);
    #КонецЕсли

    КонецПроцедуры

    &НаКлиенте
    Процедура ПроверитьДоступностьРасширенияРаботыСФайлами(ОповещениеПриЗавершении, ПредлагатьУстановку = Истина) Экспорт
    //**************************************************************
    #Если ВебКлиент Тогда
    ДополнительныеПараметры = Новый Структура("ОповещениеПриЗавершении, ПредлагатьУстановку", ОповещениеПриЗавершении, ПредлагатьУстановку);
    Оповещение = Новый ОписаниеОповещения("НачатьПодключениеРасширенияРаботыСФайламиЗавершение", ЭтотОбъект, ДополнительныеПараметры);
    НачатьПодключениеРасширенияРаботыСФайлами(Оповещение);
    #КонецЕсли
    КонецПроцедуры

    &НаКлиенте
    Процедура НачатьПодключениеРасширенияРаботыСФайламиЗавершение(Подключено, ДополнительныеПараметры) Экспорт
    //**************************************************************
    Если Не Подключено И ДополнительныеПараметры.ПредлагатьУстановку Тогда
    Оповещение = Новый ОписаниеОповещения("НачатьУстановкуРасширенияРаботыСФайламиЗавершение", ЭтотОбъект, ДополнительныеПараметры);
    ТекстСообщения = НСтр("ru='Для продолжении работы необходимо установить расширение для веб-клиента "1С:Предприятие". Установить?'");
    ПоказатьВопрос(Оповещение, ТекстСообщения, РежимДиалогаВопрос.ДаНет);
    КонецЕсли;

    Если ДополнительныеПараметры.ОповещениеПриЗавершении <> Неопределено Тогда
    ВыполнитьОбработкуОповещения(ДополнительныеПараметры.ОповещениеПриЗавершении, Подключено);
    КонецЕсли

    КонецПроцедуры

    &НаКлиенте
    Процедура НачатьУстановкуРасширенияРаботыСФайламиЗавершение(Результат, ДополнительныеПараметры) Экспорт
    //**************************************************************
    Если Результат = КодВозвратаДиалога.Да Тогда
    НачатьУстановкуРасширенияРаботыСФайлами();
    КонецЕсли;
    КонецПроцедуры
```
---
Просто выбрать у клиента и сохранить на сервере в нужную папку.

```1c
    &НаСервере
    Процедура СохранитьФайлНаСервере(АдресВременногоХранилища, ИмяФайла)

    Попытка
    ДД = ПолучитьИзВременногоХранилища(АдресВременногоХранилища);
    ДД.Записать("C:\ПапкаНаСервере\"+ИмяФайла);
    Исключение
    ВызватьИсключение("Не могу сохранить файл на сервере!" + Символы.ПС + КраткоеПредставлениеОшибки(ИнформацияОбОшибке()),КатегорияОшибки.ОшибкаДоступаКЛокальномуФайлу);
    КонецПопытки;

    КонецПроцедуры

    &НаКлиенте
    Процедура СохранитьФайлЗавершение(ОписаниеПомещенногоФайла, ДополнительныеПараметры) Экспорт

    Если ОписаниеПомещенногоФайла = Неопределено Тогда
    Возврат;
    КонецЕсли;

    СохранитьФайлНаСервере(ОписаниеПомещенногоФайла.Адрес, ОписаниеПомещенногоФайла.СсылкаНаФайл.Имя);

    КонецПроцедуры

    &НаКлиенте
    Процедура СохранитьФайлОтКлиентаНаСервере(Команда)

    ОписаниеОповещенияОЗавершении = Новый ОписаниеОповещения("СохранитьФайлЗавершение", ЭтотОбъект);
    ПараметрыДиалога = Новый ПараметрыДиалогаПомещенияФайлов;
    ПараметрыДиалога.Заголовок = НСтр("ru = 'Выберите имя файла для открытия'");
    ПараметрыДиалога.МножественныйВыбор = Ложь;
    НачатьПомещениеФайлаНаСервер(ОписаниеОповещенияОЗавершении, , , ,ПараметрыДиалога, УникальныйИдентификатор);

    КонецПроцедуры
```