Гость
Форумы / [игнор отключен] [закрыт для гостей] / СКД Вывод пользовательских параметров в табличный документ / 11 сообщений из 11, страница 1 из 1
17.07.2013, 18:53
    #38334646
NecroArt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
СКД Вывод пользовательских параметров в табличный документ
Здравствуйте.
Имеется готовый отчёт на СКД. При выводе отчёта перед шапкой печатаются параметры, который пользователь задал в настройках формирования отчёта. В макете внутри СКД есть только две строки, содержащие параметры НачалоПериода и КонецПериода.
А, как показано на скриншоте, выводится слово "Параметры:" и ещё третий параметр.
Подскажите пожалуйста, в каком месте СКД можно манипулировать выводом этих задаваемых пользователем параметров. В частности, нужно не выводить третий параметр при определённом его значении, или, на крайний случай, вообще не выводить этот параметр никогда.
...
Рейтинг: 0 / 0
18.07.2013, 08:21
    #38335032
DmitriyZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
СКД Вывод пользовательских параметров в табличный документ
NecroArt, поиграйтесь этими настройками.
...
Рейтинг: 0 / 0
18.07.2013, 10:43
    #38335150
Программист 1с
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
СКД Вывод пользовательских параметров в табличный документ
Закладка параметры. Галочка ограничение доступности. Насколько я помню - если стоит то параметр не выводится в скд.
...
Рейтинг: 0 / 0
18.07.2013, 11:16
    #38335225
Последний выдох ГПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
СКД Вывод пользовательских параметров в табличный документ
перед выводом получить скомпилированный макет, бежать по ячейкам, затирать ненужное, возвращать макет скд обратно
...
Рейтинг: 0 / 0
18.07.2013, 11:16
    #38335227
NecroArt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
СКД Вывод пользовательских параметров в табличный документ
DmitriyZNecroArt, поиграйтесь этими настройками.
Игрался, но это никак не влияет на вывод. И, думаю, это не приемлимо, т.к. это общее свойство на все параметры - нужно выводить остальные два; хотя, если убрать все параметры, то можно потом добавить только нужные вручную.

Программист 1сЗакладка параметры. Галочка ограничение доступности. Насколько я помню - если стоит то параметр не выводится в скд.
Да, он не выводятся при этом, но проблема в том, что он и не доступен для изменения пользователем. Нужно сохранить доступность параметра в настройках, при этом убрав его из вывода в макет.
...
Рейтинг: 0 / 0
18.07.2013, 11:20
    #38335236
NecroArt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
СКД Вывод пользовательских параметров в табличный документ
Последний выдох ГПЖ,

Спасибо, как вариант сейчас попробую. Не подскажите, где нужно вмешиваться? Вот код, который выводит макет

Код: html
1.
2.
3.
4.
5.
6.
ЭлементыФормы.Результат.Очистить();
ДокументРезультат = ЭлементыФормы.Результат;
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
	
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);



ЭлементыФормы.Результат - как видно, область для вывода сформированного макета.
Нужно работать с ДокументРезультат после строки "ПроцессорВывода.УстановитьДокумент(ДокументРезультат);"?
...
Рейтинг: 0 / 0
18.07.2013, 11:33
    #38335252
Последний выдох ГПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
СКД Вывод пользовательских параметров в табличный документ
у меня такое было в отчете, строящимся на базе типового

Функция СформироватьТиповойОтчет(ОтчетОбъект, Результат = Неопределено, ДанныеРасшифровки = Неопределено, ВыводВФормуОтчета = Истина, ВнешниеНаборыДанных = Неопределено, ВыводитьШапкуОтчетаНаВсехСтраницах = истина) Экспорт

Если ТипЗнч(Результат) = Тип("Строка") Тогда
ПараметрыИсполненияОтчета = Неопределено;
ПараметрыИсполненияОтчета = ОтчетОбъект.ПолучитьПараметрыИсполненияОтчета();
ДанныеРасшифровки = Неопределено;
// Вывод отчета в XML
СохранениеНастроек.ЗаполнитьНастройкиПриОткрытииОтчета(ОтчетОбъект);
ОтчетОбъект.ДоработатьКомпоновщикПередВыводом();
// Сгенерируем макет компоновки данных при помощи компоновщика макета
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(ОтчетОбъект.СхемаКомпоновкиДанных, ОтчетОбъект.КомпоновщикНастроек.Настройки, ДанныеРасшифровки);
// Создадим и инициализируем процессор компоновки
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
Если ПараметрыИсполненияОтчета <> Неопределено И ПараметрыИсполненияОтчета.Свойство("ИспользоватьСобытияПриФормированииОтчета") И ПараметрыИсполненияОтчета.ИспользоватьСобытияПриФормированииОтчета тогда
ОтчетОбъект.ПередВыводомОтчета(МакетКомпоновки, ПроцессорКомпоновки);
КонецЕсли;
Если ВнешниеНаборыДанных = Неопределено Тогда
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки,, ДанныеРасшифровки);
Иначе
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ДанныеРасшифровки);
КонецЕсли;

.............
.............
.............


Процедура ПередВыводомОтчета(МакетКомпоновки, ПроцессорКомпоновки) Экспорт

Для каждого _макеты Из МакетКомпоновки.Макеты.Макет1.Макет Цикл

Для каждого _ячейки Из _макеты.Ячейки Цикл

Для каждого _элемент Из _ячейки.Элементы Цикл

Если _элемент.Значение = "На начало периода" Тогда
_элемент.Значение = Формат(КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода").Значение, "ДФ=dd.MM.yyyy");
ИначеЕсли _элемент.Значение = "На конец периода" Тогда
_элемент.Значение = Формат(КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("КонецПериода").Значение, "ДФ=dd.MM.yyyy");
ИначеЕсли _элемент.Значение = "Сумма_АП с ""Начало периода"" по ""Конец периода""" Тогда
_элемент.Значение = "Сумма_АП с " + Формат(КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода").Значение, "ДФ=dd.MM.yyyy") + " по " + Формат(КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("КонецПериода").Значение, "ДФ=dd.MM.yyyy");
ИначеЕсли _элемент.Значение = "Договор (на конец периода)" Тогда
_элемент.Значение = "Договор (" + Формат(КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("КонецПериода").Значение, "ДФ=dd.MM.yyyy") + ")";
КонецЕсли;

КонецЦикла;

КонецЦикла;

КонецЦикла;

КонецПроцедуры
...
Рейтинг: 0 / 0
18.07.2013, 11:53
    #38335293
NecroArt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
СКД Вывод пользовательских параметров в табличный документ
Последний выдох ГПЖ,

Спасибо за ответ. То есть после строк
Код: html
1.
2.
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
 МакетКомпоновки = КомпоновщикМакета.Выполнить(ОтчетОбъект.СхемаКомпоновкиДанных, ОтчетОбъект.КомпоновщикНастроек.Настройки, ДанныеРасшифровки);


В переменной МакетКомпоновки хранится конечный макет с заполненными ячейками, который и будет выведен, куда прикажут? После этих строк в нём уже можно искать интересующие данные?
...
Рейтинг: 0 / 0
18.07.2013, 11:55
    #38335300
DmitriyZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
СКД Вывод пользовательских параметров в табличный документ
NecroArt, Нарисуйте свой макет для компоновки и не надо в код лезть.
...
Рейтинг: 0 / 0
18.07.2013, 12:20
    #38335349
NecroArt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
СКД Вывод пользовательских параметров в табличный документ
DmitriyZ,

Кажется, до меня начинает доходить (скд то только начал разбирать). В скд на вкладке "Макеты" вижу подходящий макет. Я думал, что это он выводится, но, очевидно, скд формирует в себе свой макет, а этот не использует. Буду искать, как указать его в качестве основного.
...
Рейтинг: 0 / 0
19.07.2013, 10:05
    #38336458
Программист 1с
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
СКД Вывод пользовательских параметров в табличный документ
NecroArtПрограммист 1сЗакладка параметры. Галочка ограничение доступности. Насколько я помню - если стоит то параметр не выводится в скд.
Да, он не выводятся при этом, но проблема в том, что он и не доступен для изменения пользователем. Нужно сохранить доступность параметра в настройках, при этом убрав его из вывода в макет.Меняет только чуть сложнее код примерно такой.

КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода").Значение=что-то
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / СКД Вывод пользовательских параметров в табличный документ / 11 сообщений из 11, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]