8.х Автоматическое сохранение файла на диск, без выбора каталога

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем iceborn, 16 май 2011.

  1. TopicStarter Overlay
    iceborn
    Offline

    iceborn Опытный в 1С

    Регистрация:
    17 июн 2010
    Сообщения:
    204
    Симпатии:
    0
    Баллы:
    26
    Здесь я выбираю куда сохранить файл и сохраняю, а как сделать что бы он автоматически сохранялся допустим на диск C?

    Код:
    Режим = РежимДиалогаВыбораФайла.Сохранение;
    ДиалогСохранения = Новый ДиалогВыбораФайла(Режим);
    ДиалогСохранения.Фильтр= "XML|*.xml";                                                           
    ДиалогСохранения.МножественныйВыбор=Ложь;
    
    
    Если ДиалогСохранения.Выбрать() тогда
    ОбъектXML = Новый ЗаписьXML();
    ОбъектXML.ОткрытьФайл(ДиалогСохранения.ПолноеИмяФайла,"UTF-8");
    ОбъектXML.ЗаписатьНачалоЭлемента("Товары");
    ОбъектXML.ЗаписатьТекст("Остатки, продажи и закупки акционного товара "+"на период с "+Формат(ДатаС,"ДФ=dd.MM.yyyy")+" по "+Формат(ДатаПо,"ДФ=dd.MM.yyyy"));
    Пока Результат.Следующий() Цикл
    ОбъектXML.ЗаписатьНачалоЭлемента("Элемент");
    ОбъектXML.ЗаписатьАтрибут("Наименование", СокрЛП(Результат.Номенклатура));     
    ОбъектXML.ЗаписатьАтрибут("Продажи", СокрЛП(Результат.КоличествоПродаж));
    ОбъектXML.ЗаписатьАтрибут("Закупки", СокрЛП(Результат.КоличествоЗакупок));
    ОбъектXML.ЗаписатьАтрибут("Остаток", СокрЛП(Результат.ОстатокТовара));
    ОбъектXML.ЗаписатьАтрибут("ЦенаЗакупки", СокрЛП(Результат.ЦенаЗакупки));
    ОбъектXML.ЗаписатьКонецЭлемента();
    КонецЦикла;
    ОбъектXML.ЗаписатьКонецЭлемента();
    ОбъектXML.Закрыть();
    КонецЕсли;
    
  2. has
    Offline

    has Опытный в 1С

    Регистрация:
    18 июн 2009
    Сообщения:
    708
    Симпатии:
    0
    Баллы:
    26
    Так чтоли?
    Код:
    ОбъектXML.ОткрытьФайл("C:\My.xml","UTF-8");
    
    
    Или надо чтобы по умолчанию диск С: ставил? Тогда попробуй так
    Код:
    Режим = РежимДиалогаВыбораФайла.Сохранение;
    ДиалогСохранения = Новый ДиалогВыбораФайла(Режим);
    ДиалогСохранения.Фильтр= "XML|*.xml";                                                           
    ДиалогСохранения.МножественныйВыбор=Ложь;
    ДиалогСохранения.КАталог = "C:\";
    Если ДиалогСохранения.Выбрать() тогда
    
    
  3. TopicStarter Overlay
    iceborn
    Offline

    iceborn Опытный в 1С

    Регистрация:
    17 июн 2010
    Сообщения:
    204
    Симпатии:
    0
    Баллы:
    26
    has
    Нет, это открыть файл. А надо что бы он сам задал название файлу и сохранил его
  4. has
    Offline

    has Опытный в 1С

    Регистрация:
    18 июн 2009
    Сообщения:
    708
    Симпатии:
    0
    Баллы:
    26
    Я не проверял, но разве метод ОткрытьФайл в случае его отсутствия не создает его?
  5. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Может и не создает, а только указывает имя... но ОбъектXML.ЗаписатьКонецЭлемента() точно создаст...
    Думаю нужно выкинуть условие ДиалогСохранения.Выбрать() и явно указать имя как и сказал has
  6. Vladius
    Offline

    Vladius Опытный в 1С

    Регистрация:
    10 ноя 2010
    Сообщения:
    663
    Симпатии:
    3
    Баллы:
    29
    Решил проблему так.

    Убрал условие
    Код:
    Если ДиалогСохранения.Выбрать() тогда
    
    И поправил эту строку
    Код:
    ОбъектXML.ОткрытьФайл("C:/Otchet.xml","UTF-8");
    

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