Имя: Пароль:
1C
 
Кнопка отбора СКД как (Отбор по значению колонки)
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) Далее пишешь свою функцию разворота и все. Отбираешь по значению в своей колонке
2 + 2 = 3.9999999999999999999999999999999...