Ошибка "Каталог не обнаружен" после помещения файла во временное хранилище

1. dklp 42 10.02.22 10:36 Сейчас в теме
Для ускорения процесса правки и тестирования внешнего отчета в режиме отладки под толстым клиентом на управляемых формах я хочу добавить функционал "переоткрытия" отчета - грубо говоря, повесить на основную форму отчета кнопку, при нажатии на которую будет выполняться команда, закрывающая отчет и открывающая его заново. Код модуля формы отчета приводится ниже.

Это нужно лишь для того, чтобы при редактировании внешнего отчета в процессе отладки (в том числе при изменении содержимого процедуры модуля отчета ПриКомпоновкеРезультата) не нужно было затем вручную закрывать и открывать его заново, чтобы отобразились изменения, а сделать это в один клик по нажатию кнопки переоткрытия (или еще быстрее - с использованием назначенного ей сочетания клавиш).

Вопрос в том, что при сохранении новой версии отчета после внесения изменений в отчет и вызове обработчика команды "ПереоткрытьОтчет" выскакивает ошибка типа "Каталог не обнаружен 'e1cib\tempstorage\698e1b83-889a-4733-8d05-507b3b1f6646'. 3(0x00000003): Системе не удается найти указанный путь".

Есть идеи, как это можно исправить?

// в модуле основной формы отчета

&НаКлиенте
Процедура ПереоткрытьОтчет(Команда)    
	
	АдресХранилища = "";
	Результат = ПоместитьФайл(АдресХранилища, ИмяФайлаВнешнегоОтчета(), , Ложь);
	ИмяФайла = ПодключитьВнешнийОтчет(АдресХранилища);
	
	НоваяФорма = ПолучитьФорму(ЭтаФорма.ИмяФормы,,,Истина);
	НоваяФорма.Открыть();
	ЭтаФорма.Закрыть(); 
	
КонецПроцедуры

&НаСервере
Функция ИмяФайлаВнешнегоОтчета()
	Возврат РеквизитФормыВЗначение("Отчет").ЭтотОбъект.ИспользуемоеИмяФайла;
КонецФункции

&НаСервере
Функция ПодключитьВнешнийОтчет(АдресХранилища)
	Возврат ВнешниеОтчеты.Подключить(АдресХранилища, , Ложь);
КонецФункции
Показать

Для наглядности прилагается небольшой видеоролик, воспроизводящий ошибку.
Прикрепленные файлы:
2022-02-10-10-53-46.mp4
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. Sashares 34 10.02.22 10:44 Сейчас в теме
(1) Попробуйте так:
Результат = ПоместитьФайл(АдресХранилища, ИмяФайлаВнешнегоОтчета(), , Ложь, Новый УникальныйИдентификатор);
3. dklp 42 10.02.22 10:45 Сейчас в теме
(2)
Новый УникальныйИдентификатор
Пробовал. К сожалению, не помогает. Вылезает та же ошибка. Кнопка переоткрытия работает ровно до тех пор, пока я в Конфигураторе не нажму "Ctrl+S", чтобы сохранить новую версию отчета.
4. dklp 42 10.02.22 13:54 Сейчас в теме
Ничего пока лучше не придумал для переоткрытия файла отчета, кроме как через имитацию нажатия горячих клавиш:
&НаКлиенте
Процедура ПереоткрытьОтчет(Команда)     

	// сначала копируем имя файла отчета в буфер обмена
	ОбъектHtml = Новый COMОбъект("htmlfile");
	ОбъектHtml.ParentWindow.ClipboardData.Setdata("Text", ИмяФайла());

    ЭтаФорма.Закрыть();  
	
	// имитируем нажатие горячих клавиш как при ручном открытии файла  
	ОбъектShell = Новый COMОбъект("WScript.Shell"); 
	ОбъектShell.SendKeys("^o");  
	ОбъектShell.SendKeys("^щ");
	ОбъектShell.SendKeys("^v");
	ОбъектShell.SendKeys("^м");
	ОбъектShell.SendKeys("{ENTER}");
	
КонецПроцедуры                                       

&НаСервере
Функция ИмяФайла()    
	
	ИмяФайла = РеквизитФормыВЗначение("Отчет").ИспользуемоеИмяФайла;
	Возврат ИмяФайла;
	
КонецФункции
Показать
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)