|
СКД вопрос | ☑ | ||
---|---|---|---|---|
0
ХочуСпец
10.04.12
✎
15:46
|
Есть таблица
Кол1 Кол2 Кол3 В зависимости от периода Номер месяца1 Номер месяца2 ... Номер месяцаN В отчете есть галочка Выводить периоды если галочка стоит, то Вместе с колонками Кол1, Кол2, Кол3 выводятся разбивка по месяцам, иначе не выводится Можно ли что то подбное сделать в СКД? |
|||
1
fisher
10.04.12
✎
16:14
|
Можно
|
|||
2
ХочуСпец
10.04.12
✎
16:26
|
(1) каким образом?
делать две схемы компоновки данных? |
|||
3
fisher
10.04.12
✎
16:27
|
(2) Можно сделать однозначную развертку вправо по периодам, просто по галке приводить период к одному значению.
|
|||
4
fisher
10.04.12
✎
16:33
|
Я что-то похожее делал только не с галкой, а с параметром "Периодичность" где как частный случай было "Без развертки по периодам" (или как-то так). И еще с общими итогами по горизонтали, которые для пущей красоты программно отключал в ПриКомпоновкеРезультата(), когда без развертки по периодам выводил.
|
|||
5
ХочуСпец
10.04.12
✎
16:35
|
(3) а поподробнее
|
|||
6
fisher
10.04.12
✎
17:00
|
(5) Прямо в запросе
ВЫБОР КОГДА &Галка ТОГДА Таблица.ПериодМесяц ИНАЧЕ 0 КОНЕЦ КАК Период Т.е. ежели галка не стоит - получаешь гарантированно одну колонку. Ну и в выражении представления периода соответственно этот вариант обрабатываешь, чтобы заголовок был красивый. |
|||
7
ХочуСпец
10.04.12
✎
17:14
|
(6) а в теории можно использовать две компоновки?
если галочка стоит то используем одну компоновчную схему, если нет - другую |
|||
8
fisher
10.04.12
✎
17:20
|
(7) Ни разу не пробовал. Полагаю можно, но очень геморно. Объект "Отчет" с вживленной родной схемой очень много плюшек дает. Придется от них отказываться и практически все вручную (программно) делать.
|
|||
9
fisher
10.04.12
✎
17:25
|
Работая с настройками отчета, ты работаешь с компоновщиком настроек на базе какой-то конкретной схемы. Если на этапе компоновки захочешь вывести отчет по совершенно другой схеме - это придется делать полностью программно, транслируя в неё настройки из первичной схемы.
Ну, это как я понимаю ситуацию. Могу ошибаться. |
|||
10
ХочуСпец
10.04.12
✎
17:28
|
(9) впринципе не проблема
|
|||
11
fisher
10.04.12
✎
17:35
|
(10) Фига се не проблема. Куча гемора на ровном месте. Еще и с расшифровками дополнительная морока будет. При прокачанных скиллах любые требуемые разновидности отчета делаются на одной схеме без особых проблем.
|
|||
12
ХочуСпец
10.04.12
✎
17:37
|
(11) согласен
для данной задачи лучше сделать по твоему варианту |
|||
13
fisher
10.04.12
✎
17:44
|
(12) Если лень заморачиваться с единым вариантом настроек, то можно тупо два варианта настроек реализовать для одной и той же схемы - с разверткой и без.
Т.е. пользователь не галку будет клацать, а выбирать вариант отчета - с детализацией по периодам или без. |
|||
14
ХочуСпец
10.04.12
✎
17:47
|
(13) да как вариант
использовал твой вариант отрабатывает хорошо, но При Галочка = 0, оставляет пустую колонку |
|||
15
fisher
10.04.12
✎
17:48
|
(14) В смысле пустую? С пустым заголовком?
|
|||
16
ХочуСпец
10.04.12
✎
17:50
|
ну заголовок я сам убрал, просто колонка "Сумма" с пустым значением
|
|||
17
ХочуСпец
10.04.12
✎
17:53
|
еще вопросик в догонку:
Сейчас в группировочных колонка у меня выводит (установил формат): 01.12, 02.12, и т.д. Можно ли в заголовках выводить н-р: Задепанировано в 01.12, Задепанировано в 02.12 ... |
|||
18
fisher
10.04.12
✎
17:57
|
(16) А! Хочешь заголовок ресурса прибить? Можно такое сделать через макеты. Делал вроде когда-то и гайд на просторах находил.
(17) Можно. Проще всего через выражение представления для поля "Период" на закладке "Наборы данных". |
|||
19
ХочуСпец
10.04.12
✎
17:59
|
||||
20
ХочуСпец
10.04.12
✎
18:00
|
(18) через представление Периода пробовал, не отрабатывает
писал что то типа "Задепанировано в" + Месяц |
|||
21
fisher
10.04.12
✎
18:01
|
(19) Там несложно. Вот, нарыл собственный вопрос аналогичный пару лет назад:
v8: СКД: Убрать заголовок ресурса из шапки в шахматке |
|||
22
ХочуСпец
10.04.12
✎
18:02
|
(21) аха, спасибо
|
|||
23
fisher
10.04.12
✎
18:10
|
(20) Черт. Точно, так не проканает. Тогда тоже через макет заголовка группировки.
|
|||
24
fisher
10.04.12
✎
18:13
|
(23) + Тем более, что ты его уже и так рисуешь, чтобы (16) победить :)
|
|||
25
ХочуСпец
11.04.12
✎
09:18
|
В продолжение вопроса:
Когда Галочка = Истина, сумму вывожу по месяцам, а также необходимо выводить общую сумму Когда отключена необходимо выводить только общую сумму |
|||
26
fisher
11.04.12
✎
10:32
|
(25)
Я программно в ПриКомпоновкеРезультата() отключал вывод общих итогов по горизонтали, когда без периодов. Т.е. в качестве общей суммы тогда колонка периода выступала. Как-то так: ГоризонтальноеРасположениеОбщихИтогов = КомпоновщикНастроек.Настройки.ПараметрыВывода.Элементы.Найти("ГоризонтальноеРасположениеОбщихИтогов"); ГоризонтальноеРасположениеОбщихИтогов.Значение = РасположениеИтоговКомпоновкиДанных.Нет; |
|||
27
Лодырь
11.04.12
✎
10:35
|
Граждане, а можно вам вопрос: Почему бы вам не использовать несколько стандартных настроек. Сделать их заранее и использовать нужную в зависимости от состояния галок?
|
|||
28
fisher
11.04.12
✎
10:40
|
(27) В зависимости от состояния галок? Так тогда пользовательские настройки туда придется руками транслировать и прочий дискомфорт? Или я не въезжаю?
Если есть готовый отчетик в качестве примера - буду признателен. |
|||
29
badboychik
11.04.12
✎
10:43
|
(7) Зачем две компоновки? Компоновка одна, просто делаешь два варианта отчета и потом двумя строчками в коде их переключаешь
|
|||
30
fisher
11.04.12
✎
10:46
|
(29) УстановитьТекущийВариант()?
А при этом разве не переключаться уже сделанные пользователем настройки для старого варианта? Отборы и т.д. и т.п? |
|||
31
Лодырь
11.04.12
✎
10:47
|
(28) суть описал (29)
Вот стандартный кусок из отчета: //Получаем схему из макета СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); //Из схемы возьмем настройки по умолчанию (а могли бы взять и другие с помощью СхемаКомпоновкиДанных.ВариантыНастроек) Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию; //Помещаем в переменную данные о расшифровке данных ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; //Формируем макет, с помощью компоновщика макета КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; //Передаем в макет компоновки схему, настройки и данные расшифровки МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, ДанныеРасшифровки); //Выполним компоновку с помощью процессора компоновки ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,, ДанныеРасшифровки,Истина); //Очищаем поле табличного документа Результат = ЭлементыФормы.Результат; Результат.Очистить(); //Выводим результат в табличный документ ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(Результат); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); |
|||
32
Лодырь
11.04.12
✎
10:50
|
(30) Какие могут быть настройки для старого варианта, если мы меняем схему отчета? А вдруг эти настройки некорректны?
|
|||
33
fisher
11.04.12
✎
10:52
|
(31),(32) Не задерживаемся, проходим-проходим!
|
|||
34
badboychik
11.04.12
✎
10:54
|
Процедура ЗагрузитьВариант()
ИмяВарианта = ?(ЭлементыФормы.ПоДокументам.Значение,"Документы","Общий"); ВариантНастроек = СхемаКомпоновкиДанных.ВариантыНастроек[ИмяВарианта]; Если ИмяВарианта="Общий" Тогда ВариантНастроек.Настройки.Структура[0].Структура[0].Использование = ЭлементыФормы.ПоТочкам.Значение; КонецЕсли; КомпоновщикНастроек.ЗагрузитьНастройки(ВариантНастроек.Настройки); КонецПроцедуры |
|||
35
badboychik
11.04.12
✎
10:54
|
"Если" выкидываем остается 3 строчки
|
|||
36
fisher
11.04.12
✎
10:57
|
(34) Ну а сделанные пользователем настройки? А не догоняю. Смотри:
1) пользователь открывает отчет и по дефолту настраивает первый вариант отчета - ставит отборы, группировки, сортировки. Потом решает развернуть по периодам и ставит галку 2) мы в процессе компоновки понимаем, что нужно использовать другие настройки - по периодам и загружаем второй вариант. Как он состыкуется со сделанными пользователем настройками в старом варианте? |
|||
37
fisher
11.04.12
✎
10:59
|
(36) + Как я понимаю, каждый раз при переклацивании галке и перезагрузки вариантов, надо как-то и сделанные пользователем настройки перегружать из варианта в вариант?
|
|||
38
Лодырь
11.04.12
✎
11:00
|
(36) судя по вопросу в (0) ничего такого не предполагается. Однако, если и будут установлены настройки, то только с помощью средств вытащенных на форму отчета. Следовательно никто не мешает повторить их.
|
|||
39
viktor_vv
11.04.12
✎
11:01
|
(36) У него на форме реквизиты, значения которых он прописывает при компоновке.
|
|||
40
badboychik
11.04.12
✎
11:04
|
Установить отборы при загрузке варианта тоже не проблема
|
|||
41
fisher
11.04.12
✎
11:05
|
Меня интересует работа именно ПользовательскихНастроек при таком теневом использовании вариантов отчета. Т.е. с полным сохранением штатной функциональности. Громоздить костыли - это фу.
|
|||
42
fisher
11.04.12
✎
11:06
|
(41) + Соответственно, если нет простых способов обеспечения полной прозрачности этого дела для пользователя, то лично мне намного выгоднее на одном варианте реализовывать, чем на нескольких. Т.к. по факту получается не упрощение, а усложнение.
|
|||
43
badboychik
11.04.12
✎
11:07
|
можно вообще с нуля на лету городить в СКД группировки и все настройки :)
|
|||
44
fisher
11.04.12
✎
11:08
|
(43) Можно. Вопрос - зачем?
|
|||
45
badboychik
11.04.12
✎
11:09
|
полная гибкость, если пользователь каждый чих галочкой настраивает
|
|||
46
Лодырь
11.04.12
✎
11:09
|
(42) Прозрачности ты не добьешься хотя бы в силу того, что структура отчета меняется неизвестным пользователю способом по нажатию галочек.
(43) В ластах стоя в гамаке? |
|||
47
fisher
11.04.12
✎
11:14
|
(45) Можно же просто транслировать изменения галок в изменение пользовательских настроек. Галки будут просто как средство повышения юзабилити.
|
|||
48
badboychik
11.04.12
✎
11:16
|
а если галками надо отключать группировки, например разворачивать по клиентам и договорам или только по клиентам
|
|||
49
fisher
11.04.12
✎
11:20
|
(48) Ну и где подвох? Программно меняем группировки в пользовательских настройках. Хотя выносить подобный функционал на галки - это ограничивать функциональность.
|
|||
50
badboychik
11.04.12
✎
11:25
|
да я вообще за то чтобы учить пользователя настраивать через стандартное окно настроек СКД :)
Но если пользователи без страха воспринимают только 1-2 галочки то придется извращаться Некоторые привыкают к 7.7, там можно отмечать любые группировки из 10 штук в списке, менять их порядок... Вот для этого придется с нуля формировать СКД |
|||
51
fisher
11.04.12
✎
11:28
|
(50) "Некоторые привыкают к 7.7, там можно отмечать любые группировки из 10 штук в списке, менять их порядок... Вот для этого придется с нуля формировать СКД"
Окстись. ПользовательскиеНастройки в 8.2 дефолтно предоставляют пользователям такой функционал. |
|||
52
badboychik
11.04.12
✎
11:30
|
ну я и говорю, в окне настроек формировать свои группировки, выбирать нужные поля и т.д. А если без окна настроек?
|
|||
53
badboychik
11.04.12
✎
11:34
|
вот так http://savepic.net/2729801.png например было в 7.7, какой аналог будет на СКД ?
|
|||
54
fisher
11.04.12
✎
11:41
|
(51) Тогда да. Одно окно настроек, кстати, не сильно эргономично. Недоработали.
Если б дали еще возможность как с построителем отчета - возможность растаскивать разные элементы пользовательских настроек по разным табличным полям - можно было бы гораздо более эргономичные интерфейсы рисовать. (53) Буэ... Я и на 7.7 старался до такого не доводить. Рисовал в стиле настроек восьмерочного построителя. Группировки и отборы в отдельных табличных полях. Реализацию множественных отборов в едином табличном поле, правда, не сам писал. Кажись у ПУБа своровал... |
|||
55
badboychik
11.04.12
✎
11:46
|
Если у (0) УПП или КА, то можно выдрать из произвольных отчетов шаблон и в него свою СКД вставлять. Там форма настроек эргономичнее, юзер себе варианты сохраняет сколько влезет. У нас так.
|
|||
56
fisher
11.04.12
✎
11:54
|
(55) ИМХО, с появлением в 8.2 вариантов отчета и пользовательских настроек с их штатным хранением, в этих костылях уже нет необходимости. Практически все что нужно для счастья работает из коробки на уровне платформы.
|
|||
57
badboychik
11.04.12
✎
11:58
|
все равно из коробки только минимум. Неудобно например с вариантами работать, не на виду они.
Вот так нагляднее, и чтоб настраивать свои, не надо быть "программистом" :) http://savepic.net/2698057.png |
|||
58
badboychik
11.04.12
✎
12:00
|
и тут еще можно созданные варианты сразу раскидывать другим пользователям
|
|||
59
fisher
11.04.12
✎
12:14
|
(57) Как это не на виду?
|
|||
60
fisher
11.04.12
✎
12:21
|
(59) + Автосгенеренная управляемая форма отчета штатно уже все на борту имеет. Я спецом ради этого врубил использование управляемых форм в толстом клиенте и все отчеты теперь только на упр-формах и клепаю.
|
|||
61
Лодырь
11.04.12
✎
12:27
|
(60) Кстати, гениальная идея (без шуток). В голову не приходило включить использование управляемых форм в старинной типовой взятой за основу. А я мучаюсь с обработкой вариантов. Спасибо.
|
|||
62
fisher
11.04.12
✎
12:38
|
(61) Одна только фигня - управляемые формы внешних отчетов/обработок в толстом клиенте не пашут. Обязательно в конфу внедрять надо. 1С сказали - идите в задницу, это фича такая.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |