Имя: Пароль:
1C
1С v8
Помогите разобраться с ФормойСписка 8.2
,
0 zoldiar
 
16.06.13
13:20
Есть ФормаСписка Справочника. Нужно добавить флаг, при выборе которого список фильтруется по реквизиту элемента.
Никак не пойму куда смотреть((
Обработка изминения для флага вообще не обрабатывается..
1 Alterife
 
16.06.13
13:21
(0) Типовой отбор по текущему значению не катит?
2 Wobland
 
16.06.13
13:23
(0) бывает..
3 Alterife
 
16.06.13
13:30
На ник только обратил внимание. А чого не Трамадол или сразу - Морфин? ;-))
4 Alterife
 
16.06.13
13:31
Млять, там ещё и фото... *facepalm*
5 Wobland
 
16.06.13
13:32
(4) не Александр, а Борис. автор нам врёт
6 zoldiar
 
16.06.13
13:37
(1) а его вывести на форму возможно?
7 Wobland
 
16.06.13
13:42
(6) я в своё время реквизит документа выводил
8 Alterife
 
16.06.13
13:45
(6) Ну а как ещё! Посмотри, как в любой форме списка справочника или документа в типовых сделано. Командную панель добавь да свяжи с элементом СправочникСписок твоей формы. Заполни автоматически (действие такое). И внимательнее посмотри на четыре иконки отбора на панели.
9 Alterife
 
16.06.13
13:47
(6) Да, и завязывай с тяжёлыми норгодегоме! ;-))
10 Wobland
 
16.06.13
13:48
(3) (9) моя твоя не понимайт. есть что-то интересное на свете, чего я не знаю?
11 Alterife
 
16.06.13
13:50
(10) А ты погугли. Он даже название препарата Залдиар (в своём нике) через "О" написал. :-))
12 zoldiar
 
16.06.13
13:53
(11) ник с препаратом не связан, поэтому и через О
а ты, я смотрю, разбираешься в препаратах;)
13 Андрей Федотов
 
16.06.13
14:03
ну и в чем проблема?) Сделайте обработку переменной булево и устанавливайте нужный отбор)
Если нужно - могу помочь с кодом
14 zoldiar
 
16.06.13
14:09
(13) ну вот я делаю :
&НаКлиенте
Процедура ПоказыватьВсеПриИзменении(Элемент)
   
   
   Список.Отбор.Элементы.Очистить();
   ПоказыватьВсе(ЭтаФорма.Элементы.ПоказыватьВсе);
   
КонецПроцедуры



&НаСервере
Процедура ПоказыватьВсе(Показывать)
   
   Если Показывать Тогда
       Список.Отбор.Элементы.Очистить();
   Иначе    
       ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
       ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("НеАктуален");
       ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
       ЭлементОтбора.ПравоеЗначение = Ложь;
       ЭлементОтбора.Использование = Истина;
   КонецЕсли;    
КонецПроцедуры




В итоге выдает: {Справочник.НомераГТД.Форма.ФормаСписка.Форма(32)}: Ошибка при вызове метода контекста (ПоказыватьВсе)
   ПоказыватьВсе(ЭтаФорма.Элементы.ПоказыватьВсе);
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'param':
   форма: Элемент
   имя: {http://v8.1c.ru/8.2/managed-application/modules}param
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'ПолеФормы'



В чем тут дело?
15 Wobland
 
16.06.13
14:10
(14) на сервере получай свой флаг, не надо его никуда передавать
16 Wobland
 
16.06.13
14:13
для размышления. форма существует не только на клиенте, но и на сервере
17 zoldiar
 
16.06.13
14:14
(15) (16) тогда как к элементу обратиться из сервера, потому как выдает:
Преобразование значения к типу Булево не может быть выполнено
   Если ЭтаФорма.Элементы.ПоказыватьВсе Тогда
18 Wobland
 
16.06.13
14:17
(17) а зачем тебе элемент? к реквизиту обратись
19 zoldiar
 
16.06.13
14:22
(18) получилось. Спасибо огромное!
20 Alterife
 
16.06.13
14:59
А, так это управляемое приложение...
21 zoldiar
 
16.06.13
15:04
(20) оно самое
22 EvgeniuXP
 
16.06.13
15:28
(4) будущий директор 1С :)
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан