Всем доброго времени суток! Хочу добавить возможность сохранения печатной формы в нетиповой документ. Код написал, но при нажатии кнопки открывается окно диалога выбора и документ не хочет сохраняться. Подскажите, в чем может быть ошибка

```1c
    &НаСервере
    Процедура СохранитьДокНаСервере()
    ТабДок = Новый ТабличныйДокумент;
    ...
    ТабДок.Вывести(Подвал);
    ТабДок.АвтоМасштаб = Истина;
    //ТабДок.Записать("C:\Договора Материнского Капиатала\"+Объект.ЗаказКлиента.Номер+"_"+объект.Покупатель+".xlsx", ТипФайлаТабличногоДокумента.XLSX);
    Возврат

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

    &НаКлиенте
    Процедура СохранитьДок(Команда)

    СохранитьДокНаСервере();
    СтандартнаяОбработка = Ложь;
    РежимДиалога = РежимДиалогаВыбораФайла.Сохранение;
    ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалога);
    ДиалогВыбораФайла.МножественныйВыбор = Ложь;
    ДиалогВыбораФайла.Заголовок = "Выберите папку, где необходимо сохранить файл";
    ДиалогВыбораФайла.ПолноеИмяФайла = Объект.ЗаказКлиента.Номер+объект.Покупатель;
    ДиалогВыбораФайла.Фильтр = "Формат выгрузки(*xlsx)|*.xlsx";
    Если ДиалогВыбораФайла.Выбрать() Тогда
    Объект.ПутьФайла = ДиалогВыбораФайла.ПолноеИмяФайла;
    КонецЕсли;

    КонецПроцедуры
```
---
```1c
    &НаСервере
    Функция СформироватьТабДок()
    ТабДок = Новый ТабличныйДокумент;
    ...
    ТабДок.Вывести(Подвал);
    ТабДок.АвтоМасштаб = Истина;
    Возврат ТабДок;

    КонецФункции

    &НаКлиенте
    Процедура СохранитьДок(Команда)

    ТабДок = СформироватьТабДок();
    СтандартнаяОбработка = Ложь;
    РежимДиалога = РежимДиалогаВыбораФайла.Сохранение;
    ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалога);
    ДиалогВыбораФайла.МножественныйВыбор = Ложь;
    ДиалогВыбораФайла.Заголовок = "Выберите папку, где необходимо сохранить файл";
    ДиалогВыбораФайла.ПолноеИмяФайла = Объект.ЗаказКлиента.Номер+объект.Покупатель;
    ДиалогВыбораФайла.Фильтр = "Формат выгрузки(*xlsx)|*.xlsx";
    Если ДиалогВыбораФайла.Выбрать() Тогда
    ТабДок.Записать(ДиалогВыбораФайла.ПолноеИмяФайла, ТипФайлаТабличногоДокумента.XLSX);
    КонецЕсли;

    КонецПроцедуры
```
---
В том, что ты просто выбрал путь и имя файла, но ни строчки не написал, чтобы его по этому адресу записать...
---
Примеры кода не подскажешь? Или ссылки на статьи по этой теме?
---
Могу подсказать последовательность действий.
1. Формируем документ.
2. Выбираем имя файла для документа.
3. Записываем сформированный документ по указанному имени файла.

Твой алгоритм:
1. Формируем документ.
2. Теряем его на сервере.
3. Выбираем имя файла.

Найди отличия.
---
Сервер ничего не знает про указанный путь. У сервера может вообще не быть диска С:.
---
Если ты говоришь про закомментированный код, то этот вариант был изначально отброшен в сторону из-за неудобства
---
В чем не удобство? В каком контексте должна происходить запись на диск: в клиентском или серверном?
---
Все происходит на клиенте, нажимаем кнопку печать документа с последующим сохранением, печатная форма открывается и параллельно с ней документ автоматически сохраняется по указанному пути. У данного решения есть 2 проблемы: идет жесткая привязка к пути для сохранения документа и вторая - если у человека не создана нужная папка то программа выдаст ошибку, мол такой папки не существует и сохранить ничего нельзя. Поэтому делаю альтернативное решение, где точно также можно сохранить документ, но только через окно сохранения документа
---
Так как диалог выбора файла и каталога доступен только на клиенте, то и запись документа должна организовываться на клиенте. Для этого документ должен быть доступен тоже на клиенте.
---
Каталог для записи может быть на общем сетевом ресурсе, поэтому запись может быть как на клиенте, так и на сервере.
---
Да, при условии, что этот ресурс с сервера доступен ровно по тому же пути и с теми же правами, что и с клиента. Или если клиент и сервер работают на одной машине. Или если это файловая база.

Если мы хотим, чтобы у пользователя все работало без сбоев и ошибок и хоть немного любим свою техподдержку - любая интерактивная запись должна быть на клиенте. Это просто из разряда юзабилити. Технически, канеш, мы программисты умнее пользователей, и можем записать что угодно и где угодно.
Но пишем-то мы не для себя ;-)

А то понапихают всяких сетевых дисков, понимаешь...
---
Если пользователь указывает место сохранения файла на своей машине, то см (7)
Если пользователь может указать место сохранения в общем сетевом ресурсе, то можно и на стороне сервера выполнять сохранения файла, главное дать доступ серверу 1С к этому общему сетевому ресурсу.
---
Решение (7) уже проверил и еще нашел немного косяков у себя в коде. Теперь все заработало, как мне нужно
---
```1c
    &НаСервере
    Функция СформироватьТабДок()
    ТабДок = Новый ТабличныйДокумент;
    ...
    ТабДок.Вывести(Подвал);
    ТабДок.АвтоМасштаб = Истина;
    Возврат ТабДок;

    КонецФункции

    &НаКлиенте
    Процедура СохранитьДок(Команда)

    ТабДок = СформироватьТабДок();
    СтандартнаяОбработка = Ложь;
    РежимДиалога = РежимДиалогаВыбораФайла.Сохранение;
    ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалога);
    ДиалогВыбораФайла.МножественныйВыбор = Ложь;
    ДиалогВыбораФайла.Заголовок = "Выберите папку, где необходимо сохранить файл";
    ДиалогВыбораФайла.ПолноеИмяФайла = Объект.ЗаказКлиента.Номер+объект.Покупатель;
    ДиалогВыбораФайла.Фильтр = "Формат выгрузки(*xlsx)|*.xlsx";
    Если ДиалогВыбораФайла.Выбрать() Тогда
    ТабДок.Записать(ДиалогВыбораФайла.ПолноеИмяФайла, ТипФайлаТабличногоДокумента.XLSX);
    КонецЕсли;

    КонецПроцедуры
```
---
Благодарю, все заработало!
---
https://infostart.ru/1c/articles/979007/