Имя: Пароль:
1C
1С v8
Отбор в табличном поле на форме обработки
0 skupidom5
 
03.10.17
20:10
Есть 2 табличных поля с типами значений таблица значений.1 связана с другой.
Сделал так:
Процедура ТабличноеПолеДанныхПриАктивизацииСтроки(Элемент)
    
    ТекСтрока = ЭлементыФормы.ТабличноеПолеДанных.ТекущаяСтрока;
    ТаблицаДанныхИзеняемая.Очистить();
    
    СтруктураПоиска = Новый Структура;
    СтруктураПоиска.Вставить("НомерСтрокиИсходТаб",СтрокаНомерСтр);
    Если ЗначениеЗаполнено(ТаблицаДанныхНайденыСтроки) = Истина Тогда
         НайденыСтроки = ТаблицаДанныхНайденыСтроки.НайтиСтроки(СтруктураПоиска);
         Если не НайденыСтроки.Количество()>0 Тогда
              ТаблицаДанныхНайденыСтроки.Очистить();              
         КонецЕсли;    
    КонецЕсли;
    
    // ТаблицаДанныхНайденыСтроки
    Отбор = Новый Структура;
    Отбор.Вставить("НомерСтрокиИсходТаб",Строка(ТекСтрока.НомерСтроки));

    ТаблицаДанныхНайденыСтроки.Очистить();
    ТаблицаДанныхНайденыСтроки = ТаблицаДанныхНайденыСтрокиСлужебная.Скопировать(Отбор);
                 
КонецПроцедуры
1 skupidom5
 
03.10.17
20:13
для отбора использую служебную некую тз - реквизит формы, которую при открытии обработки присваиваю знач своей основной тз,которую нужно фильтровать.Потом везде копирую данные между этими 2 таблицами с отбором по нужной строке 1 главного табличного поля. Есть ли более эффективный и оптимальный способ решения, мне кажется этот перегружен и не оптимален.
2 Сти
 
03.10.17
23:00
С таблицей значений в качестве источника данных в общем-то так и выкручиваются. Но если это обработка, то в ней можно создать табличную часть, запихивать туда данные, а уже ее выводить на форму в табличном поле. Там отборы прекрасно работают.