v7: 1С77 прямой запрос через SQLite - сортировка по наименованию #773450


#0 by Looking
Доброго времени суток! Вопрос в продолжение темы Очень прошу подсказать - как отсортировать результат запроса по Наименованию номенклатуры? Сортировка по ID дает совсем не ту сортировку.     ТекстЗапроса="     |WITH RECURSIVE
#1 by Djelf
Ну так ID идентификатор, Наименование это DESCR
#2 by Looking
если я вместо ORDER BY Goods.ID DESC пишу в запросе ORDER BY Goods.DESCR DESC то получаю ошибку Запрос.Подготовить(ТекстЗапроса); {Справочник.Номенклатура.ФормаСписка.ФормаСписка.Модуль(1109)}: no such column: Goods.DESCR Это из-за того, что я выше не объявил в запросе переменную, или из-за того что в DBF-таблице нет такой колонки - Наименование?
#3 by spock
В твоих CTE Goods и NoGoods определены такие поля ID,PARENTID,ISFOLDER. Либо добавляй доп.поле для сортировки, либо заджойни в запросе таблицу с товарами.
#4 by Looking
вот так сортировка вроде-бы получилась. но я совсем-совсем начинающий, просто добавил по аналогии DESCR. очень прошу проверить, верно-ли получилось, или этот вариант не корректен.
#5 by Djelf
Не так чтоб не корректен раз работает, но не оптимален. - вот ты зачем засунул DESCR в NoGoods? Это же получение списка номенклатуры которую мы не будем показывать! Следовательно DESCR там вообще не нужен. - в Goods DESCR еще куда шло, но если ты через NoGoods отчильтровываешь 30% товаров, то их Наименования тоже не нужны. Следовательно - лишние действия. Достаточно еще раз приджойнить номенклатуру, и отсортировать уже по ней. Не факт, что это работать будет быстрее (все зависит от планировщика sqlite) так что сравни, но DESCR из NoGoods убирай 100%
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

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