|
Фильтр по табличной части | ☑ | ||
---|---|---|---|---|
0
Одичавший Одинэсник
01.04.24
✎
12:53
|
Добрый день!
Есть табличная часть документа1, с разными реквизитами. Один из реквизитов - ссылка на документ2. Необходимо сделать фильтр по реквизиту "Ответственный" документа2 в табличной части документа1. Интернет мало чего говорит из того, что я понял. В голове что-то подобное: обходить циклом табличную часть документа1 при изменении фильтра. Нужна помощь.
Фильтровать ТЧ мне необходимо, чтобы только отобранные строки выводить на печатную форму |
|||
1
Волшебник
01.04.24
✎
12:56
|
А почему Вы обращаетесь к несуществующим полям? Не слишком ли это нагло?
|
|||
2
RomanYS
01.04.24
✎
12:58
|
(0) Обычная практика для печатных форм: выводить сохраненные данные из базы и для их сбора использовать запросы
|
|||
3
Михаил Козлов
01.04.24
✎
12:58
|
Не пробовали на форму вывести ответственного (Изменить форму) и потом стандартным поиском в ТЧ?
|
|||
4
Одичавший Одинэсник
01.04.24
✎
13:03
|
(3) Не пробовал. Могу вывести в каждую строку ответственного.
А дальше через НайтиЗначение? А потом как и хотел, через видимость = ложь? Если не найдёт? |
|||
5
Одичавший Одинэсник
01.04.24
✎
13:03
|
(1) Если честно, не знаю, насколько это нагло. Вот ниже посоветовали вывести ответственного, и по нему искать.
|
|||
6
Волшебник
01.04.24
✎
13:07
|
(5) Это сверхнагло. Надо понимать ТИПЫ. В обычной строке табличной части нет реквизита "Видимость". Это Вы что-то выдумали.
Если же это Ваш личный реквизит, по которому Вы будете дальше фильтровать, то где это всё? |
|||
7
Одичавший Одинэсник
01.04.24
✎
13:09
|
(6) Я вот не понимаю, как отбирать. Если бы понимал, но я не понимаю.
Есть Реквизит на форме, где я выбираю ответственного. Тип у него Справочник.Сотрудники. Есть ТЧ с новой колонкой "Ответственный". Я в него запросом запихнул ответственного. Как теперь мне отфильтровать? Вот в чём вопрос |
|||
8
Волшебник
01.04.24
✎
13:11
|
(7) ТЧ.НайтиСтроки(<ПараметрыОтбора>)
|
|||
9
Одичавший Одинэсник
01.04.24
✎
13:13
|
(8) Спасибо!
Я, к слову, не безнадёжен, нашёл функцию сам только что. Но благодарен за помощь. Сложно тыкать во всякие места, пока поймёшь, что надо там. Уууфф... |
|||
10
Волшебник
01.04.24
✎
13:16
|
(9) Это ж только поиск, а не фильтр. У Вас всё ещё впереди
|
|||
11
Одичавший Одинэсник
01.04.24
✎
13:19
|
(10) Да-да-да. Как раз на этом и споткнулся. Увы, миссия ни разу не выполнена
|
|||
12
Одичавший Одинэсник
01.04.24
✎
13:44
|
Вот таких два варианта получилось.
Вариант 2 в самой табличной части всё показывает как надо, отбирает красиво, но на печать всё равно уходит вся ТЧ. С вариантом 1 я не разобрался, что делать. В ОтфильтрованнаяТЧ попадают строки с нужным отбором, но куда копать дальше, не знаю.
|
|||
13
Волшебник
01.04.24
✎
13:46
|
(12) При выводе на печать прочитайте текущий отбор и заново его примените. Мы не ищем лёгких путей.
|
|||
14
Одичавший Одинэсник
01.04.24
✎
13:50
|
(13) Сложна.
Вот получил я переменную с ОтфильтрованнаяТЧ. Она у меня в процедуре при изменении реквизита формы находится. Процедура печать вызывается с внешней печатной формы. Как их подружить так, чтобы они радовались жизни, и настругали мне красивую печатную форму на выходе? |
|||
15
Волшебник
01.04.24
✎
13:51
|
(14) У Вас в "ОтфильтрованнаяТЧ" содержится Массив строк, а не ТЧ. Опять сбилась картинка с типами.
|
|||
16
Одичавший Одинэсник
01.04.24
✎
13:53
|
(15) Дык знаю, что массив строк. Вот он, перед глазами висит, ждёт, пока я его приголублю. А я не знаю, как его впихнуть в печатную форму, которая вообще не тут. Либо мне куда-то его передать надо? У меня нет понимания, что делать.
|
|||
17
Волшебник
01.04.24
✎
13:56
|
(16) Наверняка надо что-то сделать, чтобы что-то получилось.
1) Можете передать массив строк 2) Можете передать поле и значение отбора и в печ.форме заново отобрать |
|||
18
Одичавший Одинэсник
01.04.24
✎
14:04
|
(17) Давайте порассуждаем.
1) Передать массив строк. Как это должно быть? Куда его передавать? Как его получать? На стадии ОтфильтрованнаяТЧ = Заказы.НайтиСтроки(Отбор); ещё ничего в ТЧ документа не отображается. Как пользователь поймёт, что его отбор сработал?
Окей, я могу оставить Элементы.Заказы.ОтборСтрок = Новый ФиксированнаяСтруктура(Отбор); тогда визуально будет в ТЧ то, что хочет пользователь (хотя уверен, что использовать два этих метода, один чтобы получить строки, второй чтобы просто отображать их на тч - нечто странное.
Тогда У меня есть массив ОтфильтрованнаяТЧ со строками. Куда его передать? Это просто переменная. Сделать её в подвешенном состоянии, и пусть при печати всегда спрашивает её, есть ли там чего?
2) Можете передать поле и значение отбора и в печ.форме заново отобрать То же самое. Куда передавать? Вот я отфильтровал. Вижу (или не вижу, но ощущаю в ОтфильтрованнаяТЧ ) перед собой нужные строки.
Непонятно. |
|||
19
Волшебник
01.04.24
✎
14:05
|
(18) >> Куда его передавать? Куда его передать?
Передайте туда, где его будут ждать. |
|||
20
Одичавший Одинэсник
01.04.24
✎
14:53
|
А есть ещё мнения у кого-нибудь, что делать с
ОтфильтрованнаяТЧ ? |
|||
21
АгентБезопасной Нацио
01.04.24
✎
14:55
|
(20) вариантов, собственно, всего два: Если не нужна - выкинь. Если нужна - используй.
|
|||
22
Одичавший Одинэсник
01.04.24
✎
14:57
|
(21) Судя по всему, нужна. Вопрос в том, как использовать. Куда передавать, где хранить
|
|||
23
Климов Сергей
01.04.24
✎
14:58
|
(0) Вы процедуру печати где хотите разместить? В модуле менеджера документа? Если да, то вам надо параметры отбора сохранять в реквизитах вашего документа. В процедуре печати использовать их в условиях запроса. Документ перед печатью обязательно записывать.
|
|||
24
Волшебник
01.04.24
✎
14:59
|
(22) Оно уже хранится в памяти типа "динамическая куча". Передавать другому программному коду, который знает, что с ней делать.
|
|||
25
Одичавший Одинэсник
01.04.24
✎
14:59
|
(23) Процедура печати уже есть, находится в модуле объекта внешней печатной формы
|
|||
26
Климов Сергей
01.04.24
✎
15:03
|
(25) Тогда именно так, как я предложил. Иного пути нет.
Точнее, более простого пути нет. Помудрёнее можно придумать :-) |
|||
27
Одичавший Одинэсник
01.04.24
✎
15:16
|
(26) Спасибо) Буду пытаться. Я так понимаю, это как раз то, что говорил (24)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |