|
Признак отбора строки ТП | ☑ | ||
---|---|---|---|---|
0
kugelfangg
19.01.12
✎
10:59
|
Здравствуйте, господа!
Подскажите пожалуйста, каким образом можно получить признак строки Табличного поля сообщающий, удовлетворяет ли данная строка условиям отбора(фильтра). На пример: В Табличном поле(ТП)10 строк. После выполнения отбора в ТП отображается только 4 из них. Как программно можно определить данные строки? |
|||
1
kugelfangg
19.01.12
✎
11:09
|
апп
|
|||
2
1с-кин
19.01.12
✎
11:15
|
ТекущаяСтрока?
|
|||
3
1с-кин
19.01.12
✎
11:16
|
можно также в ТЗ выгрузить данные ТП
|
|||
4
kugelfangg
19.01.12
✎
11:30
|
(2) каким оператором из ТекущаяСтрока можно получить данный признак?
|
|||
5
1с-кин
19.01.12
✎
11:31
|
(4) признак - никаким, нет такого. А сами строки - можно.
Нужен признак - сравнивайте с исходной таблицей, и выводите его сами. |
|||
6
kugelfangg
19.01.12
✎
11:31
|
(3) в ТЗ без определенного условия выгрузятся все 10 а не 4.
|
|||
7
1с-кин
19.01.12
✎
11:34
|
(6) какое условие вам нужно? выгрузятся те строки, которые в ТП. ТП не будет содержать "лишних" строк - это не ТЧ, это просто визуальное представление таблицы на форме.
Хотя если ТП привязана к ТЧ - тогда да. Отвяжите :) |
|||
8
kugelfangg
19.01.12
✎
11:36
|
Подскажите пожалуйста, а без "отвезки" это никак не возможно?
Просто сделать это не представляется возможным, в связи с особенностями кода. |
|||
9
shuhard
19.01.12
✎
11:38
|
(8) [это никак не возможно]
я бы засунул отбор в построитель запроса |
|||
10
kugelfangg
19.01.12
✎
11:40
|
(9)Ок. Большое спасибо за идею.
|
|||
11
1с-кин
19.01.12
✎
11:42
|
(10) а вы еще не сделали отбор запросом? 0_о
|
|||
12
kugelfangg
19.01.12
✎
11:45
|
Пока нет, но уже работаю над этим!=)
|
|||
13
shuhard
19.01.12
✎
11:46
|
(12) документ записать не забудь
|
|||
14
aleks-id
19.01.12
✎
11:46
|
Построитель = Новый ПостроительЗапроса;
Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(МояТЧсОтбором); Результат = Построитель.Результат.Выгрузить(); |
|||
15
kugelfangg
19.01.12
✎
15:29
|
Спасибо всем за помощь! В итоге получился код:
Построитель = Новый ПостроительЗапроса; Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ЭлементыФормы.Пользователи.Значение); Для Каждого ЭлементОтбора Из ЭлементыФормы.Пользователи.ОтборСтрок Цикл Если ЭлементОтбора.Использование Тогда Построитель.Отбор.Добавить(ЭлементОтбора.Имя); Построитель.Отбор[ЭлементОтбора.Имя].Использование = ЭлементОтбора.Использование; Построитель.Отбор[ЭлементОтбора.Имя].Значение = ЭлементОтбора.Значение; Построитель.Отбор[ЭлементОтбора.Имя].ВидСравнения = ЭлементОтбора.ВидСравнения; КонецЕсли; КонецЦикла; Результат = Построитель.Результат.Выгрузить(); Для каждого Строка из Пользователи Цикл Если НЕ Результат.Найти(Строка.Пользователь,"Пользователь") = Неопределено Тогда Строка.Отметка = Истина; КонецЕсли; КонецЦикла; |
|||
16
shuhard
19.01.12
✎
15:33
|
(15) не айс:
Построительчик=Новый ПостроительЗапроса; Построительчик.ИсточникДанных=Новый ОписаниеИсточникаДанных(Товары); // табличная часть документа // копирование отбора Для Каждого СтрокаОтбора из ЭлементыФормы.Товары.ОтборСтрок Цикл // цикл по отбору табличной части СтрокаОтбораПостроителя=Построительчик.Отбор.Добавить(СтрокаОтбора.Имя); ЗаполнитьЗначенияСвойств(СтрокаОтбораПостроителя, СтрокаОтбора); // копирование нужных реквизитов отбора одной строкой КонецЦикла; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |