8.х Сохранение файла в выбранном формате!

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем r18romik, 23 апр 2008.

  1. TopicStarter Overlay
    r18romik
    Offline

    r18romik Опытный в 1С

    Регистрация:
    19 фев 2008
    Сообщения:
    129
    Симпатии:
    0
    Баллы:
    26
    Добрый день!
    Подскажите как сохранить выбранный файл в выбранном формате!
    Вот код,как сделать чтбы сохранялось не только в формате jpeg но и в doc и в других форматах?
    Фильтр файлов я сделал!

    Код:
    ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
    ДиалогОткрытияФайла.Заголовок = "Выберите файл!!!";
    ДиалогОткрытияФайла.ПолноеИмяФайла = "";
    ДиалогОткрытияФайла.ПредварительныйПросмотр = Истина;
    ДиалогОткрытияФайла.Фильтр = ПолучитьФильтрИзображений();
    ДиалогОткрытияФайла.Фильтр = ПолучитьФильтрФайлов();
    
    Если ДиалогОткрытияФайла.Выбрать() Тогда
    ВыбранноеИзображение = Новый Картинка(ДиалогОткрытияФайла.ПолноеИмяФайла, Ложь);
    ВыбранноеИзображение.ФильтрИменФайлов();
    ВыбранноеИзображение.Формат();
    ВыбранноеИзображение.Записать("C:\1c_base\v8\ЗаявочнаяБаза\Файлы\"+Строка(Номер+Автор)+".jpeg");
    
    Предупреждение("Файл успешно прикреплён!!! ");
    
    Иначе
    Предупреждение("Ошибка при прикреплении файла!!!"+ДиалогОткрытияФайла.ПолноеИмяФайла);
    Возврат;
    КонецЕсли;
    
  2. TopicStarter Overlay
    r18romik
    Offline

    r18romik Опытный в 1С

    Регистрация:
    19 фев 2008
    Сообщения:
    129
    Симпатии:
    0
    Баллы:
    26
    Подскажте пожалуйста!!!
    Вот я записываю файла в разных форматах!
    При прикреплении у меня создаются два файла с этими разрешениями! Как сделать чтобы сохранялось
    только в том формате в котором и сам файл! То есть есл я выбираю картинку сохранялось в jpeg,соответсвенно если текстовый фалй то в word!!!

    Код:
     Если ДиалогОткрытияФайла.Выбрать() Тогда
    ВыбранноеИзображение = Новый Картинка(ДиалогОткрытияФайла.ПолноеИмяФайла, Ложь);
    ВыбранноеИзображение.ФильтрИменФайлов();
    ВыбранноеИзображение.Формат();
    
    ВыбранноеИзображение.Записать("C:\1c_base\v8\ЗаявочнаяБазаэФайлы\"+Строка(Номер+Автор)+".jpeg");
    ВыбранноеИзображение.Записать("C:\1c_base\v8\ЗаявочнаяБазаэФайлы\"+Строка(Номер+Автор)+".doc");        
    
    
    
    
  3. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Я вообще не понял, что значит выбранный файл в выбранном формате...
  4. TopicStarter Overlay
    r18romik
    Offline

    r18romik Опытный в 1С

    Регистрация:
    19 фев 2008
    Сообщения:
    129
    Симпатии:
    0
    Баллы:
    26
    Вот смотри код:) ВыбранноеИзображение.Записать("C:\1c_base\v8\ЗаявочнаяБазаэФайлы\"+Строка(Номер+Автор)+".jpeg");
    ВыбранноеИзображение.Записать("C:\1c_base\v8\ЗаявочнаяБазаэФайлы\"+Строка(Номер+Автор)+".doc");
    Через диалог я выбираю файл,он у меня с этим кодом сохраняется сразу в двух форматах!
    Надо чтобы выбранный файл сохраняся либо в jpeg либо в doc,в зависимости от выбранного файла!
  5. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Ну так проверяй расширение файла и с ним и записывай.
    Проблема не очем, честно говоря, а код для этого случая - неверный.
  6. TopicStarter Overlay
    r18romik
    Offline

    r18romik Опытный в 1С

    Регистрация:
    19 фев 2008
    Сообщения:
    129
    Симпатии:
    0
    Баллы:
    26
    Подскажи пожалуйста как проверить это дело при выборе файла в диалоговом окне?
    И какой код тгда для такого случая верный?
  7. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Тебе возвращается имя выбранного файла - дальше уже совсем просто :)
  8. TopicStarter Overlay
    r18romik
    Offline

    r18romik Опытный в 1С

    Регистрация:
    19 фев 2008
    Сообщения:
    129
    Симпатии:
    0
    Баллы:
    26
    Сделал отбор по расширению.всё равно не получилось..:(
  9. TopicStarter Overlay
    r18romik
    Offline

    r18romik Опытный в 1С

    Регистрация:
    19 фев 2008
    Сообщения:
    129
    Симпатии:
    0
    Баллы:
    26
    Кто нибудь ещё в состоянии подсказать по текущей проблеме? :unsure:
  10. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    1. Поставь правильно задачу
    2. Приведи алгоритм решения (не код)
    3. Расскажи, в чем проблема

    Писать код с нуля мало кто будет...
  11. TopicStarter Overlay
    r18romik
    Offline

    r18romik Опытный в 1С

    Регистрация:
    19 фев 2008
    Сообщения:
    129
    Симпатии:
    0
    Баллы:
    26
    В общем объясняю ешё раз подробно:)
    У меня есть форма документ! В это форме я создал кнопку ПРИКРЕПИТЬ ФАЙЛ !
    При её нажатии открывается диалговое окно с выбором файли,при выборе файл копируется ко мне на компьютер в определённую папку!
    Вопрос в том, как сохранить файл в том формае в котором он и есть на самом деле и как потом при нажатии кнопки ОТКЫТЬ ФАЙЛ ,файл открывался из моемй папки выбирая редактор по расширению (то есть если jpeg то просмотр изабражения,если doc ,то открывался word!
    Сейчас код порграммы выглядит так! Подскажте пожалуйста кто знает! Заранее спасиб!

    Процедура ПрикрепитьНажатие(Элемент)

    Если ЭтоНовый() Тогда
    Предупреждение("Необходимо заполнить и записать заявку!!!");
    КонецЕсли;

    Если Не ЭтоНовый() Тогда
    Предупреждение("Вы хотите прикрепить файл к заявке?");
    КонецЕсли;

    ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
    ДиалогОткрытияФайла.Заголовок = "Выберите файл!!!";
    ДиалогОткрытияФайла.ПолноеИмяФайла = "";
    ДиалогОткрытияФайла.ПредварительныйПросмотр = Истина;
    ДиалогОткрытияФайла.Фильтр = ПолучитьФильтрИзображений();
    ДиалогОткрытияФайла.Фильтр = ПолучитьФильтрФайлов();

    Если ДиалогОткрытияФайла.Выбрать() Тогда
    ВыбранноеИзображение = Новый Картинка(ДиалогОткрытияФайла.ПолноеИмяФайла, Ложь);
    ВыбранноеИзображение.ФильтрИменФайлов();
    ВыбранноеИзображение.Формат();
    ВыбранноеИзображение.Записать("C:\1c_base\v8\ЗаявочнаяБаза\Файлы\"+Строка(Номер+Заявитель)+".jpeg");


    Предупреждение("Файл успешно прикреплён!!!");

    Иначе
    Предупреждение("Ошибка при прикреплении файла!!!"+ДиалогОткрытияФайла.ПолноеИмяФайла);
    Возврат;

    КонецЕсли;

    Файл = ""+Строка(Номер+Заявитель)+".jpeg";

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

    Процедура ОткрытьФайлНажатие(Элемент)

    ЗапуститьПриложение("C:\1c_base\v8\ЗаявочнаяБаза\Файлы\"+Строка(Номер+Заявитель)+".doc");

    КонецПроцедуры
  12. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Не понимаю, зачем ты добавляешь расширение? Получи полное имя и все.
  13. TopicStarter Overlay
    r18romik
    Offline

    r18romik Опытный в 1С

    Регистрация:
    19 фев 2008
    Сообщения:
    129
    Симпатии:
    0
    Баллы:
    26
    То есть вот здесь?
    ВыбранноеИзображение.Записать("C:\1c_base\v8\ЗаявочнаяБаза\Файлы\"+Строка(Номер+Заявитель)+".jpeg")

    Вместо расширения ".jpeg" сделать ПолноеИмяФайла ?
  14. TopicStarter Overlay
    r18romik
    Offline

    r18romik Опытный в 1С

    Регистрация:
    19 фев 2008
    Сообщения:
    129
    Симпатии:
    0
    Баллы:
    26
    Делал я с полныи именем,но в него только входим имя файла..а расшиоение нет и получается,что файл прсто сохраняется без расширения!
  15. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
  16. TopicStarter Overlay
    r18romik
    Offline

    r18romik Опытный в 1С

    Регистрация:
    19 фев 2008
    Сообщения:
    129
    Симпатии:
    0
    Баллы:
    26
    ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
    ДиалогОткрытияФайла.Заголовок = "Выберите файл!!!";
    ДиалогОткрытияФайла.ПолноеИмяФайла = "";
    ДиалогОткрытияФайла.ПредварительныйПросмотр = Истина;
    ДиалогОткрытияФайла.Фильтр = ПолучитьФильтрИзображений();
    ДиалогОткрытияФайла.Фильтр = ПолучитьФильтрФайлов();
    ДиалогОткрытияФайла.Расширение = "";

    Если ДиалогОткрытияФайла.Выбрать() Тогда
    ВыбранноеИзображение = Новый Картинка(ДиалогОткрытияФайла.ПолноеИмяФайла, Ложь);
    ВыбранноеИзображение.ФильтрИменФайлов();
    ВыбранноеИзображение.Формат();


    ВыбранноеИзображение.Записать("C:\1c_base\v8\ЗаявочнаяБаза\Файлы\"+Строка(Номер+Заявитель)+"+ДиалогОткрытияФайла.Расширение = "");


    Подскажи как записать тогда его с использованием этого расширения!!!
  17. TopicStarter Overlay
    r18romik
    Offline

    r18romik Опытный в 1С

    Регистрация:
    19 фев 2008
    Сообщения:
    129
    Симпатии:
    0
    Баллы:
    26
    Тишина..............
  18. GRUV
    Offline

    GRUV Опытный в 1С

    Регистрация:
    7 ноя 2007
    Сообщения:
    106
    Симпатии:
    0
    Баллы:
    26
    ВыбранноеИзображение.Записать(Путь + Имя + "." + ДиалогОткрытияФайла.Расширение);

    :unsure:
  19. TopicStarter Overlay
    r18romik
    Offline

    r18romik Опытный в 1С

    Регистрация:
    19 фев 2008
    Сообщения:
    129
    Симпатии:
    0
    Баллы:
    26
    Путь = "C:\1c_base\v8\ЗаявочнаяБаза\Файлы\";
    Имя = "1";
    Расширение = ДиалогОткрытияФайла.Расширение = "";

    ВыбранноеИзображение.Записать(Путь + Имя +"."+Расширение);

    Не получает расширение!!! Имя есть а вместо расширения пишет .истина (например: 1.истина)
  20. GRUV
    Offline

    GRUV Опытный в 1С

    Регистрация:
    7 ноя 2007
    Сообщения:
    106
    Симпатии:
    0
    Баллы:
    26
    вместо расширения пишет <Истина> Потому что в переменную Расширение ты занисишь результат сравнения расширения выбранного файли и пустой строки ... зачем ?

Поделиться этой страницей