|
Кнопка отбора СКД как (Отбор по значению колонки) | ☑ | ||
---|---|---|---|---|
0
igorius
01.10.15
✎
16:35
|
Всем добрый день.
В отчете надо сделать кнопку как в форме списка, "Выбор по значению колонки" кто-то может подсказать как это сделать? а то все мои идеи как то не оправдали себя... Заранее спасибо за ответ. |
|||
1
igorius
01.10.15
✎
16:36
|
Отчет сделан в СКД на ОП.
|
|||
2
Andrey2C
01.10.15
✎
16:42
|
Расшифровкой если не?
|
|||
3
igorius
01.10.15
✎
16:53
|
(2) а подробней можно? в то пока не могу представить как....
|
|||
4
Andrey2C
01.10.15
✎
16:57
|
Ну как подробнее. Нажимаем на нужное поле и выходит список записей с такими же полями.
|
|||
5
Andrey2C
01.10.15
✎
17:00
|
Что то типа такого только на СКД:
//Расшифровка ТабДок=Новый ТабличныйДокумент; МакетДляТабДок=ПолучитьМакет("МакетРасшифровка"); ШапкаДляРасшифровки=МакетДляТабДок.ПолучитьОбласть("Шапка"); ТабДок.Вывести(ШапкаДляРасшифровки); СтрокаДляРасшифровки=МакетДляТабДок.ПолучитьОбласть("Строка"); НайденныеСтроки = РезультатСостав.НайтиСтроки(Новый Структура("Номенклатура",СтрокаТабл.Номенклатура)); Для Каждого НайденнаяСтрока Из НайденныеСтроки Цикл СтрокаДляРасшифровки.Параметры.Номенклатура = НайденнаяСтрока.Номенклатура; СтрокаДляРасшифровки.Параметры.Формат = НайденнаяСтрока.ВыбранныеСЕ.Формат; СтрокаДляРасшифровки.Параметры.НомерМаг = НайденнаяСтрока.ВыбранныеСЕ; СтрокаДляРасшифровки.Параметры.ШтукВУпак = НайденнаяСтрока.КоэффициентОтгрузки; СтрокаДляРасшифровки.Параметры.КолВоДней = НайденнаяСтрока.КолДнейНа1Уп; ТабДок.Вывести(СтрокаДляРасшифровки); КонецЦикла; |
|||
6
igorius
01.10.15
✎
17:02
|
(4) у меня в расшифровке заминка в том, что я там получаю настройки отбора через ОбработкаРасшифровки.Выполнить(Расшифровка, ВыполненноеДействие, ДоступныеДействия);, которое мне открывает список действий, а мне этого не надо, а как это обойти я не как не могу понять..(
|
|||
7
igorius
01.10.15
✎
17:03
|
(5) я просто только начал работать с скд и тем более на Оп.... и не знаю всех нюансов работы...
|
|||
8
igorius
01.10.15
✎
17:14
|
кто то может подсказать как обойти (6) всплывающее меню? как сделать что бы расшифровка работала напрямую?
|
|||
9
aleks_default
01.10.15
✎
17:25
|
Зачем обходить? Там есть пункт "Отфильтровать".
|
|||
10
aleks_default
01.10.15
✎
17:26
|
(9)+Работает аналогично методу "Отобрать по значению"
|
|||
11
igorius
01.10.15
✎
17:36
|
(10) а в примере, код, можешь привести... а то я что то вобще не соображаю сейчас...( если не сложно конечно
|
|||
12
aleks_default
01.10.15
✎
17:38
|
какой пример кода?
На ячейке отчета правой кнопкой мыши - пункт "Отфильтровать" |
|||
13
igorius
01.10.15
✎
17:43
|
(12) та это я знаю... но мне нужна именно кнопка и что бы она работала как в форме списка. Нажал на ячейку нажал кнопку- отфильтровал по значению, нажал на колонку -опять нажал кнопку - скинул фильтр
|
|||
14
Shurjk2
01.10.15
✎
17:47
|
А в чем собственно проблема? Нажимаешь какую то кнопку по ней получаешь значение активной ячеки по нему ставишь отбор и переформировываешь отчет.
|
|||
15
igorius
01.10.15
✎
17:50
|
(14) Логику я понял, я завис на "по нему ставишь отбор", не как не могу понять как его сделать ...
|
|||
16
Andrey2C
01.10.15
✎
17:53
|
(8) Процедура ТаблДокументОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
Перем ВыполненноеДействие; СтандартнаяОбработка=Ложь; ОбработкаРасшифровки=Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки,Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных)); ДоступныеДействия=Новый Массив; ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение); //ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Расшифровать); //ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Отфильтровать); //ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Оформить); //ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Сгруппировать); //ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Упорядочить); //Настройки=ОбработкаРасшифровки.Выполнить(Расшифровка,ВыполненноеДействие,ДоступныеДействия); //Заказ = ПолучитьРасшифровкуНаСервере(Расшифровка); Поле = ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьПоля()[0]; //Сообщить("Поле: " + Поле.Поле + ", значение: " + Поле.Значение); выбЗаказ = Поле.Значение; РазвернутьПоЗаказу(выбЗаказ); //Если Настройки<>Неопределено Тогда //Сообщить("33"); //КомпоновщикНастроек.ЗагрузитьНастройки(Настройки); //ЭлементыФормы.ТаблДокумент.Очистить(); //СкомпоноватьРезультат(ЭлементыФормы.ТаблДокумент,ДанныеРасшифровки); //КонецЕсли; КонецПроцедуры |
|||
17
Andrey2C
01.10.15
✎
17:55
|
(8) Далее пишешь свою функцию разворота и все. Отбираешь по значению в своей колонке
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |