|
запрос с нестандартным условием
| ☑ |
0
slasher
01.02.15
✎
17:12
|
Здравствуйте, помогите составить запрос, не могу сам, или туплю, или знаний не хватает.
Суть: нужно выбрать договора контрагентов у которых в наименовании больше 50 символов.
На ум приходит такой:
ВЫБРАТЬ
ДоговорыКонтрагентов.Ссылка,
ДоговорыКонтрагентов.Наименование
ИЗ
Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
ГДЕ
СтрДлина(ДоговорыКонтрагентов) > 50
Но он не работает.
|
|
1
GROOVY
01.02.15
✎
17:17
|
1. ДоговорЫ
2. Нет функции СтрДлина в языке запросов.
|
|
2
shuhard
01.02.15
✎
17:18
|
(0) не стоит писать запросы в блокноте
|
|
3
slasher
01.02.15
✎
17:19
|
(1) это понятно
|
|
4
slasher
01.02.15
✎
17:20
|
(2) никто не пишет в блокноте
|
|
5
shuhard
01.02.15
✎
17:23
|
(4) ты пишешь
в конструкторе получается нормальный запрос
ВЫБРАТЬ
ВЫРАЗИТЬ(Контрагенты.Наименование КАК СТРОКА(5)) КАК Поле1,
Контрагенты.Ссылка
ИЗ
Справочник.Контрагенты КАК Контрагенты
ГДЕ
(ВЫРАЗИТЬ(Контрагенты.Наименование КАК СТРОКА(5))) <> Контрагенты.Наименование
И Контрагенты.ЭтоГруппа = ЛОЖЬ
|
|
6
salvator
01.02.15
✎
17:25
|
(0) Попробуй так
ГДЕ
ДоговорыКонтрагентов.Наименование > ПОДСТРОКА(ДоговорыКонтрагентов.Наименование,1,50)
|
|
7
slasher
01.02.15
✎
17:26
|
я и писал в конструкторе, просто не мог придумать алгоритм.
Спасибо за помощь!
|
|
8
slasher
01.02.15
✎
17:26
|
ну да, тоже должно пойти, спасибо.
|
|
9
Escander
01.02.15
✎
17:27
|
(5) блин, опередил.... только не 5 а 50 и не ровно а больше 50.
|
|
10
slasher
01.02.15
✎
17:27
|
(6)
|
|
11
Escander
01.02.15
✎
17:27
|
+ (9) хотя да
|
|
12
slasher
01.02.15
✎
17:34
|
(9) это уже мелочи, тут главное алгоритм, всё равно всем спасибо
|
|
13
GROOVY
01.02.15
✎
17:46
|
Не пойдет. Приведение к строке выполняет уже сервер 1С.
|
|
14
shuhard
01.02.15
✎
18:34
|
(13) теоретик =)
|
|
15
GROOVY
01.02.15
✎
18:37
|
(14) Ну да. :)
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший