|
Настройки отчета на СКД... | ☑ | ||
---|---|---|---|---|
0
mua thu
05.11.13
✎
23:39
|
База УПП, есть отчет на СКД в котором пользователь может выбирать нужные настройки и сохранять их. Есть регламентное задание - в котором по расписанию формируется этот отчет и выгружается в эксель. Не могу понять как можно загрузить программно последние сохраненные пользователем настройки отчета. Формирую только с настройками по умолчанию:
СКД = Отчеты.ДанныеОТоварахДляСайта.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); Настройки = скд.НастройкиПоУмолчанию; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СКД,Настройки); ПроцКомпДанных = Новый ПроцессорКомпоновкиДанных; ПроцКомпДанных.Инициализировать(МакетКомпоновки); ТабДок = Новый ТабличныйДокумент; ПроцВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцВывода.УстановитьДокумент(ТабДок); ПроцВывода.Вывести(ПроцКомпДанных); ТабДок.ОтображатьЗаголовки = Ложь; ТабДок.Показать(); Путь = "d:\Базы 1С\Эксперт 1С\СпортТоп\"; ТабДок.Записать(Путь+"k.xls","xls"); Пожалуйста подскажите, как можно получить нужные настройки? Заранее благодарю! |
|||
1
zippygrill
05.11.13
✎
23:42
|
Что для каждого пользователя своя настройка и выгрузка в эксель по рассписанию? А не уошерно ли это? Какие у вас на это причины?
|
|||
2
mua thu
05.11.13
✎
23:44
|
С отчетом будет работать один пользователь.
|
|||
3
zippygrill
05.11.13
✎
23:48
|
1. Смотри скд. Пользовательские настройки
2. Добавь кнопку на форме отчета типо "сохранить отчет(хls)" и сохраняй сформированный табдок |
|||
4
zippygrill
05.11.13
✎
23:49
|
3. Пошли лесом пользователя. Ему тяжело самому сохранить чтоли?
|
|||
5
mua thu
05.11.13
✎
23:52
|
Ну идея такая что кнопка на форме-то есть.=) Типа настройки он один раз сохранит в отчете и потом по расписанию будет выполняться выгрузка в эксель - для сайта собственно.. Через какое-то время он может чуть поменять настройки и дальше чтобы с новыми выгружалось. Как-то так..=))
|
|||
6
mua thu
05.11.13
✎
23:54
|
Я думаю может через xml попробовать, но так еще не делал, выгружаю из отчета но загрузить нормально не могу..=))
|
|||
7
zippygrill
06.11.13
✎
00:01
|
Почему не можешь загрузить?
|
|||
8
mua thu
06.11.13
✎
00:09
|
Сохраняю так:
Процедура СохранитьНастройку() Экспорт СтруктураНастроек = ТиповыеОтчеты.ПолучитьСтруктуруПараметровТиповогоОтчета(ЭтотОбъект); СохранениеНастроек.СохранитьНастройкуОбъекта(СохраненнаяНастройка, СтруктураНастроек); ЗаписьXML = Новый ЗаписьXML; ЗаписьXML.ОткрытьФайл("d:\Базы 1С\Эксперт 1С\СпортТоп\1.xml"); ЗаписьXML.ЗаписатьОбъявлениеXML(); СериализаторXDTO.ЗаписатьXML(ЗаписьXML, СтруктураНастроек); КонецПроцедуры А загрузить пытаюсь так но че-то не то.: СКД = Отчеты.ДанныеОТоварахДляСайта.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); // ЧтениеXML = Новый ЧтениеXML; //ЧтениеXML.ОткрытьФайл("d:\Базы 1С\Эксперт 1С\СпортТоп\1.xml"); //Настройки = СериализаторXDTO.ПрочитатьXML(ЧтениеXML); КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; И т.д. |
|||
9
mua thu
06.11.13
✎
00:11
|
В этой строке ругается на параметр Настройки:
МакетКомпоновки = КомпоновщикМакета.Выполнить(СКД,Настройки); Тип данных не правильный но пока не соображу как сделать.. =) |
|||
10
zippygrill
06.11.13
✎
00:12
|
Так, погоди, причем тут настройки отчета и данные которые нужно загрузить насколько я понял на сайт?
|
|||
11
zippygrill
06.11.13
✎
00:14
|
Если не разберешся до завтра тогда скину пример.
|
|||
12
mua thu
06.11.13
✎
00:15
|
Спасибо большое! Буду ждать!
|
|||
13
mua thu
06.11.13
✎
12:19
|
Тема актуальна, буду благодарен за хорошие советы!
|
|||
14
mua thu
06.11.13
✎
14:19
|
Тема актуальна.. =))
|
|||
15
mua thu
06.11.13
✎
18:42
|
Тема актуальна.. =))
|
|||
16
Пол Ньюман
06.11.13
✎
18:44
|
(0) Добавить в форму отчета код, который будет сохранять при закрытии формы пару "Пользователь - Настройки" в какой-нибудь регистр.
|
|||
17
Зойч
06.11.13
✎
18:46
|
разве в упп нет сохраненных настроек
|
|||
18
mua thu
06.11.13
✎
18:53
|
Может есть в конфигурации какой-то пример по аналогии чтобы глянуть как это все делается? =))
|
|||
19
banco
06.11.13
✎
19:02
|
(18) есть, посмотри в БСП Рассылка отчетов
|
|||
20
mua thu
06.11.13
✎
19:05
|
Спасибо!
|
|||
21
mua thu
07.11.13
✎
21:19
|
Вот переделал так - но настройка не применяется - формируется как по умолчанию.. В чем может быть ошибка?
ОтчетОбъект = Отчеты.ДанныеОТоварахДляСайта.Создать(); СохраненнаяНастройка = Справочники.СохраненныеНастройки.НайтиПоНаименованию("2"); Если Не СохраненнаяНастройка.Пустая() Тогда СтруктураНастроек = СохраненнаяНастройка.ХранилищеНастроек.Получить(); Если Не СтруктураНастроек = Неопределено Тогда ОтчетОбъект.КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(ОтчетОбъект.СхемаКомпоновкиДанных)); ОтчетОбъект.КомпоновщикНастроек.ЗагрузитьНастройки(СтруктураНастроек.НастройкиКомпоновщика); ЗаполнитьЗначенияСвойств(ОтчетОбъект, СтруктураНастроек); Иначе ОтчетОбъект.КомпоновщикНастроек.ЗагрузитьНастройки(ОтчетОбъект.СхемаКомпоновкиДанных.НастройкиПоУмолчанию); КонецЕсли; Иначе ОтчетОбъект.КомпоновщикНастроек.ЗагрузитьНастройки(ОтчетОбъект.СхемаКомпоновкиДанных.НастройкиПоУмолчанию); КонецЕсли; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(ОтчетОбъект.СхемаКомпоновкиДанных,ОтчетОбъект.КомпоновщикНастроек.Настройки); ПроцКомпДанных = Новый ПроцессорКомпоновкиДанных; ПроцКомпДанных.Инициализировать(МакетКомпоновки); ТабДок = Новый ТабличныйДокумент; ПроцВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцВывода.УстановитьДокумент(ТабДок); ПроцВывода.Вывести(ПроцКомпДанных); ТабДок.ОтображатьЗаголовки = Ложь; ТабДок.Показать(); Путь = "D:\Work\"; ТабДок.Записать(Путь+"k1.xls","xls"); |
|||
22
К_Дач
07.11.13
✎
21:37
|
СКД = РеквизитФормыВЗначение("ОтчетОбъект").ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
ИсточникНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(СКД); КомпоновщикНастроек.Инициализировать(ИсточникНастроек); КомпоновщикНастроек.ЗагрузитьНастройки(СтруктураНастроек.НастройкиКомпоновщика); Компоновщик.Восстановить(); |
|||
23
К_Дач
07.11.13
✎
21:38
|
Вот так должно работать
|
|||
24
mua thu
07.11.13
✎
21:41
|
Да сорри забыл сказать - в 21) это код именно из общего модуля (формируется отчет и выгружается в эксель)
|
|||
25
К_Дач
07.11.13
✎
21:43
|
(24) у этого общего модуля должен стоять флаг "на сервере"
|
|||
26
mua thu
07.11.13
✎
21:45
|
Обычное приложение..
А вот пожалуйста подскажите как тогда вот эта строка будет выглядеть? МакетКомпоновки = КомпоновщикМакета.Выполнить(ОтчетОбъект.СхемаКомпоновкиДанных,ОтчетОбъект.КомпоновщикНастроек.Настройки); |
|||
27
mua thu
07.11.13
✎
21:46
|
МакетКомпоновки = КомпоновщикМакета.Выполнить(СКД,ОтчетОбъект.КомпоновщикНастроек.Настройки); Так?
|
|||
28
К_Дач
07.11.13
✎
21:48
|
(27) код формирования макета у тебя вроде правильный, я тебе код инициализации настроек подсказал, запихни его в свое условие
|
|||
29
mua thu
07.11.13
✎
21:56
|
Спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |