Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Не работает событие при активизации строки

Не работает событие при активизации строки
Я
   UUmmmmm
 
08.10.19 - 12:14
Есть две табличные части: кафедры и дисциплины. Нужно, чтобы при нажатии на строку из кафедр, показывались соответствующие дисциплины. Также у этих ТЧ есть реквизит Ключ Кафедры. Если его заполнять самостоятельно, то тогда все работает, а без заполнения нет. Но он должен быть не видим пользователю. Как сделать чтобы все работало без заполнения ключа?

&НаКлиенте
Процедура КафедрыПриАктивизацииСтроки(Элемент)
    ТекДанные = Элементы.Кафедры.ТекущиеДанные;
    Если ТекДанные = Неопределено Тогда
        Возврат;
    КонецЕсли;    
    
    ТекКлючКафедры                     = ТекДанные.КлючКафедры;
    ФиксСтруктураОтбора             = Новый ФиксированнаяСтруктура("КлючКафедры", ТекКлючКафедры);    
    Элементы.Дисциплины.ОтборСтрок         = ФиксСтруктураОтбора;

КонецПроцедуры
 
 
   ДенисЧ
 
1 - 08.10.19 - 12:19
ЯНХНП
   Жан Пердежон
 
2 - 08.10.19 - 12:24
в общем я проверил, событие работает;
осталось разобраться с дичью в голове у ТС)
   hhhh
 
3 - 08.10.19 - 12:29
(0) заполняйте этот ключ в программе
   UUmmmmm
 
4 - 08.10.19 - 12:33
(2) ну оно работает если самостоятельно заполнять ключ, это поле должно быть скрыто, и он должен сам заполняться
   ДенисЧ
 
5 - 08.10.19 - 12:35
(4) Ну так заполняй его программно. Кто-то запрещает?
   UUmmmmm
 
6 - 08.10.19 - 12:37
(5) пробовала вот так и все равно не работает, у ключа кафедры остается ноль

&НаСервере
Функция ПолучитьКлючНовойСтрокиКафедрСервер()
    НовыйКлючКафедры = 1;
    
    нТЗ = Объект.Кафедры.Выгрузить(,"КлючКафедры").Скопировать();
    нТЗ.Сортировать("КлючКафедры Убыв");
    
    Если нТЗ.Количество() > 0 Тогда
        НовыйКлючКафедры = нТЗ[0].КлючКафедры + 1;
    КонецЕсли;
    
    Возврат НовыйКлючКафедры;
КонецФункции

&НаКлиенте
Процедура КафедрыПриАктивизацииСтроки(Элемент)
    ТекДанные = Элементы.Кафедры.ТекущиеДанные;
    Если ТекДанные = Неопределено Тогда
        Возврат;
    КонецЕсли;    
    
    ТекКлючКафедры                     = ТекДанные.КлючКафедры;
    ФиксСтруктураОтбора             = Новый ФиксированнаяСтруктура("КлючКафедры", ТекКлючКафедры);    
    Элементы.Дисциплины.ОтборСтрок         = ФиксСтруктураОтбора;

КонецПроцедуры
   Sasha_H
 
7 - 08.10.19 - 12:40
Я ВООБЩЕ НИ ХЕРА НЕ ПОНЯЛ. Я один такой!?
   UUmmmmm
 
8 - 08.10.19 - 12:48
вообщем как его программно заполнить?
   catena
 
9 - 08.10.19 - 12:50
(6)Где здесь заполнение?
   UUmmmmm
 
10 - 08.10.19 - 12:53
(9) подскажите как заполнить
   catena
 
11 - 08.10.19 - 12:56
(10)Чаще всего заполняют присвоением (=).
   Sasha_H
 
12 - 08.10.19 - 12:57
Надо посомтреть скорее всего в процедуре ПриСозданииНаСервере
   Sasha_H
 
13 - 08.10.19 - 13:03
нТЗ = Объект.Кафедры.Выгрузить(,"КлючКафедры").Скопировать();
   Sasha_H
 
14 - 08.10.19 - 13:03
не понял на хера Скопировать*() ???
   Sasha_H
 
15 - 08.10.19 - 13:05
Выгрузить()

Возвращаемое значение:

Тип: ТаблицаЗначений.

Описание:

Создает таблицу значений и копирует в нее данные коллекции. Имена колонок таблицы значений совпадают с именами колонок коллекции. Колонка, содержащая номер строки, выгружается в колонку с именем НомерСтроки.

Зачем получившуюся ТЗ еще раз копировать? это такой финт ушами!?

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.