Имя: Пароль:
1C
1С v8
Обработка данных при активизации строк.
,
0 antihacker
 
25.03.16
12:28
Всем привет ! Есть управляемая форма. На ней табличная часть. И код табличной части.

&НаКлиенте
Процедура ТЧСписокНарушенииПриАктивизацииСтроки(Элемент)
//-----Получаем текущие данные таблицы
Если Элемент.ТекущиеДанные = Неопределено Тогда
Возврат;
КонецЕсли;
    
    ТЧСписокНарушенииПриАктивизацииСтрокиНаСервере(Элемент.ТекущиеДанные.Сотрудник);
КонецПроцедуры


&НаСервереБезКонтекста
Процедура ТЧСписокНарушенииПриАктивизацииСтрокиНаСервере(вхСотрудник)
НаборЗаписей = РегистрыСведений.ФиксированныеСобития.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Сотрудник.Установить(вхСотрудник);
НаборЗаписей.ДатаСобытия = вхДатаСобытия;

НаборЗаписей.Прочитать();

КонецПроцедуры

Понятно что в процедуре ТЧСписокНарушенииПриАктивизацииСтрокиНаСервере нельзя добавиьт строку в другую табличную часть. Ведь без конекста.

А если процедуру сделать просто &НаСервере, то запускаеться безконечный цикл и платформа проваливаеться. Платформа 8,3

Как быть ?
1 antihacker
 
25.03.16
12:32
Мне как то надо манипулировтаь строками второй табличной части при активизации строки первой табличной части
2 Nuobu
 
25.03.16
12:33
(0) Юзай отбор.
3 antihacker
 
25.03.16
12:37
Что за отбор ?

При активизации строки первой табличной части, надо очистить вторую табличную часть, а потом выбрать из регистра данные и добавить строкию

Какой отбор поможет ?
4 Nuobu
 
25.03.16
12:40
(3) "а потом выбрать из регистра данные "

Ты можешь вместо таблицы значений использовать динамический список из этого же регистра.

Если тебе нужна, всё же, таблица значений, то делай через ПодключитьОбработчикОжидания("ПриАктивизацииСтроки", 0.1, Истина);

Тогда странца обновится, но только один раз.
5 Diman000
 
25.03.16
12:41
Есть стойкой ощущение, что вы занимаетесь муйней, коллега.
Что за необходимость добавляться куда-то строк в данные только ПРИ АКТИВИЗАЦИИ строки?
Потому вам про отбор и советуют, он скорее всего должен помочь...
6 antihacker
 
25.03.16
12:45
О каком отборе идет речь ?
А что означает динамический список из этого же регистра ?

Табличная часть на форме это я порсто перетащил реквизит формы на форму если что
7 Diman000
 
25.03.16
12:47
Об отборе который должен быть у второй ТЧ.
То что ты хочешь делается именно отбором, у которого меняется значения фильтра при активизации строки.
А не добавлением куда-то строк...
8 antihacker
 
25.03.16
12:51
Так я что должен с перва добавить в табличную часть все данные связанные по всем сотрудникам ? Их тысячи...
9 Diman000
 
25.03.16
12:52
Нет, ты должен использовать динамический список.
10 antihacker
 
25.03.16
12:53
Подскажи как  ? Еще та кни делал или не могу понять.
11 Diman000
 
25.03.16
12:55
Если совсем не знаешь что это такое, покури какие-нибудь буквари по разработке что ли...
Динамический список как бэ это азбука.
12 Diman000
 
25.03.16
12:56
Дин. список это представление данных, описанных запросом. Туда можно в настройки добавлять отборы, как программно так и в пользовательском режиме.
13 antihacker
 
25.03.16
12:57
Просто дай направление в пару словах. Я пойму что к чему. Где и как использовать динамический список. Динамический список как реквзит формы или что то другое ?
14 Diman000
 
25.03.16
12:57
да, это реквизит формы
15 FIXXXL
 
25.03.16
12:59
(13) реквизит формы вместо второй ТЧ
туда Запрос к твоему РС
при Активизации строки устанавливай параметры запроса
16 antihacker
 
25.03.16
13:14
Ну это тоже самое во это

&НаКлиенте
Процедура ТЧСписокНарушенииПриАктивизацииСтроки(Элемент)
    
//-----Получаем текущие данные таблицы
Если Элемент.ТекущиеДанные = Неопределено Тогда
Возврат;
КонецЕсли;

//-----Отбор по таблице ФТЧОбъектыМесторождении-------
Отбор = Новый Структура;
Отбор.Вставить("Сотрудник", Элемент.ТекущиеДанные.Сотрудник);
//-----Задаем фиксированную структуру отбора для таблицы формы--
Элементы.ТЧДетальноПОСотруднику.ОтборСтрок = Новый ФиксированнаяСтруктура(Отбор);

КонецПроцедуры
17 FIXXXL
 
25.03.16
13:49
(16) а что у тебя в ТЧДетальноПОСотруднику?
18 Nuobu
 
25.03.16
13:51
(16) Только без сервера.
Основная теорема систематики: Новые системы плодят новые проблемы.