К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Как в СКД передать порядок сортировки ?

med
0 - 10.01.2013 - 15:01
8.2
УПП
Делаю отчет на СКД, всё хорошо, всё нормально, но
есть несколько вычисляемых полей
и вот по ним надо упорядочивать отчет
На форме задал поле выбора , сделал из него список выбора - там все варинаты сортировок.
А как теперь передать это значение в СКД ?
Вроде как не параметр...
Как с формы задать в каком порядке выводить данные ?
(Можно конечно через настройки, но хотелось бы, что б было красиво , и что б пользоваться могли даже простые пользователи.)



Гость
1 - 10.01.2013 - 15:07
Нужно конечно через настройки. Или работать с настройками программно не позволяют религиозные убеждения?
Гость
2 - 10.01.2013 - 16:38
Отчеты для УПП нужно разрабатывать на базе механизма "произвольные отчеты".
med
3 - 11.01.2013 - 06:05
1-roma n > Позволяют, просто хочу сделать неменяемую форму ввода данных, т.к. пользователи запросто прибивают настройки.
2-Reaper > а жить нужно в Ницце, питаться черной икрой, отдыхать на Багамских островах и ездить на Ролс-Ройсе, много чего в этой жизни нужно..., но вопрос был не об этом.
Гость
4 - 11.01.2013 - 07:21
Вот же столбовая птица... Произвольные отчеты сами генерируют форму настроек, произвольные отчеты опираются на варианты отчетов. В итоге тупые пользователи могут вообще никогда не увидеть формы настроек СКД. Ты долго еще будешь конфигурацию калечить, или наконец начнешь уже ее изучать, террорист?
Гость
5 - 11.01.2013 - 09:41
4-Reaper > а взрывоопасная смесь,- тупые и любопытные,- срубают ранее выставленные настройки и сохраняют в том же варианте :) Плавали, знаем!
med
6 - 11.01.2013 - 12:05
5-roma n > ВОт вот вот , что б не срубали - лучше им их не видеть и не знать, что они существуют
4-Reaper > Насчет калечить так, для сведения - всё делается через внешние отчеты/обработки... Ну напиши ты, что не знаешь как... и ладно ... все равно ведь есть способ, я же не спрашиваю, как это можно сделать, я могу это и через обычный запрос сделать с выводом результата в табличный документ, но я вплотную осваиваю СКД, поэтому и хочу всё сделать через СКД
Гость
7 - 11.01.2013 - 16:55
6-med > оно и средствами подсистемы решается. Главное про это помнить :)
4-Reaper > Не ругайся сильно: в качестве упражнения для понимания (0) вполне оправдано. Ну и, разумеется, в частных случаях такое решение может оказаться гораздо эффективнее использования произвольных отчётов.
3-med > "хочу сделать неменяемую форму ввода данных, т.к. пользователи запросто прибивают настройки" да пусть хоть обприбиваются... Считывай текущие настройки компоновщика, ищи в настройках нужную тебе сортировку, если нашёл - модифицируй в соответствии с набитым в форме, не нашёл - создавай. Формируй отчёт. Profit
med
8 - 14.01.2013 - 06:12
Цитата:
Сообщение от roma n Посмотреть сообщение
Считывай текущие настройки компоновщика, ищи в настройках нужную тебе сортировку,
Путь понятен, а можно чуть чуть еще поподробнее как найти и как передать ?
Просто тут , как я уже сказал - сортировка по вычисляемому полю - и в самом СКД я это задаю уже непосредственно на закладке "Настройки" ...
med
9 - 08.02.2013 - 07:48
?
Гость
10 - 08.02.2013 - 08:56
Для 8.1 это выглядет так:
Настройки = КомпоновщикНастроек.Настройки;
Элемент = Настройки.Порядок.Элементы.Добавить(Тип("ЭлементПо рядкаКомпоновкиДанных"));
Элемент.Поле = Новый ПолеКомпоновкиДанных(ПолеСортировки); //например("Номенклатура.Код");
Элемент.ТипУпорядочивания = НаправлениеСортировкиКомпоновкиДанных.Возр;
Элемент.Использование = Истина;

Для 8.2 думаю также будет.
Гость
11 - 08.02.2013 - 08:57
+10 Настройки.Порядок.Элементы - коллекция элементов сортировки компоновки данных.
med
12 - 08.02.2013 - 10:11
11-Buzz >
Спасибо большое
Цитата:
Сообщение от Buzz Посмотреть сообщение
Элемент.Поле = Новый ПолеКомпоновкиДанных(ПолеСортировки); //например("Номенклатура.Код");
А как вот сюда передать, скажем у меня в скд есть вычисляемое поле "ВремяРаботы" ?
med
13 - 08.02.2013 - 10:16
Я нашел способ управлять программно, но очень нехороший
Я в скд Задал все нужные/возможные сортировки, а из формы вызываю их так

ВремСогл=КомпоновщикНастроек.Настройки.Порядок.Эле менты.Получить(0);
ВремСогл.Использование=Истина;
ВремСогл.ТипУпорядочивания=НаправлениеСортировкиКо мпоновкиДанных.Убыв;
ВремСогл.ТипУпорядочивания=НаправлениеСортировкиКо мпоновкиДанных.Возр;
ДатаСогл=КомпоновщикНастроек.Настройки.Порядок.Эле менты.Получить(1);
ДатаСогл.Использование=Ложь;
ДатаПриема=КомпоновщикНастроек.Настройки.Порядок.Э лементы.Получить(2);
ДатаПриема.Использование=ЛОЖЬ;
И так далее, в зависимости от нужной сортировки нужную так сказать перевожу в положение ИСТИНА и задаю направление.
Но ведь явно можно как то красивше это сделать ?
med
14 - 08.02.2013 - 10:18
Естественно одновременно Убыв и Возр не используются :-)

ВремСогл=КомпоновщикНастроек.Настройки.Порядок.Эле менты.Получить(0);
ВремСогл.Использование=Истина;
ВремСогл.ТипУпорядочивания=НаправлениеСортировкиКо мпоновкиДанных.Убыв;
ДатаСогл=КомпоновщикНастроек.Настройки.Порядок.Эле менты.Получить(1);
ДатаСогл.Использование=Ложь;
ДатаПриема=КомпоновщикНастроек.Настройки.Порядок.Э лементы.Получить(2);
ДатаПриема.Использование=ЛОЖЬ;
Гость
15 - 08.02.2013 - 10:23
Не совсем универсально, но тоже пойдет.


К списку вопросов






Copyright ©, Все права защищены