|
Вывод полей в отчете СКД в произвольных местах
| ☑ |
0
Ministr
30.07.14
✎
14:40
|
Всем привет!
Голову ломаю уже целый день, решил спросить у знающих людей может подскажете чем, если сталкивались.
Имеется 4 поля - группировки в схеме варианта СКД. Мне необходимо вывести около 8 полей , но не структурировано по шаблону(группировка не подходит) а в зависимости от конкретного поля .... выводить следом за ним... и вывод получается произвольный...
Другими словами надо накидать в СКД строки... произвольно в отчете (где-то в начале, где-то в середине.. и пр.)
Можно это реализовать на стандартном макете СКД? . с помощью добавления различных параметров и прочее....
P\S\ Есть у меня вариант.. сделать что-то типа ПроцессорВывода.НачатьВывод() и тут уже отследить поля и вывести свои... Но имеются колонки в отчете и это сильно усложняет ручноый вывод((.
Может идею, кто-нибудь подкинет стоящую?
|
|
1
Ministr
30.07.14
✎
14:41
|
Ссылка - это фото, какая у меня сейчас структура и показано где периодически надо выводить произвольные строки в зависимости от идущего перед ним группировкой...
|
|
2
Ministr
30.07.14
✎
14:41
|
ТОчнее не 8 полей а восемь дополнительных строк, извиняюсь
|
|
3
Teresa
30.07.14
✎
14:47
|
(0) не очень понятно, что нужно сделать, но когда вывод предполагается не стандартный, можно формировать и выводить программно макет или создать несколько вариантов отчета и в зависимости от настроек выводить разные варианты.
|
|
4
Ministr
30.07.14
✎
14:50
|
(3) Что надо сделать.
Идет список строк в отчете "Детальные записи", мне надо сделать следующее... Если поле "наименование" = "палундра", то выводим 2 дополнительных поля за ним в отчете.... В других случаях после других полей ничего не выводим))
|
|
5
Ministr
30.07.14
✎
14:51
|
(3)
Цитирую: "можно формировать и выводить программно макет "
Макет имеется ввиду стандартный макет СКД? , который находиться на вкладке "макеты"?
|
|
6
Teresa
30.07.14
✎
15:15
|
(5) я имела ввиду что-то вроде
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(Результат);
ПроцессорВывода.НачатьВывод();
ЭлементРезультата = ПроцессорКомпоновки.Следующий();
Пока ЭлементРезультата <> Неопределено Цикл
ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата);
// выводим дополнительную информацию
ЭлементРезультата = ПроцессорКомпоновки.Следующий();
КонецЦикла;
Таб = ПроцессорВывода.ЗакончитьВывод();
|
|
7
Teresa
30.07.14
✎
15:23
|
(4) если вывод этих дополнительных строк зависит от значений результата запроса, то может быть, имеет смысл в запросе определять выводить или нет допстроку. Или обратиться к вычисляемым полям. Типа Вычполе = Выбор Когда Наименование = "Полундра" тогда ВывестиДопПоле=1 иначе 0 Конец и поставить фильтр вывести только те поля, которые ВывестиДопПоле=1. Но это как-то коряво.
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший