Если при нажатии на клиенте кнопку нужно формировать файл на сервере, а потом результат формирования перенести назад на клиента тогда
&НаКлиенте
Процедура СформироватьXLSX(Команда)
Если ПустаяСтрока(ПутьКФайлу) Тогда
Режим = РежимДиалогаВыбораФайла.ВыборКаталога;
ДиалогОткрытия = Новый ДиалогВыбораФайла(Режим);
ДиалогОткрытия.Каталог = "";
ДиалогОткрытия.МножественныйВыбор = Ложь;
ДиалогОткрытия.Заголовок = "Выберите каталог";
Если ДиалогОткрытия.Выбрать() Тогда
ПутьКФайлу = ДиалогОткрытия.Каталог + "\";
Иначе
Предупреждение("Каталог не выбран!");
Возврат;
КонецЕсли;
КонецЕсли;
ИмяФайлаНаДиске = ПутьКФайлу+ИмяФайла+".xlsx";
МассивПрайсовДД = СформироватьXLSXСКлиента(ИмяФайлаНаДиске );
Если МассивПрайсовДД = Неопределено Тогда
Возврат;
КонецЕсли;
ПереместитьПрайсы(МассивПрайсовДД, ИмяФайлаНаДиске);
КонецПроцедуры
&НаКлиенте
Процедура ПереместитьПрайсы(МассивПрайсовДД, ИмяФайлаНаДиске)
ОписанияФайлов = Новый Массив;
Для Каждого ПрайсДД Из МассивПрайсовДД Цикл
ОписаниеФайла = Новый ОписаниеПередаваемогоФайла(ПолучитьИмяВременногоФайла(), ПрайсДД);
ОписанияФайлов.Добавить(ОписаниеФайла);
КонецЦикла;
ПолученныеФайлы = Новый Массив;
ПолучитьФайлы(ОписанияФайлов, ПолученныеФайлы, , Ложь);
Для Каждого ПолученныйФайлы Из ПолученныеФайлы Цикл
дд = Новый ДвоичныеДанные(ПолученныйФайлы.Имя);
дд.Записать(ИмяФайлаНаДиске);
ЗапуститьПриложение(ИмяФайлаНаДиске);
КонецЦикла;
КонецПроцедуры
Функция СформироватьXLSXСКлиента(ИмяФайлаНаДиске)
дд = Новый ДвоичныеДанные(ИмяФайлаНаДиске);
АдресаВоВременномХранилище = Новый Массив;
АдресаВоВременномХранилище.Добавить(ПоместитьВоВременноеХранилище(дд, ЭтаФорма.УникальныйИдентификатор));
Возврат АдресаВоВременномХранилище;
КонецФункции