Имя: Пароль:
1C
1С v8
Авто сохранения выходных печатных форм!
0 Longdimm
 
08.09.12
18:31
Есть такая задача:
В определенное время запускать отчет и форму печатную которая выходит сохранять на диск. Отчеты формируются из компоновки данных.  
Как это можно реализовать???
Буду очень признателен за советы!
1 Nexux
 
08.09.12
18:37
ТабличныйДокумент.Записать(<ИмяФайла>, <ТипФайлаТаблицы>)
2 Wobland
 
08.09.12
18:39
делал подобную фигню. регзадание + (1) - всё тупо. пока не выяснилось, что нужна хтмл-ка ;)
3 Longdimm
 
08.09.12
18:43
2- не понял... а табличный документ сохранять как? Мне ведь надо запустить отчет чтобы он не появился на экране, а если это делается в компоновке данных то как это сделать?
4 Wobland
 
08.09.12
18:44
(3) не сохранять, а записать. куда выводится твой отчёт? вот это и записывай
5 Longdimm
 
08.09.12
18:51
надо чтобы в фоновом режиме раз в час запускалась обработка, которая запускает ряд отчетов, и выходные печатные формы сохраняет на диск.
Создать отчет, добавить нужные фильтры это я могу.


   Отчет = Отчеты.ОтчетПоЧекамККМ.Создать();
   ФормаОтчета = Отчет.ПолучитьФорму();
   ФормаОтчета.Открыть();
   ФормаОтчета.НачалоПериода = НачалоМесяца(ТекущаяДата());
   ФормаОтчета.КонецПериода = КонецМесяца(ТекущаяДата());

   //Установка периода отчета
   ЗначениеПараметраНачалоПериода = Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("НачалоПериода"));
   ЗначениеПараметраКонецПериода = Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("КонецПериода"));
   
   ТекНастройкиКомпоновщика = Отчет.КомпоновщикНастроек.Настройки;
       
   
   ЗначениеПараметраНачалоПериода.Значение = (ТекущаяДата());
   ЗначениеПараметраКонецПериода.Значение = (ТекущаяДата());
       
   ФормаОтчета.ОбновитьОтчет();


Вот такой вызов отчета. Но он открывается...
6 Wobland
 
08.09.12
18:52
(5) убери оттуда форму, и он будет работать, я думаю
7 Wobland
 
08.09.12
18:54
вот как делал. это процедура регзадания:

Процедура ВыгрузкаВерсийППДляСайта() Экспорт
   СхемаКомпоновкиДанных=Отчеты.ВерсииППДляСайта.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
   Настройки=СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
   КомпоновщикМакета=Новый КомпоновщикМакетаКомпоновкиДанных;
   МакетКомпоновки=КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки);
   ПроцессорКомпоновки=Новый ПроцессорКомпоновкиДанных;
   ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);
   ТабДок=Новый ТабличныйДокумент;
   ПроцессорВывода=Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
   ПроцессорВывода.УстановитьДокумент(ТабДок);
   ПроцессорВывода.Вывести(ПроцессорКомпоновки);
   
   ИмяФайлаТут=ПолучитьИмяВременногоФайла("html");
   //Попытка
   //    ТабДок.Записать(ИмяФайлаТут);
   //Исключение
   //    //ЗаписьЖурналаРегистрации("ошибка записи файла версий ПП для сайта: "+ИмяФайлаТут);
   //    ЗаписьЖурналаРегистрации(ОписаниеОшибки());
   //    Возврат;
   //КонецПопытки;
   
   Конвертер=Обработки.MXL2HTML.Создать();
   Конвертер.КонвертацияMXL_в_HTML(ТабДок, ИмяФайлаТут);
8 Longdimm
 
08.09.12
18:54
(6) - не понял...
9 Wobland
 
08.09.12
18:56
(8) теперь понял?
ПроцессорВывода.УстановитьДокумент(ТабДок);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
ТабДок.Записать(ИмяФайлаТут);
10 Longdimm
 
08.09.12
20:50
!!! Класс! Все работает! Спасибо огромное!
11 Longdimm
 
08.09.12
21:10
Еще вопрос возник!!

А в этом случаи как прицепить настройки сохраненные???


   СохраненнаяНастройка = Справочники.СохраненныеНастройки.НайтиПоНаименованию("3.3. Выручка по способу оплат вчера");    
   
   СтруктураПараметров = СохраненнаяНастройка.ХранилищеНастроек.Получить();
   ЗаполнитьЗначенияСвойств(СхемаКомпоновкиДанных, СтруктураПараметров);

в этом случаи ничего не происходит...
12 Nexux
 
08.09.12
21:16
настройки в компоновщик подгружай
13 Longdimm
 
08.09.12
21:24
Выдает ошибку..  

СхемаКомпоновкиДанных=Отчеты.ОтчетПоЧекамККМ.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
   Настройки=СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
   
   КомпоновщикМакета=Новый КомпоновщикМакетаКомпоновкиДанных;
   
   
   СохраненнаяНастройка = Справочники.СохраненныеНастройки.НайтиПоНаименованию("3.3. Выручка по способу оплат вчера");    
   СтруктураПараметров = СохраненнаяНастройка.ХранилищеНастроек.Получить();
   Настройки.ЗагрузитьНастройки(СтруктураПараметров);
   
   ////ЗаполнитьЗначенияСвойств(СхемаКомпоновкиДанных, СтруктураПараметров);
   
   МакетКомпоновки=КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки);
14 Longdimm
 
08.09.12
21:26
Разных типов сохраненные настройки и настойки компоновки данных
15 Longdimm
 
08.09.12
22:52
Как подгрузить настройки в компановщик!! Вот самый сложный вопрос...
16 Wobland
 
09.09.12
08:33
(15) поновщик
17 Wobland
 
09.09.12
08:35
поразмысли над этим

Процедура ДействияФормыСформировать(Кнопка)
   УстановитьНастройки();
   СформироватьОтчёт();
КонецПроцедуры

Процедура УстановитьНастройки()
   ПараметрДанныхНачалоПериода=КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода");
   ПараметрДанныхНачалоПериода.Значение='00010101';
   ПараметрДанныхНачалоПериода.Использование=Истина;
   ПараметрДанныхКонецПериода=КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("КонецПериода");
   ПараметрДанныхКонецПериода.Значение=КонецДня(РабочаяДата);
   ПараметрДанныхКонецПериода.Использование=Истина;
   Настройки=КомпоновщикНастроек.Настройки;
КонецПроцедуры

Процедура СформироватьОтчёт()
   КомпоновщикМакета=Новый КомпоновщикМакетаКомпоновкиДанных;
   МакетКомпоновки=КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки);
...
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс