v7: 77 - сортировка в запросе по ПолнНаименование #749130


#0 by Looking
Доброго времени суток! Задача в том, чтобы в ТиСовском Прайс-листе изменить сортировку с наименований на сортировку по полным наименованиям. Заменяю в тексте запроса строки на Получаю какую-то тарабарскую группировку, не в алфавитном порядке. В чем моя ошибка? Прошу подсказать.
#1 by GreyK
Реквизит Номенклатура.ПолнНаименование видимо нограниченной длины.
#2 by Looking
да, так и есть, по неограниченным длинам сортировка не производится?
#3 by romix
Не умеет по неограниченным. Но его копию можно ограничить и по ней сортировать, до какого-то предела. Если поставить этой копии большую длину, то таблицу индекса раздует (там надо посмотреть, чтобы сразу не создало мега-гига индекс).
#4 by romix
По Наименованиям еще можно (лучше всего) сортировать.
#5 by Looking
, спасибо огромное! тогда или неограниченную длину уберу, или буду предварительно выгружать в ТЗ и уже там сортировать.
#6 by Looking
да вот как раз наименования одни, а для печати другие и нужно именно по тем, что для печати.
#7 by Looking
, не знал про такой недостаток неограниченных как невозможность сортировки по ним, спасибо огромное!
#8 by Looking
а почему у некоторых ограниченных максимальная длина 100? это ограничение платформы? почему нельзя сделать не 100, а например 300?
#9 by Garykom
если список в прайсе не сильно большой, то можно выгружать в ТЗ и сортировать его еще можно допреквизит "номер в сортировке" в "Номенклатура" и заюзать его предварительно заполненный циферками по порядку "как нуна"
#10 by Garykom
+ но если часто и помногу добавляется новой номенклатуры то нужен будет алгоритма для быстрой "перенумерации сортировки"
#11 by Looking
, если я реквизит ПолнНаименование сделаю вместо Неограниченной длины, строкой длиной 300 - 400 знаков. Это чем-то хуже для базы данных? может информация в файлах будет храниться менее оптимально или еще что-то? или это сугубо аспект удобства работы для пользователей, и если пользователям 400 знаков за глаза, то можно смело ограничивать?
#12 by Злопчинский
ну.. если ты на это ограничееное наименование в 400 знаков поставишь сортировку и отбор в пофигураторе.. то лучше этого не делать.. ;-)
#13 by Looking
+не, упорядочивание в отборе работает и без включенных сортировки и отбора в конфигураторе. если обрежу до 400 знаков и не буду включать в конфигураторе для этого реквизита сортировку и отбор - сильно хуже для БД, чем как было (реквизит неограниченной длины).
#14 by Looking
+знак ? забыл в конце.
#15 by Злопчинский
не, не сильно. вообще пофиг в таком случае. просто место будет сжираться неиспользуемое (?) но я думаю это некритично
#16 by Looking
спасибо большое! попробую, если вдруг какая негативная побочка вылезет - отпишусь.
#17 by vcv
"если обрежу до 400" Индекс будет большой и неэффективный. Лучше завести новый реквизит длиной знаков 20-40-80 символов. ПриЗаписи в карточке номенклатуры его заполнять из ПолнНаименование. По нему и сортировать в запросе.
#18 by dk
а зачем дублирование в группировке?
#19 by Looking
спасибо за идею! правда скорее всего имеет смысл от определенного количества элементов в справочнике? позже смогу написать сколько их у меня.
#20 by Looking
в смысле почему 3 раза? это типовой код, там условия по типу или виду номенклатуры (товар, услуга и т.д.)
#21 by 1Сергей
это не из типовой. Зачем в запросе три одинаковые группировки?
#22 by Looking
почему не типовой-то, просто не хотел тему захламлять простынями кода, там условие при включении отбора по остаткам, а потом еще услуги с работами добавляются
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

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