7.7 Сохранение файла через код

Тема в разделе "Отчеты и обработки для "1С:Предприятие 7.7"", создана пользователем Balu007, 26 апр 2016.

  1. TopicStarter Overlay
    Balu007
    Offline

    Balu007

    Регистрация:
    26 апр 2016
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Не могу прописать правильно как сохранить документ (отчет, который просматривается в виде таблицы) и прописать в него все данные через код. подскажите, как это должно выглядеть?
  2. man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    Сохранить печатную форму документа, которая выведена на экран, в Excel?
  3. TopicStarter Overlay
    Balu007
    Offline

    Balu007

    Регистрация:
    26 апр 2016
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    да, либо в pdf файл. Вроде бы все прописала, а не сохраняет. не могу найти ошибку.
  4. LordMaverick
    Offline

    LordMaverick Профессионал в 1С

    Регистрация:
    17 мар 2014
    Сообщения:
    3.429
    Симпатии:
    372
    Баллы:
    104
    в пдф 7.7 не сохраняет, а в эксель спокойно можно и при открытии таблицы готовой сохранять :))

    upload_2016-4-26_21-31-45.png
  5. TopicStarter Overlay
    Balu007
    Offline

    Balu007

    Регистрация:
    26 апр 2016
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    спасибо, сработало, а подскажите, как указать конкретный путь для сохранения? чтобы не сохранялся в папке базы, а на рабочий стол

    и как указать в названии Имя файла и за какой период(начало и конец). создаю для отчета. Например: Ведомость за 25.04.16-26.04.16
    Последнее редактирование: 26 апр 2016
  6. man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29

    Так можно:

    Функция СохранитьФайл(ВозврПуть)
    Перем Результат, Кат, Фай;
    Кат="";
    Фай="";
    Результат=0;
    Если ФС.ВыбратьФайл(1,Фай,Кат,"Выбор Файла","xls (*.xls) |*.xls",,)=1 Тогда
    ВозврПуть=Кат+Фай;
    Результат=1;
    Попытка
    ИсхТабл.Записать(ВозврПуть,1);
    Исключение
    Результат=0;
    КонецПопытки;
    КонецЕсли;

    Возврат Результат;
    КонецФункции


    Можно так:

    Если ПустоеЗначение(КаталогВыгрузки)=1 Тогда
    КаталогВыгрузки=КаталогПользователя();
    Сообщить("Не выбран каталог выгрузки! Прайс будет выгружен в "+КаталогВыгрузки,"i");
    КонецЕсли;

    ИмяФайла = СокрЛП(КаталогВыгрузки)+"\Мой отчет "+Формат(НачДата,"ДДДММГГГГ")+"-"+Формат(КонДата,"ДДДММГГГГ")+".xls";
    ИсхТабл.Записать(ИмяФайла,1);
    Последнее редактирование: 26 апр 2016
  7. TopicStarter Overlay
    Balu007
    Offline

    Balu007

    Регистрация:
    26 апр 2016
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    а еще есть варианты? через "записать" я так понимаю не сделать в названии ВыбНачПериода и ВыбКонПериода?
  8. LordMaverick
    Offline

    LordMaverick Профессионал в 1С

    Регистрация:
    17 мар 2014
    Сообщения:
    3.429
    Симпатии:
    372
    Баллы:
    104
    1) или явно указывать каталог в имени файла
    2) или предварительно установить нужный каталог (по умолчанию оно и сохраняет в каталог пользователя)

    Код:
    УстТекКаталог(<?>);
    Синтаксис:
    УстТекКаталог(<ИмяФайла>)
    Назначение:
    Устанавливает текущий каталог файлов.
    Параметры:
    <ИмяФайла> - строка с именем текущего каталога файлов.
    если №1 то имя файла можно формировать,
    НужноеИмяФайла="C:\Users\"имя пользователя"\Desktop\"+"Ведомость за "+"ДатаНачала"+"-"+"ДатаКонец";
    (ДатаНачала и ДатаКонец это с формы отчёта, "имя пользователя" это имя пользователя в винде (пишу пример для 7-ки))

    т.е. в итоге будет
    Код:
    Таб.Записать(НужноеИмяФайла,1);
    если №2 то имя так же можно формировать, но без указания каталога, ибо он уже задан
    тут разберётесь надеюсь
    НужноеИмяФайла="Ведомость за "+"ДатаНачала"+"-"+"ДатаКонец";

    PS
    ещё можно использовать ПериодСтр(Дата1,Дата2)

    Код:
    ПериодСтр(<?>)
    Синтаксис:
    ПериодСтр(<ДатаНачалаПериода>,<ДатаКонцаПериода>)
    Назначение:
    Возвращает информацию о периоде бухгалтерских итогов в виде строки символов. Строка может использоваться для выдачи инфорации о периоде итогов в отчетах.
    Параметры:
    <ДатаНачалаПериода> - выражение со значением типа дата. Начальная дата периода
    <ДатаКонцаПериода> - выражение со значением типа дата. Конечная  дата периода
    Пример:
    Сообщить(ПериодСтр('01.01.97','31.03.97'));  //Выводит ''1 квартал 1997 г.''
  9. TopicStarter Overlay
    Balu007
    Offline

    Balu007

    Регистрация:
    26 апр 2016
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    спасибо, попробую сделать по №1)
  10. TopicStarter Overlay
    Balu007
    Offline

    Balu007

    Регистрация:
    26 апр 2016
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Спасибо большое, все получилось!

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