Имя: Пароль:
1C
1С v8
Отбор в Управляемых формах.
0 Vyacheslav_UZ
 
18.07.16
15:18
Добрый день. Нужно сделать отбор по реквизиту шапки в уф. Создал динамический список, добавил реквизит на шапку документа и в добавленном реквизите при ПроцедраПриИзменении
добавляю текст отбора.
&НаКлиенте
Процедура ДозировкиПриИзменении(Элемент)
    
    //СписокЗаказовНаФорме = ЭтаФорма.Элементы.МояТабЧасть;
    //СписокЗаказовНаФорме.ОтборСтрок = Новый ФиксированнаяСтруктура("МойОбъект", СписокЗаказовНаФорме.ТекущиеДанные.МойОбъект);
              
  ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
  ЭлементОтбора.ЛевоеЗначение    = Новый ПолеКомпоновкиДанных("МойОбъект");
  ЭлементОтбора.ВидСравнения     = ВидСравненияКомпоновкиДанных.Равно;
  ЭлементОтбора.Использование    = Истина;
  ЭлементОтбора.ПравоеЗначение   = Объект.МойОбъект;
  ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
     Элементы.Медикаменты.Обновить();
КонецПроцедуры

Пробовал 2 мя вариантами. 1й делает отбор не не понятко как. В табличной чатси остаеться только 1 реквизит не отвечающий отбору.
2ой вообще не отрабатывает.
1 Горогуля
 
18.07.16
15:23
спасибо, так делать не будем
2 Vyacheslav_UZ
 
18.07.16
15:36
Горогуля а как будете?)
3 Nuobu
 
18.07.16
15:37
(2) Пробовал выносить отбор на форму, а не городить его программно?
4 Горогуля
 
18.07.16
15:38
(2) как-то так:
    ЭО=Форма.Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭО.ВидСравнения=ВидСравненияКомпоновкиДанных.Равно;
    ЭО.ЛевоеЗначение=Новый ПолеКомпоновкиДанных("Организация");
    ЭО.ПравоеЗначение=Объект.Организация;
    ЭО.Использование=Истина;
5 Горогуля
 
18.07.16
15:38
+(4) это рабочий код, если что
6 Поросенок Петр
 
18.07.16
15:40
У автора все в кучу ДС, табличные части. А (4) ничем не отличается от (0).
7 Горогуля
 
18.07.16
15:41
(6) ага. только у меня работает ;)
8 Vyacheslav_UZ
 
18.07.16
15:41
Горогуля Не отрабатывает.
9 Nuobu
 
18.07.16
16:27
(8) В настройках твой отбор появляется?
10 Горогуля
 
18.07.16
16:31
(8) дело твоё
11 aleks_default
 
18.07.16
17:08
(5) Да он просто старый отбор не очищает перед добавлением нового.
12 vhl
 
18.07.16
17:38
Я так делаю:
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(НоменклатураСписок, "Номенклатура", Номенклатура, ВидСравненияКомпоновкиДанных.Равно,,Истина);
Только БСП не забудь если не типовая конфа.
13 Vyacheslav_UZ
 
19.07.16
07:40
У меня на форме вообще нет старого отбора.Через кнопу еще, отсутствует "Настроить список" или что то наподобие.
14 Vyacheslav_UZ
 
19.07.16
07:41
vhl Это самописная конфигурация.
15 Vyacheslav_UZ
 
19.07.16
07:41
Nuobu Нечего не происходит.
16 Горогуля
 
19.07.16
07:55
(13) РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный
17 Горогуля
 
19.07.16
07:55
и включи у себя в настройках отображение 11х постов
18 Cyberhawk
 
19.07.16
08:30
Обращайся к отбору компоновщика настроек, а не к свойству дин. списка
19 Vyacheslav_UZ
 
19.07.16
10:28
Cyberhawk не совсем понял что имеется ввиду. Точней как это реализовать. В "Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); Список это Динамический список.
20 lubitelxml
 
19.07.16
10:46
(19) вот так: Список.КомпоновщикНастроек.Настройки.Отбор.Элементы[0].ПравоеЗначение  =  Объект.Ссылка;

при переходе на новую платформу (8.3.8) - только так будет работать
21 Cyberhawk
 
19.07.16
10:49
(19) СП тебе в помощь, начни там с объекта ДинамическийСписок и просмотра его свойств
22 Vyacheslav_UZ
 
19.07.16
11:43
Cyberhawk Спасибо, как я сам не догадался о первом правиле. Если не получается СП тебе в помощь.
23 Vyacheslav_UZ
 
19.07.16
11:43
lubitelxml
Ошибка
Индекс находится за границами массива
ЭлементОтбора = Список.КомпоновщикНастроек.Настройки.Отбор.Элементы[0].ПравоеЗначение = Объект.Ссылка;
24 Горогуля
 
19.07.16
11:44
(23) а с чего ты решил, что там что-то уже есть?
25 lubitelxml
 
19.07.16
11:44
Элементы[0] - это обращение к уже настроеному отбору
26 Горогуля
 
19.07.16
11:46
и ты же не будешь обращаться к первому попавшемуся элементу отбора, правда?
27 lubitelxml
 
19.07.16
11:47
(26) если он единственный, то почему бы и нет?
28 Горогуля
 
19.07.16
11:48
(27) неплохо было бы узнать, что именно из себя представляет этот единственный
29 Vyacheslav_UZ
 
19.07.16
11:50
Устанвил отбор в ДС. Теперь ошибка
Значение не является значением объектного типа (ЛевоеЗначение)
    ЭлементОтбора.ЛевоеЗначение    = Новый ПолеКомпоновкиДанных("ФирмаСтранаПроизводители");
30 Горогуля
 
19.07.16
11:51
(29) ты когда начнёшь сам отвечать на свои вопросы перед тем, как постить на мисту?
31 Горогуля
 
19.07.16
11:52
кстати, где вопрос?
32 Vyacheslav_UZ
 
19.07.16
12:15
Горогуля За все время что я тут пытаюсь разобраться, "Вы" не помогли не разу. То что вы предлагаете эти те же яйца, только вид сбоку.Вопрос: Значение не является значением объектного типа (ЛевоеЗначение) Что мне с этим можно сделать и как исправить ошибку?
33 Горогуля
 
19.07.16
12:18
мда.. потуги стимулировать работу мозга не удались. там неопределено. теперь думай, почему
34 hhhh
 
19.07.16
20:21
(32) ЭлементОтбора что у вас такое?