Как выбрать элемент справочника с САМЫМ ДЛИННЫМ значением реквизита? #538440


#0 by puls
К примеру Справочник Номенклатура. Как выбрать элемент с самым длинным комментарием?
#1 by Dem1urg
Если акция разовая - в форме списка справочника правой кнопкой, вывести список, сохранить в Excel. Там вбить формулу (по-моему ДЛСТР), результат отсортировать. Или напрямую через SQL
#2 by puls
Не-а. Многоразовая акция. Перед выводом прайс-листа, нужда возникла, самое длинное поле знать. Чтоб в конструкции ВЫРАЗИТЬ КАК СТРОКА (ДЛИНА СТРОКИ) - не от балды ставить длину строки
#3 by Dem1urg
Ну тебе делать нечего. ВЫРАЗИТЬ КАК Строка(1000) и не париться
#4 by puls
есть и больше 1000
#5 by vicof
Выбрать номенклатуру и комментарий в 1 таблицу, добавить колонку "длина" - туда записывать длину комментария, Потом использовать получившуюся таблицу в запросе, его сортировать по убыванию длины, выбрать первые 1
#6 by aleks-id
ВЫБРАТЬ ПЕРВЫЕ 1    МойСправочник.Ссылка ИЗ
#7 by puls
т.е. получить выборку из справочника, затолкать ее в ТЗ, пробежать по всей ТЗ и проставить длину поля, потом отсортировать и выбрать первый? НЕ РАЦИОНАЛЬНО. если уж бежать по всей выборке - то и без доп поля и сортировки можно запомнить самый длинный
#8 by vicof
не прокатит, отсортирует по наименованию
#9 by puls
Не пойдет. Будет сортировать по алфавиту, а не по длине. Пробовал
#10 by aleks-id
все прокатит. первой будет самая длинная строка
#11 by puls
+
#12 by aleks-id
как по твоему, что будет в запросе если у тебя 3 элемента с комментариями:
#13 by puls
а если будет комментарий "камент Ы", то он и окажется в выборке твоего запроса. ХОТЯ САМЫЙ КОРОТКИЙ
#14 by aleks-id
ошибочка в запросе. упорядочить надо по возрастанию
#15 by puls
Кстати, а сколькими символами ограничены при в конструкции ВЫРАЗИТЬ КАК СТРОКА(КолВоСимволов)
#16 by puls
тоже не отработает к1 "камент а" к2 "камент бббббббббббббб" к3 "камент ы" упорядочишь по возрастанию - получишь к1, упорядочишь по убыванию - получишь к3. но никак не получишь к2 - правильный ответ
#17 by Defender aka LINN
Вы в комментариях что, "Войну и мир" храните?
#18 by forforumandspam
Да делай просто выборку.
#19 by puls
Мы - нет. А вот наши клиенты - всю поднаготную товара, для интернет-магазина. Но дело не в этом. Дело в том как программно реализовать такую задачу. Не надо цепляться к частным случаям
#20 by Defender aka LINN
Дураки ваши клиенты, факт. А для зачем "Выразить" вообще? На верхнем уровне комментарий вытаскивай, да и все.
#21 by puls
ВЫРАЗИТЬ чтоб можно было в запросе объединять поля неограниченной длины.
#22 by brznzglwgn
Больше 1024 в запросе не получишь. Делай как в
#23 by х86
Храни длину коммента в реквизите/в свойствах справочника
#24 by aleks-id
а если так попробовать? ВЫБРАТЬ    ВложенныйЗапрос.Комментарий,    МойСправочник.Ссылка ИЗ
#25 by ZanderZ
"Для <Тип значения> СТРОКА с указанием длины максимальный размер строки составляет 1024. "
#26 by Defender aka LINN
Хоспади... Типа, первого тома мало, надо и второй к нему добавить? :)
#27 by vicof
не взлетит
#28 by aleks-id
чойта? у меня взлетела
#29 by vicof
у тя комментарий ограниченной длины?
#30 by ASU_Diamond
соединение по комментарию?
#31 by aleks-id
да. но иначе запросом никак кроме как через ВЫРАЗИТЬ
#32 by aleks-id
а что тебя смущает?
#34 by Fragster
читайте мануал - больше 1024 в ВЫРАЗИТЬ не работает (для 8.1 по крайней мере)
#35 by ASU_Diamond
может сначала задачу изучишь? поле комментарий неограниченной длины
#36 by ZanderZ
очень интересно МАКСИМУМ на строке что вернет ???
#37 by Mort
Думаю, сначала ему стоит разобраться с операциями сравнения строк.
#38 by aleks-id
думаю по сравнению строк я тебя заткну за пояс
#39 by ASU_Diamond
попробовал на строке ограниченной длины - фигню какую-то выдает...
#40 by ZanderZ
ну тогда зачем бред в пишешь ?
#41 by Mort
Человек, разбирающийся в вопросе, не будет писать на всеобщее посмешище ересь и
#42 by ZanderZ
в том то и дело что это не максимум длины строки
#43 by aleks-id
я не пишу бред а экспериментирую с нестандартным применением функций языка запросов хД
#44 by 73
А получаешь-то бред...
#45 by ASU_Diamond
1986 г.р.?
#46 by aleks-id
я хотя бы что то получаю, а вы тут сидите и об.сираете только
#47 by 73
Поломанные часы тоже показывают точное время два раза в сутки. Но это ещё не означает, что они работают.
#48 by vicof
можно вот такой изврат извратский сделать, но это тупо, лучше как в . запрос.текст = запрос.текст + как-то так.
#49 by vicof
конеццикла забыл
#50 by ZanderZ
а почему "// 1024 знака подчеркивания"
#51 by vicof
у него ж комменарий неограниченной длины, а запросы только 1024 воспринимают. А у меня комменты везде пустые, на наименовании тренировался.
#52 by vicof
->
#53 by vicof
хотя может и больше прокатит.
#54 by ZanderZ
я не пойму почему именно "_" ?
#55 by vicof
потмоу что "_" в конструкции подобно обозначает один любой символ
#56 by 73
Оператор проверки строки на подобие шаблону ..... Следующие символы в строке шаблона являются служебными и имеют смысл, отличный от символа строки: ...... _ (подчеркивание): один произвольный символ
#57 by ZanderZ
ааа как кто не догнал сразу )
#58 by Mort
Не оскудеет земля Русская великими выдумщиками. Выбрать непустые коменты и обойти их программно займет максимум 10 секунд, больше справочник трудно себе представить. Можно подумать каждый раз в момент проведения автор собирается искать это дело.
#59 by aleks-id
да у него там похоже в каждом элементе по войне и миру сидит. проще тогда добавить реквизит "ДлинаКоментария", в обработчике перед записью пихать туда СтрДлина(Комментарий), пробежаться один раз по номенклатуре и записать каждый элемент.
#60 by sergeante
ЖЖЕЕЕСССТТЬЬЬ
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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