Как отобрать строки из Таблицы Значений по условию например "сумма < 70" #636998


#0 by RalexR
Доброго времени суток народ! Вот впервый раз столкнулся с ситуацией когда надо отобрать строки из ТЗ по условию меньше или больше. Запросом понятно можно, каким другим способом, возможно ли тут использование метода ТЗ.НАйтиСтроки? я так понял что нет.
#1 by Feanorko
НайтиСтроки ищет тока на равенство
#2 by ботаникус
запрос
#3 by RalexR
Да, я тоже других способов пока не нашёл, думал может кто подскажет:)надеялся без запроса обойтись.
#4 by hhhh
вы что-то странные способы ищете. Нужно спрашивать вообще-то: Как обойтись без этого кривого метода НайтиСтроки?
#5 by ВалераОшкин
Для каждого СтрокаТЗ ИЗ ТЗ Если СтрокаТЗ.Сумма < 70 Тогда МассивОтобранныхСтрок.Добавить(СтрокаТЗ);
#6 by RalexR
через запрос уже реализовал:) таблицы значений большие очень, хотел просто ради любопытства сравнить время отбора и время запросом когда отбираешь.
#7 by hhhh
ну сам сравни запрос дает в результате всем понятную таблицу значений. Ее можно сразу проиндексировать по нужному полю, чтобы быстро летала. НайтиСтроки дает в результате такую вещь: массив строк ТЗ. Это сам понимаешь полная задница. Его не проиндексируешь и поиск в нем организовать очень трудно. И время его обработки будет запредельное.
#8 by Фокусник
тзНовая = тзИсходная.Скопировать(мНайденныеСтроки) :)
#9 by RalexR
ну для начала эти строки надо найти:)
#10 by Нуф-Нуф
запрос?
#11 by YF
А что метод Скопировать по отбору не устраивает?
#12 by YF
Скопировать (Copy) Вариант синтаксиса: Скопировать строки Синтаксис: Скопировать(<Строки>, <Колонки>) Параметры: Тип: Массив. Массив строк для копирования. Если не указан, копируются все строки таблицы значений. Тип: Строка. Список колонок для копирования в формате: "Колонка1, Колонка2...". Описание варианта метода: Если указаны строки и колонки, то только они будут скопированы. Если не указаны - то будет создана полная копия таблицы значений. Вариант синтаксиса: Скопировать по отбору Синтаксис: Скопировать(<ПараметрыОтбора>, <Колонки>) Параметры: Тип: Структура. Ключ структуры - идентификатор колонки, а значение структуры - значение отбора. Тип: Строка. Список колонок для копирования в формате: "Колонка1, Колонка2...". Описание варианта метода: Если указан отбор, то только строки из отбора будут скопированы. Если отбор не указан, то будут скопированы все строки таблицы значений. Если указаны колонки, то только эти колонки будут скопированы. Иначе, будут скопированы все колонки таблицы значений. Возвращаемое значение: Тип: ТаблицаЗначений. Описание: Создает копию исходной таблицы значений. Доступность: Сервер, толстый клиент, внешнее соединение. Пример: НовТаблицаЦен = ТаблицаЦен.Скопировать;
#13 by GANR
Часто применяемый мною прием: 1. Загнать ТЗ в запрос (читай про временные таблицы) 2. Поставить фильтры какие мне надо 3. Выгрузить результат запроса 1. в ТЗ Кстати, 1. может быть заменен и на набор данных типа "объект" в СКД в случае особо сложных отборов.
#14 by GANR
Не заметил... СКД ещё есть - редко кем применяемый способ. Но я сомневаюсь, что это быстрей. Единственный плюс - отборы можно самые извратные без труда накладывать накладывать в пользовательском режиме.
#15 by GANR
Как-то так:
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С