|
Отбор строк Таблицы значений на форме
Хряк, Волшебник, obs191, программистище, dmt, Skylark, Eiffil123, Михаил Козлов, Yu13, Смотрящий, lEvGl, Жеглофф, Мультук, DimR_71, Valdis2007, Chieftain
| ☑ |
0
Gera1t
26.12.24
✎
16:03
|
Здравствуйте!
Есть Таблица значений. Нужно накладывать на нее отборы.
Делаю это через:
Элементы.ТЗ.ОтборСтрок = Новый ФиксированнаяСтруктура(СтруктураПоиска);
Но появилась необходимость наложить отбор с интервалом.
Подскажите пожалуйста как это сделать именно на ТЗ?
|
|
1
Волшебник
26.12.24
✎
16:05
|
Может не нужно. Докажите, что нужно.
|
|
2
Gera1t
26.12.24
✎
16:05
|
С интервалом это например Дата от 01.01.2024 до 31.01.2024
|
|
3
Gera1t
26.12.24
✎
16:06
|
(1) Не нужно, но очень хочется
|
|
4
Волшебник
26.12.24
✎
16:07
|
(2) А время надо учесть? Тогда так:
от 01.01.2024 00:00:00 до 31.01.2024 23:59:59
|
|
5
Gera1t
26.12.24
✎
16:07
|
(4) Точно, про время забыл, конечно нужно
|
|
6
Волшебник
26.12.24
✎
16:10
|
(5) Ну надо, так надо... Приступайте
|
|
7
Мультук
26.12.24
✎
16:58
|
(0)
Вариант 0
Пишем письмо в 1С.
Раскрываем "им" глаза на лямбда функции и то,
что на дворе фактически 2025 год, а...
Вариант 1
Засовываем таблицу значений в запрос, а потом..
Вариант 2
Добавляем в таблицу значений реквизит "Флаг" Булево
В цикле
Строка.Флаг = Строка.Дата >= Дата1 и Строка.Дата <= Дата2
Все три варианта "так себе". Особенно один из них
|
|
8
Волшебник
26.12.24
✎
17:03
|
(7) "Флаг" — плохое имя реквизита ;)
|
|
9
Мультук
26.12.24
✎
17:02
|
(8)
Как в том анекдоте -- значит "вариант 3" у вас внутреннего отторжения не вызвал ? :-)
|
|
10
Волшебник
26.12.24
✎
17:03
|
(9) Я согласен на любой вариант, если мне объяснят, что в строках и что это за даты. :)
|
|
11
Мультук
26.12.24
✎
20:44
|
(10)
Допустим есть таблица значений (вместо Истина/Ложь может быть М/Ж -- в данном примере нет разницы)
Имя Пол Дата Рождения
Вася Истина 21.06.1980
Катя Ложь 22.09.1972
Петя Истина 01.05.2020
1) отобрать мальчиков легко -- прямое совпадение
нс = тз.НайтиСтроки(Новый Структура("Пол", Истина));
2) А вот отобрать всех кто родился с 01.1960 по 31.12.1980 уже придется писать цикл.
Никакого встроенного метода (пусть даже синтаксического сахара) 1С нам не предлагает
|
|
12
Волшебник
26.12.24
✎
20:57
|
(11) Мультук, я не знаю, как Вас ещё отблагодарить за помощь форуму, кроме роли "Здравомыслящий"...
Хотите, я введу новую роль "Гуру" или "Просветлённый". ТАм будут Гена, Мультук и ещё пара ников?
Я только не пойму, что ещё вам просветлённым дать? Что вы хотите в новом году?
|
|
13
Мультук
26.12.24
✎
21:33
|
(12)
Я много хочу.
Хочу, чтобы ботов было меньше, а людей больше. Как на форуме, так и в жизни.
Хочу быть добрее (я стараюсь, честно)
Хочу, чтобы Волшебник перестал хандрить и {думать о всяком}
А еще хочу, чтобы пришло Новогоднее настроение, а то оно где-то заблудилось похоже!
P.S.
Станислав, спасибо!
Я помогаю по мере сил.
Но я на форуме не за званиями.
Тем более, что есть куда более достойные люди.
|
|
14
Волшебник
26.12.24
✎
21:34
|
(13) Вы святой, святой...
|
|
15
Fedor-1971
27.12.24
✎
12:40
|
(11) так себе решение, но:
через условное оформление задать видимость строк,
типа ДатаРождения больше "ДД.ММ.ГГГГ" И ДатаРождения Меньше "ДД.ММ.ГГГГ"
|
|
16
lEvGl
27.12.24
✎
21:11
|
Чтобы минимально рисовать, нужно тз превратить в тч, там есть отбор строк. Если рисовать то простор для творчества - свои кнопки, свои отборы, что по сути просто переформирование тз
|
|
17
программистище
28.12.24
✎
09:52
|
Решение: пробегать перед отбором по таблице циклом, и формировать для тех строк, что соответствуют условиям, идентификатор (писать в реквизит отбора), по нему и отбирать
|
|