Имя: Пароль:
1C
1С v8
соединение строк в запросе
0 JIeoIIoJIbD
 
11.11.14
15:16
Привет всем

есть строка вида:
(ВЫРАЗИТЬ(КонтИнфEmail.email КАК СТРОКА(50))) + "; " + (ВЫРАЗИТЬ(КонтИнфEmail1.email КАК СТРОКА(50))) + "; " + (ВЫРАЗИТЬ(КонтИнфEmail2.email КАК СТРОКА(50)))
в результате получаю строку с кучей пробелов , т.к. СТРОКА 50 символов,

строка вида
(ВЫРАЗИТЬ(КонтИнфEmail.email КАК СТРОКА)) + "; " + (ВЫРАЗИТЬ(КонтИнфEmail1.email КАК СТРОКА)) + "; " + (ВЫРАЗИТЬ(КонтИнфEmail2.email КАК СТРОКА))
вываливается с ошибкой мол укажи константу, без конструкции ВЫРАЗИТЬ(<> КАК Строка ) тоже не прёт,
при этом в пакете запроса выражение вида ВЫРАЗИТЬ(КонтИнфEmail1.email КАК СТРОКА) возмущений 1С не вызывает

таки вопрос : и как же в запросе соединить строки ? если КонтИнфEmail1.email - ресурс регистра сведений
спасибо за внимание.
1 JIeoIIoJIbD
 
11.11.14
15:17
1С:Предприятие 8.1 (8.1.15.14)
2 Wobland
 
11.11.14
15:17
на 4м емайле всё поломается?
3 hhhh
 
11.11.14
15:19
(1) так

КонтИнфEmail.email + "; " + КонтИнфEmail1.email + "; " + КонтИнфEmail2.email


ваш кэп.
4 JIeoIIoJIbD
 
11.11.14
15:19
(2) да, поламается, но вопрос не в этом
5 kosts
 
11.11.14
15:20
КонтИнфEmail.email какого типа?
6 JIeoIIoJIbD
 
11.11.14
15:20
(3)  без конструкции ВЫРАЗИТЬ(<> КАК Строка ) тоже не прёт,
7 JIeoIIoJIbD
 
11.11.14
15:21
(3) ошибка вида "неверные параметры "+" "
8 Ёпрст
 
11.11.14
15:21
ну так

Выразить(КонтИнфEmail.email + "; " + КонтИнфEmail1.email + "; " + КонтИнфEmail2.email как Строка(150))
9 18_plus
 
11.11.14
15:22
а так
"" + КонтИнфEmail.email + "; " + КонтИнфEmail1.email + "; " + КонтИнфEmail2.email
?
10 JIeoIIoJIbD
 
11.11.14
15:23
(5) реквизит "Представление" регистра сведений Тип Строка
11 kosts
 
11.11.14
15:25
(10) Неограниченная?
12 hhhh
 
11.11.14
15:25
(10) наверно переносом данные переносили?
13 JIeoIIoJIbD
 
11.11.14
15:26
(11) (8) (9)  ошибка вида "неверные параметры "+" "
14 GROOVY
 
11.11.14
15:27
В запросе возможна только конкатенация строк, всякие выразить и пр не прокатят.
15 kosts
 
11.11.14
15:27
(10) Если ограниченная, и есть лишние пробелы, может лучше обработкой уничтожить лишние пробелы?
16 GROOVY
 
11.11.14
15:27
и Представление не прокатит.
17 JIeoIIoJIbD
 
11.11.14
15:28
да неограниченная длина , но я использую   ПРЕДСТАВЛЕНИЕ(КонтИнфEmail.email)
18 JIeoIIoJIbD
 
11.11.14
15:29
(14) но вот так работает ж только появляется куча пробелов

(ВЫРАЗИТЬ(КонтИнфEmail.email КАК СТРОКА(50))) + "; " + (ВЫРАЗИТЬ(КонтИнфEmail1.email КАК СТРОКА(50))) + "; " + (ВЫРАЗИТЬ(КонтИнфEmail2.email КАК СТРОКА(50)))
19 hhhh
 
11.11.14
15:30
(18) уберите лишние пробелы обработкой
20 JIeoIIoJIbD
 
11.11.14
15:31
знаю что можно вставлять глобальные функции в произвольных выражениях но хз как использовать
21 JIeoIIoJIbD
 
11.11.14
15:32
(19) тогда нет смысла корячить в запросе соединение
22 hhhh
 
11.11.14
15:32
(20) не надо глобальных функций. Какие-то придурки вам перенесли данные с пробелами. Просто один  раз запустить обработку, чтобы эти лишние пробелы убрать.
23 rsv
 
11.11.14
15:33
(21) В запросе 1С в общем да .
24 Ник второй
 
11.11.14
15:34
(21) В этом и нет смысла в 1С
25 Ник второй
 
11.11.14
15:34
(22) ты не в теме
26 rsv
 
11.11.14
15:37
Много чего не хватает во  строенном языке запросов.  Чтоб вот так на лету.
27 Ник второй
 
11.11.14
15:38
(26) Всего хватает, если чего то не хватает, то есть СКД.
28 rsv
 
11.11.14
15:39
(27) Это точно :)
29 rsv
 
11.11.14
15:39
а полновесного rtrim(ltrim() так и  нет..
30 rsv
 
11.11.14
15:41
Щас еще наверное пошлют за сертификатами....
31 rsv
 
11.11.14
15:43
так что б в консольке  по быстрому... и время сэкономить так сказаьб
32 МихаилМ
 
11.11.14
18:41
(0)
замените выразить на ПОДСТРОКА
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан