Имя: Пароль:
1C
1С v8
Объединение текстовых полей в запросе
0 vladimirpetrov11
 
05.06.12
09:49
Делаю отчет через СхемаКомпоновкиДанных есть необходимость в объединении двух полей, чтобы получился полноценный адрес:

ВЫБРАТЬ
   ркЗадолженностьЛицевыхСчетовОстаткиИОбороты.ЛицевойСчет.Дом КАК Дом,    
   ркЗадолженностьЛицевыхСчетовОстаткиИОбороты.ЛицевойСчет.Помещение КАК Кв
   
ИЗ
   РегистрНакопления.ркЗадолженностьЛицевыхСчетов.ОстаткиИОбороты(, {(КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ))}, Авто, , ) КАК ркЗадолженностьЛицевыхСчетовОстаткиИОбороты

Как объединить поля "Дом" и "Кв" через запятую
1 Cube
 
05.06.12
09:53
(0) Ты не поверишь...

ВЫБРАТЬ
   ркЗадолженностьЛицевыхСчетовОстаткиИОбороты.ЛицевойСчет.Дом + ркЗадолженностьЛицевыхСчетовОстаткиИОбороты.ЛицевойСчет.Помещение КАК Адрес
   
ИЗ
   РегистрНакопления.ркЗадолженностьЛицевыхСчетов.ОстаткиИОбороты(, {(КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ))}, Авто, , ) КАК ркЗадолженностьЛицевыхСчетовОстаткиИОбороты

Но не работает для строк неограниченной длины.
2 Cube
 
05.06.12
09:54
+(1) Ой, пардоньте, через запятую же надо, вот:

ВЫБРАТЬ
   ркЗадолженностьЛицевыхСчетовОстаткиИОбороты.ЛицевойСчет.Дом + ", " + ркЗадолженностьЛицевыхСчетовОстаткиИОбороты.ЛицевойСчет.Помещение КАК Адрес
   
ИЗ
   РегистрНакопления.ркЗадолженностьЛицевыхСчетов.ОстаткиИОбороты(, {(КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ))}, Авто, , ) КАК ркЗадолженностьЛицевыхСчетовОстаткиИОбороты
3 vladimirpetrov11
 
05.06.12
09:54
(1) Поверю! Ругается так
4 vladimirpetrov11
 
05.06.12
09:56
Вот так вот пишет:

Ошибка получения информации набора данных
по причине:
Ошибка в запросе набора данных
по причине:
{(30, 62)}: Неверные параметры "+"
ркЗадолженностьЛицевыхСчетовОстаткиИОбороты.ЛицевойСчет.Дом <<?>>+ ркЗадолженностьЛицевыхСчетовОстаткиИОбороты.ЛицевойСчет.Помещение КАК Кв
5 Maxus43
 
05.06.12
10:03
это не Строковые поля значит
6 Нуф-Нуф
 
05.06.12
10:05
выразить? не?
7 Maxus43
 
05.06.12
10:05
(6) не, если это не изначально строковые то конкатенация не пройдёт
8 Happy Bear
 
05.06.12
10:06
(4) через ВЫРАЗИТЬ
9 hhhh
 
05.06.12
10:06
(7) ну, в СКД может и прокатит.
10 Maxus43
 
05.06.12
10:08
(9) в вычисляемых полях да, там проще... а в самом запросе нет
11 vladimirpetrov11
 
05.06.12
10:10
(6) через выразить пробывал ругается на сам оператор: Выразить
(9)а в вычисляемых как сделать? Я пробывал, тоже никак. Видимо неправильно делаю
12 vladimirpetrov11
 
05.06.12
10:11
А тут фото можно выложить?
13 Нуф-Нуф
 
05.06.12
10:12
если скд - в вычисляемое поле можно засунуть свою функцию из общего модуля, и там уже складывать строки
14 Maxus43
 
05.06.12
10:15
(12) да
15 Aprobator
 
05.06.12
10:15
достали уже  этой темой. Поиск вообще на мисте сдох что ли?
16 vladimirpetrov11
 
05.06.12
10:16
Все дошло. (7) Махus прав, нужно было вытащить наименования в запрос.
17 Maxus43
 
05.06.12
10:18
в СКД можно и так Строка(ЭтоГруппа) + Код
18 Maxus43
 
05.06.12
10:19
(17) + получится "ЛОЖЬ6235463", преобразование типа работает, не проверял как с непримитивными только
19 Maxus43
 
05.06.12
10:21
(18) короче всё работает Строка(Ссылка) + Код
20 vladimirpetrov11
 
05.06.12
10:23
(19)Спасибо!!
И всем за помощь!
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший