Имя: Пароль:
1C
1С v8
Отбор по реквизиту ТЧ
,
0 UnUs
 
29.09.14
21:44
8.2. Есть тч документа с реквизитами Учащийся, Предмет, Оценка. На форме документа реквизит Учащийся находится в отдельной табличной части Оценивание1 (В объекте ТЧ одна). Нужно установить отбор, чтобы при выборе учащегося из Оценивание1 в табличной части с предметами и оценками (Оценивание) выводились только предметы, соответствующие данному учащемуся.

Буду благодарен за любую помощь
1 UnUs
 
29.09.14
21:55
Делаю так: Элементы.Успеваемость.ОтборСтрок = Новый ФиксированнаяСтруктура("Учащийся", Строка(Элементы.Успеваемость1.ТекущиеДанные.Учащийся));

Ничего не происходит.

Так ругается: Значение не является значением объектного типа (Учащийся)

Учащийся = Элементы.Успеваемость1.ТекущиеДанные.Учащийся;
Элементы.Успеваемость.ОтборСтрок.Учащийся.Использование = Истина;
Элементы.Успеваемость.ОтборСтрок.Учащийся.Значение = Учащийся;

Не могу понять, как исправить. Или может ссылкой поделитесь, что почитать
2 Victor111
 
29.09.14
21:57
(0) обычное приложение?
3 UnUs
 
29.09.14
21:59
Управляемое
4 Victor111
 
29.09.14
22:03
(3) если обчное то тогда
при активации строки в ТЧ Оценивание1 делай отбор во второй ТЧ по такому способу
        ЭлементОтбора =ТЧ.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
        ЭлементОтбора.ЛевоеЗначение =Новый ПолеКомпоновкиДанных("имя реквизита табчасти");
        ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
        ЭлементОтбора.Использование = Истина;
        ЭлементОтбора.ПравоеЗначение =здесь искомое значение с ТЧ Оценивание1;
5 UnUs
 
29.09.14
22:16
ТЧ.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"))

А как это будет выглядеть в упр приложении?
6 Victor111
 
29.09.14
22:24
(5) Заместь ТЧ вставляеш имя своей таб части где нужно поставить отбор (Есть тч документа с реквизитами Учащийся, Предмет, Оценка)
7 Victor111
 
29.09.14
22:25
(5) а вообщем вот по ссылке можеш почитать материал
http://look-study.ru/faq/kak_ustanovit_otbor_v_forme_spiska_spravochnika/
8 EvgeniuXP
 
29.09.14
22:25
можно программно, можно через оформление - оформление плохо будет работать в вебе - остается программно.
9 UnUs
 
29.09.14
22:35
ЭлементОтбора=Успеваемость.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));

Ругается: Переменная Успеваемость не определена

ЭлементОтбора=Элементы.Успеваемость.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));

Ругается: Поле объекта не обнаружено (Отбор)
10 Victor111
 
29.09.14
22:40
(9) код нужно писать  &НаСервере
11 UnUs
 
29.09.14
22:45
Пишу на сервере(((((
12 Victor111
 
29.09.14
23:04
(11) https://yadi.sk/i/lO2y61gObjBWB
скрин как нужно
13 UnUs
 
29.09.14
23:20
Victor111, огромное спасибо за терпение, но теперь ни я ни отладчик не понимаем что такое данные О_о. Как же обратиться к тч для отбора...

А не будет совсем абсурдом поместить тч в динамический список(как формы выбора или списка), а потом написать что-то вроде этого:

НовОтбор = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    НовОтбор.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
    НовОтбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Учащийся");
    НовОтбор.ПравоеЗначение = ИскомоеЗначение
    НовОтбор.Использование = Истина;
14 UnUs
 
29.09.14
23:21
Что за "Данные"? О_о
15 Victor111
 
29.09.14
23:25
(13) да безпроблем можеш сделать Динамический список, код тоже подойдет
16 Victor111
 
29.09.14
23:25
(14) Данные эт я так таблицу назвал вторую для примера
17 UnUs
 
29.09.14
23:26
Блин((( Я слепой(. Спасибо, Виктор!!
18 Victor111
 
29.09.14
23:28
(17) обращайся, безпроблем рад помочь!)
сам когда начинал, небыло кому помочь или подсказать, приходилось во всем разбиратся самому, та и сейчас посотянно новое познаю, так как нужно развиваться)
19 UnUs
 
29.09.14
23:31
Блин((( В первый я оказывается так и забивал(( Ну то есть вместо Данные - Имя своей ТЧ( И все таки отладчик меня не понимает((
20 UnUs
 
29.09.14
23:35
Переменная не определена (Успеваемость) Проверка: сервер.
Что ж такое, неужели надо будет через список переделывать. Столько всего перерыл(
21 UnUs
 
29.09.14
23:40
Когда делаем отбор по форме выбора или списка - получаем форму и обращаемся к ее динамическому списку, там есть и отбор, а как подъехать к  тч... где у тч есть свойство или метод отбор?
22 acanta
 
29.09.14
23:51
Расширение таблицы формы для табличных частей (Form table extension for tabular sections)
ОтборСтрок (RowFilter)
Использование:

Чтение и запись.
Описание:

Тип: Неопределено; ФиксированнаяСтруктура.
Позволяет установить отбор по значению колонки.
В качестве ключа используется имя реквизита табличной части, а в качестве значения - значение, по которому осуществляется отбор.
Чтобы снять отбор нужно присвоить свойству либо значение Неопределено, либо пустую ФиксированнаяСтруктура.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент.
Изменение свойства на клиенте может потребовать обращения к серверу.
23 acanta
 
29.09.14
23:54
Имхо
стру = новая структура ("Учащийся", НашВася);
Элементы.Оценивание1.ОтборСтрок = стру;
24 GreyK
 
30.09.14
00:20
Прибейте этого препода, пожалуйста. Он ведь детям оценки ставит...
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.