|   |   | 
| 
 | 8.2 "Быстрая" альтернатива ОтборСтрок | ☑ | ||
|---|---|---|---|---|
| 0
    
        g_frost 01.09.10✎ 18:18 | 
        Хочу поделиться приятной плюшкой
  Как мне кажется довольно удобный вариант интерфейса - две таблицы, например работы и исполнители, выбираем работу - видим тех исполнителей которые к ней привязаны. Как делал раньше - событие при активации строки создавал новую фиксированную структуру с параметром/параметрами отбора и устанавливал для второй табличной части ОтборСтрок Минусы - отображение тормозит, особенно если таких отбора 2-3 Новый вариант - в форме настроил условное оформление с видимостью колонок табличной части. Видимость = истина; Объект.РАботы.Идентификатор = Объект.Исполнители.Идентификатор; поля, Объект.Исполнители.Номерстрок(,Исполнитель,Часы) и Видимость = ложь; Объект.РАботы.Идентификатор <> Объект.Исполнители.Идентификатор; поля, Объект.Исполнители.Номерстрок(,Исполнитель,Часы) Второй вариант - буквально летает, даже в тонком клиенте через апач. Рекоммендую использовать именно второй вариант | |||
| 1
    
        xReason 01.09.10✎ 18:29 | 
        Записал     | |||
| 2
    
        Armando 01.09.10✎ 18:31 | 
        потом посмотрю     | |||
| 3
    
        Immortal 01.09.10✎ 21:09 | 
        динамические списки для кого придумали?     | |||
| 4
    
        MRAK 01.09.10✎ 21:11 | 
        (3) может он про табличную часть?     | |||
| 5
    
        Immortal 01.09.10✎ 21:12 | 
        (4) судя по (0) это отнюдь не 2 ТЧ     | |||
| 6
    
        g_frost 02.09.10✎ 09:43 | 
        (5) это именно две ТЧ, условное оформление настраивается для формы в целом     | |||
| 7
    
        ProgAL 02.09.10✎ 10:46 | 
        А что это за метод "НомерСтрок"? В помощнике нет такого.     | |||
| 8
    
        Stepa86 02.09.10✎ 11:21 | 
        у меня шапка пропала в таблице, так и должно быть?     | |||
| 9
    
        g_frost 02.09.10✎ 11:49 | 
        (7) это не метод это название колонки "номерстроки"     | |||
| 10
    
        g_frost 02.09.10✎ 11:54 | 
        (8) что то не так делаете, у меня шапка видна  пример настроек http://saveimg.ru/show-image.php?id=cddfe4adba1bf7db10e2240618ca86e5 | |||
| 11
    
        Stepa86 02.09.10✎ 12:06 | 
        (10) фикзнает что было, но начал показывать... другая проблема, сделал кнопку "Фильтровать по тек. строке" которая включает/отключает фильтрацию. Отключает замечательно, а вот после включения фильтр не ставится, нужно выполнить каку нить команду, которая сбегает на сервер и после этого начинает работать фильтр...  вот видео, как работает: http://screencast.com/t/NzliMjMyY код: &НаКлиенте Процедура ФильтроватьПоТекСтроке(Команда) Элементы.ВозвратыФильтроватьПоТекСтроке.Пометка = Не Элементы.ВозвратыФильтроватьПоТекСтроке.Пометка; УстановитьОтборВозврата(); КонецПроцедуры Процедура УстановитьОтборВозврата() ФильтрПоТекСтроке = Элементы.ВозвратыФильтроватьПоТекСтроке.Пометка; Элементы.Возвраты.ИзменятьСоставСтрок = Не ФильтрПоТекСтроке; Для Каждого цЭлемент Из УсловноеОформление.Элементы Цикл Если цЭлемент.Представление = "ВидимостьВозвратовПоТекСтроке" Тогда цЭлемент.Использование = ФильтрПоТекСтроке; КонецЕсли; КонецЦикла; КонецПроцедуры | |||
| 12
    
        g_frost 02.09.10✎ 12:18 | 
        (11) попробуйте тот же вариант с условным оформлением но  1. Новый реквизит формы - ТекущийОтбор 2. Условие Видимость истина если не ТекущийОтбо.Заполнен или ТекущийОтбор=Объект.ТабличнаяЧасть.ОтбираемоеЗначение 3. Условие Видимость ложь если ТекущийОтбо.Заполнен и ТекущийОтбор<>Объект.ТабличнаяЧасть.ОтбираемоеЗначение 4. при нажатии кнопки отбор если Элементы.ТабЧасть.ТекущиеДАнные.ОтбираемоеЗначение = текущийотбор тогда текущийотбор = неопределено иначе текущийотбор = Элементы.ТабЧасть.ТекущиеДАнные.ОтбираемоеЗначение (не забудьте проверить Элементы.ТабЧасть.ТекущиеДАнные на неопределено) отпишитесь пожалуйста по результатам, интересно сработает или нет | |||
| 13
    
        Stepa86 02.09.10✎ 12:24 | 
        (12) не понял сути этого варианта. Предлагаете менять не использование строки условного оформления, а отбор? Как то уж больно трудоемко и быстрее будет через ОтборСтрок     | |||
| 14
    
        g_frost 02.09.10✎ 12:44 | 
        (13) насчет трудоемкости спорно  весь код &НаКлиенте Процедура Отобрать(Команда) Если Элементы.Часть1.ТекущиеДанные<>Неопределено Тогда Если Элементы.Часть1.ТекущиеДанные.Работа<>ТекущийОтбор Тогда ТекущийОтбор = Элементы.Часть1.ТекущиеДанные.Работа; иначе ТекущийОтбор = Неопределено; КонецЕсли; КонецЕсли; КонецПроцедуры а вот и обработка http://webfile.ru/4705054 я не имею предубеждений против отборстрок, просто у клиента эта конструкция делает 2 серверных вызова и тормозит при отборажении, особенно если нужно добавить отбор строк для 2х табличных частей или по большой таблице | |||
| 15
    
        Stepa86 02.09.10✎ 12:50 | 
        (14) главная проблема в том, что у меня 6 колонок связи, а не одна... и они так то независимы, просто нужно иногда посмотреть связи     | |||
| 16
    
        Kerk 02.09.10✎ 18:34 | 
        Хм... надо посмотреть.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |