что быстрее будет работать, выбор когда или обход

1. El_Ninio 18.02.25 05:17 Сейчас в теме
Имеется ТЗ с 4 колонками к примеру, и наименование товаров разделены по колонкам и 9 тыс строк, пробовал выбором когда передачей тз в запрос, например так выбор когда Номенклатура.Наименование = ТЗ.Колонка1 тогда 1 иначе 0 конец итд нужны итоги по колонкам тз. Запрос выполняется очень долго, а если при обходе результат запроса и сделать поиск в ТЗ так будто быстрее работает. Замер не делал.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. RustamZz 18.02.25 06:46 Сейчас в теме
(1) Сделать замер быстрее. Чем писать на форум и ждать ответа.
user2107191; +1 Ответить
4. starik-2005 3166 18.02.25 10:28 Сейчас в теме
(1)
Имеется ТЗ с 4 колонками к примеру, и наименование товаров разделены по колонкам и 9 тыс строк
итд нужны итоги по колонкам т
ТЗ.Свернуть? Или что там в колонках? Я вот нифига не понял, ну кроме того, что какой-то велосипед с квадратными колесами пилится... Расскажи, что хочешь-то?
3. Anton_new01 18.02.25 09:19 Сейчас в теме
(1) Да. все правильно!
если делать ТЗ - то это не быстро. пихать ее в запрос тоже не фонтан.
медитировать на форум - та еще истроия.

а чего хотим то?
5. El_Ninio 19.02.25 03:51 Сейчас в теме
Хочу чтобы человек сидел и на форме из списка перетаскивал в колонки в Таблице на форме. Потом нажал кнопку и подчитал итоги в колонках. Другого варианта нету, поэтому такое решение. Чтобы человек сам распределял. Это не товары, это только пример был.
6. Anton_new01 19.02.25 10:17 Сейчас в теме
(5) А такой вариант не подходит?

&НаКлиенте
Процедура ТаблицаПриИзменении(Элемент)
	Элементы.Таблица.Колонки.Количество.ТекстПодвала =  Таблица.Итог("Количество");
КонецПроцедуры


ЗЫ. как обычно при работе с формами - самое долгое это передача данных клиент - сервер.
в частности Таблица типа ТЗ - существует как на клиенте так и на сервере... и если там 9к строк, то это не айз.
лучше использовать другой тип типа Табличный Документ или еще какие варианты.
Да код совершенно преобразится, но это будет работать быстрее.
в этом случае не будет автоматической передачи данных клиент сервер и не будет жестких тормозов.
7. El_Ninio 19.02.25 11:11 Сейчас в теме
(6) Нет, не просто подсчитать итог, а поиск по наименованию из выбранных данных через запрос.
8. antz 19.02.25 11:39 Сейчас в теме
(7) Я так и не понял что нужно. Итоги - это количество чего? Можно примерно увидеть таблицу начальную и желаемый результат?
9. n_mezentsev 58 19.02.25 11:46 Сейчас в теме
(7) Есть опыт реализации сложной цепочки проверок и сравнений запросом. Так вот - кодом с учетом передачи параметров получилось быстрее, хотя запросы обычно до быстроты получается отладить) Но это в моем случае, конечно. Не бойтесь замеров
10. El_Ninio 19.02.25 11:50 Сейчас в теме
Например так, мы же не знаем что это фрукт или цветы или автомобиль, поэтому чел сам распределяет. Запросом на период данные получены, теперь сравнить надо, выбором когда или обойти.
Прикрепленные файлы:
11. user2107191 19.02.25 11:54 Сейчас в теме
(10) Я так понимаю, что надо данные из какого-то регистра по номенклатуре сгруппировать по вхождению в массивы, состав которых пользователь определяет на форме.
12. antz 19.02.25 11:59 Сейчас в теме
(10) Ну а группировка по названию колонки и количеству различных - не? То есть, получаем таблицу

Номенклатура | Колонка
УАЗ Буханка | "Автомобиль"
Яблоко | "Фрукты"
Груша | "Фрукты"
Роза | "Цветы"


и группируем.
13. El_Ninio 19.02.25 13:01 Сейчас в теме
(12) Мне еще итоги надо подсчитать, поэтому делаю так,
СУММА(выбор когда таблицанаформе. Товар <> "" и  таблицанаформе. Товар = РегистрСведений.Наименование  Тогда 1 иначе 0)  


но это очень долго работает. Пробовал обход и найти строки с отбором и отуда получить имя колонки.
14. antz 19.02.25 13:04 Сейчас в теме
(13) Итоги чего? Конечная таблица в каком виде должна быть?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот