Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
28 Май 2017, 00:09
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Удаление временного файла  (Прочитано 1282 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн 12040

  • *
  • Сообщений: 11
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-12-11
  • Сайт: 
  • Профессия: Программист 1С
Добрый вечер.
Почему-то не удалается временный файл.
Переменная "ПутьКФайлуНаСервере" в процедуре "УдалитьВременныеФайлыНаСервере()" с правильным значением "C:\Users\USR1CV8\AppData\Local\Temp\ИвановИванИванович\v8_670D_9aa.xls". Отладчик без ошибок просто проходит эту строку, но файл не удаляет.
Привожу код, включающий и создание файла:

&НаСервере
Процедура ЗагрузитьДанныеНаСервере()
//Основные действия обработки не привожу       


    Попытка
        УдалитьВременныеФайлыНаСервере();
        Исключение
                Сообщить(ОписаниеОшибки());
        КонецПопытки;
КонецПроцедуры

&НаКлиенте
Процедура ЗагрузитьДанные(Команда)
        ЗагрузитьДанныеНаСервере();
КонецПроцедуры

&НаКлиенте
Функция ПоместитьФайлНаСервер()
        ФайлEXCEL = ПутьКФайлуНаКлиенте;
       
        ПомещаемыеФайлы = Новый Массив;
        Описание = Новый ОписаниеПередаваемогоФайла(ФайлEXCEL, "");
        ПомещаемыеФайлы.Добавить(Описание);
       
        ПомещенныеФайлы = Новый Массив;
       
        Если Не ПоместитьФайлы(ПомещаемыеФайлы, ПомещенныеФайлы, , Ложь, УникальныйИдентификатор) Тогда
                Сообщение = Новый СообщениеПользователю;
                Сообщение.Текст = "Не удалось поместить файл на сервер";
                Сообщение.Сообщить();
                возврат 0;         
        КонецЕсли;         
       
       
        Для каждого ТекЭлемент Из ПомещенныеФайлы Цикл         
                ПутьКФайлуНаСервере = ПолучитьИмяФайлаСПутемНаСервере(ТекЭлемент.Хранение,"xls");
                //Сообщить(ПутьКФайлуНаСервере);

                возврат ПутьКФайлуНаСервере;                 
        КонецЦикла;       
КонецФункции

&НаСервереБезКонтекста
Функция СформироватьУникальноеИмяФайла(ПереданныйПуть)
        Файл = Новый Файл(ПереданныйПуть);
        Путь = Файл.Путь;
        НовыйПуть = Путь + СтрЗаменить(ПользователиКлиентСервер.ТекущийПользователь()," ","") + "\";
        Каталог = Новый Файл(НовыйПуть);
        Если Не Каталог.Существует() Тогда
                СоздатьКаталог(НовыйПуть);
        КонецЕсли;
        НовоеИмяФайла = НовыйПуть + Файл.Имя;
        возврат НовоеИмяФайла;
       
КонецФункции// СформироватьУникальноеИмяФайла()


&НаСервереБезКонтекста
Функция ПолучитьИмяФайлаСПутемНаСервере(Адрес, Расширение)
        ИмяФайлаСПутем = "";
       
        ИмяФайлаСПутем = ПолучитьИмяВременногоФайла(Расширение);
        НовыйПуть = СформироватьУникальноеИмяФайла(ИмяФайлаСПутем);
        ИмяФайлаСПутем = НовыйПуть;
       
        ДвоичныеДанныеФайла = ПолучитьИзВременногоХранилища(Адрес);
       
        // Сохраним файл из БД на диск

        ДвоичныеДанныеФайла.Записать(ИмяФайлаСПутем);
       
        возврат ИмяФайлаСПутем;
       
КонецФункции

&НаКлиенте
Процедура ВыбратьФайл(Команда)
        Режим = РежимДиалогаВыбораФайла.Открытие;
        ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
        ДиалогОткрытияФайла.ПолноеИмяФайла = "";
        Фильтр = НСтр("Табличный документ'")
        + "|*.xls;*.xlsx;*.xlsm;*.xlsb";
        ДиалогОткрытияФайла.Фильтр = Фильтр; 
        ДиалогОткрытияФайла.Заголовок = "Выберите файлы";
        Если ДиалогОткрытияФайла.Выбрать() Тогда             
                ПутьКФайлуНаКлиенте = ДиалогОткрытияФайла.ВыбранныеФайлы[0];
                Сообщить("Выбран файл: " + ПутьКФайлуНаКлиенте);
                ЭтаФорма.Элементы.ЗагрузитьДанные.Доступность = Истина;
        Иначе
                Предупреждение(НСтр("ru = 'Файл не выбран!'; en = 'File is not selected!'"));
        КонецЕсли;
       
        ПоместитьФайлНаСервер();
КонецПроцедуры

&НаСервере
Процедура УдалитьВременныеФайлыНаСервере()       
        ИмяКаталога = "" + КаталогВременныхФайлов()
        + СтрЗаменить(ПользователиКлиентСервер.ТекущийПользователь()," ","") + "\";
        Каталог = Новый Файл(ИмяКаталога);
        Если Каталог.Существует() Тогда
                УдалитьФайлы(ПутьКФайлуНаСервере);
        КонецЕсли;
        Сообщить(ПутьКФайлуНаСервере);       
КонецПроцедуры// УдалитьВременныеФайлыНаСервере()


Оффлайн TrigubovichL

  • *
  • Сообщений: 44
  • РЕПУТАЦИЯ: 1
  • КПД: 2%
  • Регистрация: 2015-11-06
  • Сайт: 
  • Профессия: Программист 1С
&НаСервере
Процедура УдалитьВременныеФайлыНаСервере()       
        ИмяКаталога = "" + КаталогВременныхФайлов()
        + СтрЗаменить(ПользователиКлиентСервер.ТекущийПользователь()," ","") + "\";
        Каталог = Новый Файл(ИмяКаталога);
        Если Каталог.Существует() Тогда
                УдалитьФайлы(ПутьКФайлуНаСервере);
        КонецЕсли;
        Сообщить(ПутьКФайлуНаСервере);       
КонецПроцедуры

Слегка "режет глаз" параметр функции "УдалитьФайлы" = "ПутьКФайлуНаСервере".
В модуле процедуры эта переменная не определена.
Это реквизит некой формы или объекта?
По-моему было бы логично написать как-то так:
        Если Каталог.Существует() Тогда 
                УдалитьФайлы(ИмяКаталога);
        КонецЕсли;


 

Удаление помеченных объектов ("Не удалось записать "Контактная информация"")

Автор SnakeyРаздел Пользователям "1С - Предприятие 8"

Ответов: 5
Просмотров: 5847
Последний ответ 08 Янв 2015, 09:15
от Sanario
Возможно ли получение эталонного файла конфигурации *.cf из измененной стандартной, например (УТ 11.1, БП 3.0) или вопрос о том как убрать лишние доработки и привести конфигурацию базы максимально к стандартной после варварских "доработок"?

Автор kostyaomskРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 9
Просмотров: 7124
Последний ответ 30 Дек 2015, 22:14
от 1Cnastroika
Удаление папки "Темп"

Автор TATIZРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 1330
Последний ответ 11 Мар 2015, 13:45
от дфтын
Отсутствие документов помеченных на удаление в обработке удаления помеченных

Автор ak47Раздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 2291
Последний ответ 06 Июн 2013, 11:47
от Совёнок
Не могу найти "Удаление помеченных объектов"

Автор LeviathanРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 7
Просмотров: 3557
Последний ответ 14 Янв 2016, 06:03
от cska-fanat-kz

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
83 Сообщений
wise wise
63 Сообщений
Dethmontt Dethmontt
59 Сообщений
MuI_I_Ika MuI_I_Ika
51 Сообщений
alex0402
49 Сообщений
ilyay ilyay
32 Сообщений
Сергей Федоров Сергей Федоров
32 Сообщений
ilnur75
22 Сообщений
Дмитрий Медведков
19 Сообщений
magnifico61
18 Сообщений

* Кто онлайн

  • Точка Гостей: 277
  • Точка Скрытых: 0
  • Точка Пользователей: 4
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal