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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

oleg-x
176 Сообщений
alex0402
82 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
81 Сообщений
AsadRoman
36 Сообщений
Kironten
34 Сообщений
ilyay ilyay
30 Сообщений
Golickoff Golickoff
29 Сообщений
AIFrame
27 Сообщений
BuhRust
26 Сообщений
Варвар
20 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal