Имя: Пароль:
1C
1С v8
Конкатенация в запросе
,
0 1Сергей
 
29.11.13
15:20
Насколько я знаю конкатенация в запросе возможна, но не работает :(


ВЫБРАТЬ
    Контрагенты.Код + ПРЕДСТАВЛЕНИЕ(Контрагенты.Ссылка) КАК Контрагент
ИЗ
    Справочник.Контрагенты КАК Контрагенты


Неверные параметры "+"
Контрагенты.Код + <<?>>ПРЕДСТАВЛЕНИЕ(Контрагенты.Ссылка) КАК Контрагент


таки нельзя?
1 Господин ПЖ
 
29.11.13
15:21
>Насколько я знаю конкатенация в запросе возможна

ага... ежа с ужом
2 1Сергей
 
29.11.13
15:22
(1) строка со строкой
3 ilkoder
 
29.11.13
15:22
Очень жаль, но это не работает...
4 sgt_koretsky
 
29.11.13
15:23
1. Контрагенты.Код - это у тебя, точно, строка?
2. ПРЕДСТАВЛЕНИЕ - вообще не строка.

Выбрать
    Контрагенты.Артикул + Контрагенты.Наименование
Из
    Справочник.Контрагенты КАК Контрагенты

точно заработает
5 sgt_koretsky
 
29.11.13
15:23
(4) и, если код - строка, то все взлетит
6 Necessitudo
 
29.11.13
15:24
(0) Вот варианты типа "Строка"+"Другая строка" работают, а твои нет. Я уже к сожалению тоже это проверял.
7 Necessitudo
 
29.11.13
15:24
(5) Какой ты умный))
8 sgt_koretsky
 
29.11.13
15:25
(7), видимо, да. спасибо за похвалу. можешь теперь со мной в руку по четвергам здороваться.
9 1Сергей
 
29.11.13
15:25
ВЫБРАТЬ
    Контрагенты.Код + " " +Контрагенты.Наименование КАК Контрагент
ИЗ
    Справочник.Контрагенты КАК Контрагенты


так заработало. Странно, В СП написано, что ПРЕДСТАВЛЕНИЕ возвращает строку
10 1Сергей
 
29.11.13
15:26
Данная функция предназначена для получения строкового представления значения произвольного типа.
Параметр функции – выражение любого типа.
Возвращаемое значение – представление значения, тип СТРОКА.
Результат работы функции не может быть использован внутри других функций, за исключением функции ПРЕДСТАВЛЕНИЕ.
11 Maxus43
 
29.11.13
15:27
(9) сервер 1с возвращает строку, а запрос в СУБД выполняется когда - там не строка а составное поле, и конкатенация не катит
12 1Сергей
 
29.11.13
15:28
(11) теперь понятно. Спасибо

Спасибо всем!

ЗЫ Как обычно нужно внимательно читать последнюю строчку
13 Necessitudo
 
29.11.13
15:36
ВЫБРАТЬ
    ПРЕДСТАВЛЕНИЕ(РегистрацииМестПродаж.НомерСтроки) + ПРЕДСТАВЛЕНИЕ(РегистрацииМестПродаж.Регистратор)
ИЗ
    РегистрНакопления.РегистрацииМестПродаж КАК РегистрацииМестПродаж
ГДЕ
    РегистрацииМестПродаж.Планшет = &Планшет



- не работает(
14 ДенисЧ
 
29.11.13
15:37
(13) Писатель?
15 GROOVY
 
29.11.13
15:38
Представление <> строка в момент выполнения запроса. Никак не извратиться, ни вложенными запросами ничем. Только строки можно соединять.
16 Necessitudo
 
29.11.13
15:42
(15) А Выразить()?
17 КонецЦикла
 
29.11.13
15:43
А в семерке вот такое работает, странно не правда ли? :)

select str(row_id) + descr
18 GROOVY
 
29.11.13
15:44
(16) Нет. Нет. Нет. Не взлетит. Только строки.
19 КонецЦикла
 
29.11.13
15:44
(18) Ой...
20 Maxus43
 
29.11.13
15:50
дарю

ВЫБРАТЬ
    ТИПЗНАЧЕНИЯ(ПРЕДСТАВЛЕНИЕССЫЛКИ(Валюты.Ссылка)) КАК Поле2,
    Валюты.Ссылка
ИЗ
    Справочник.Валюты КАК Валюты
21 1Сергей
 
29.11.13
15:55
(20) падла... :) падлавил
22 DexterMorgan
 
29.11.13
15:56
(16) Выразить здесь вообще к чему? Ты хоть узнай сначала для чего это нужно вообще
23 Maxus43
 
29.11.13
15:57
(21) :)
24 Necessitudo
 
29.11.13
16:02
(22) Самый умный? Выразить(РеализацияТоваровУслуг.Номер КАК СТРОКА).
25 КонецЦикла
 
29.11.13
16:05
Пора сделать давно убивцу 1С, засрали моск своими поделками и бухгалтершам и программистам.
26 1Сергей
 
29.11.13
16:06
(24) Если номер числовой, то не взлетит, а строковый переделывать в строковый какой смысл?
27 Sabbath
 
29.11.13
16:09
(25) собаку-одинэс-убиваку
28 DexterMorgan
 
29.11.13
16:34
(24) Выразить(РеализацияТоваровУслуг.Номер КАК СТРОКА).
Фееричный бред
29 Necessitudo
 
29.11.13
16:35
(28) Правда? Про поля составного типа ты никогда не слышал? Иди бредь себе в подушку.
30 DexterMorgan
 
29.11.13
16:36
(24) Я могу круче выдать:

ВЫБРАТЬ ВЫРАЗИТЬ(РеализацияТоваровУслуг.Ссылка.Ссылка.Ссылка КАК Документ.РеализацияТоваровУслуг).Ссылка.Ссылка.Ссылка
....
31 DexterMorgan
 
29.11.13
16:36
(29) Где ты тут увидел составной тип?!
32 DexterMorgan
 
29.11.13
16:37
(29) У поля Контрагенты.Ссылка или Контрагенты.Код составной тип?
33 Necessitudo
 
29.11.13
16:38
(32) Кто тебе сказал что РеализацияТоваровУслуг это документ? Твой воспаленный мозг?
34 DexterMorgan
 
29.11.13
16:38
(29) Если ты не понимаешь, что Выразить(РеализацияТоваровУслуг.Номер КАК СТРОКА) - бред
мне тебя жаль.
Ответь, пожалуйста, как у тебя получилось Номеру задать составной тип?
35 DexterMorgan
 
29.11.13
16:39
(33) Ха-ха-ха =)))))))))))))
Сливаться научись =)))))))))))))
36 Necessitudo
 
29.11.13
16:39
(34) Элементарно. Сделаю виртуальную таблицу, назову ее РеализацияТоваровУслуг. Ты так тоже можешь)
37 DexterMorgan
 
29.11.13
16:39
(33) Что это? =)
38 Necessitudo
 
29.11.13
16:43
(37) Какой тип у поля номер?))



ВЫБРАТЬ
    1 КАК Номер
ПОМЕСТИТЬ РеализацияТоваровУслуг

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    "ООО1"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    РеализацияТоваровУслуг.Номер
ИЗ
    РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
39 Lama12
 
29.11.13
16:47
(0)Конкотенация работает. Но, не всегда.
В таком запросе сработает.

ВЫБРАТЬ
    Контрагенты.Ссылка,
    "654456" + Контрагенты.Код КАК Поле1
ИЗ
    Справочник.Контрагенты КАК Контрагенты


А в (0) не сработает.
40 КонецЦикла
 
29.11.13
18:40
Надо просто нормально контакенировать, а не онанировать на такси
41 viktor_vv
 
29.11.13
19:26
Нету на вас Odavid , он бы вам все сразу рассказал, какая хреновая ваша одинэс :). И какой хитрый у нее сервер, который вместо скуля сам все обрабатывает.