Имя: Пароль:
1C
1С v8
Выбрать запросом только одно значение из ТЧ справочника
, , ,
0 polukaroff
 
01.09.14
02:40
Есть справочник физ.лиц, у него ТЧ "контактная информация", где есть в т.ч. и телефоны. Нужно сформировать ЗАПРОСОМ список физлиц с ОДНИМ только телефоном (лучше конечно объединить все номера телефонов физлица в одной ячейке, но строка на каждое физлицо - только одна)
Натолкните на путь истинный ))
1 Попытка1С
 
01.09.14
02:50
А разве контактная информация это не регистр сведений?
а по поводу запроса, в чем проблема проверить в запросе что количество возвращаемых значений из тч = 1
2 Aleksey
 
01.09.14
02:56
(1) По разному. Последнее веяние моды - ТЧ
3 polukaroff
 
01.09.14
02:58
(1) Ну не суть где хранится, пусть в регистре сведений. Главное надо достать только одно значение одного вида (телефон).
Проверить в запросе... это как? запрос возвращает все значения, а нужно только одно (ну или объединение всех значений под одному физлицу)
4 polukaroff
 
01.09.14
02:58
(2) очень помогло, спасибо.
5 Попытка1С
 
01.09.14
03:59
"запрос возвращает все значения, а нужно только одно"

топ1
6 Попытка1С
 
01.09.14
03:59
Первые 1
7 Попытка1С
 
01.09.14
03:59
Я думал нужно вернуть те записи у кого только один номер телефона.
8 polukaroff
 
01.09.14
04:15
(7) Нет, на каждое физлицо максимум одна строка в таблице.
9 polukaroff
 
01.09.14
04:17
то есть у кого больше одного телефона - отсекать, а лучше объединять, но объединить мне кажется без обхода результатов запроса не получится
10 SeraFim
 
01.09.14
04:36
Если в регистре сведений, то можно гарантированно считать, что у физлица есть только номер телефона одного вида телефона. Но у человека может быть 1 служебный, 1 домашний, 1 мобильный.
Насчет ТЧ - не скажу наверняка. Вполне могут быть проверки при записи справочника, чтоб не было дубликатов.
11 polukaroff
 
01.09.14
04:49
(10) В том то и дело. В Регистре сведений без проблем - установил отбор по типу номера телефона и ладно. Но телефоны лежат в ТЧ справочника. И это нормально, если человек имеет пару мобильников например. А нужно выводить не больше одной строки по человеку
12 Лодырь
 
01.09.14
04:52
(0) Можно уточнить, вы настаиваете именно запросом, или вас устроят все возможности СКД?
13 polukaroff
 
01.09.14
04:54
(12) Устроят все возможности, да
14 polukaroff
 
01.09.14
04:54
в идеале как я уже писал выше, объединить все номера телефона в одном поле через запятую
15 Лодырь
 
01.09.14
04:55
Функция "СоединитьСтроки" вам в помощь
16 Лодырь
 
01.09.14
04:56
посмотреть синтаксис можно например тут http://langslab.com/ebooks/skd/skd/skd82
17 polukaroff
 
01.09.14
05:08
(16) Спасибо, посмотрю... этой функцией можно соединить все значения полученные в запросе?

Кстати, выбор только одного значения номера телефона для каждого физлица получилось решить использованием МАКСИМУМ

МАКСИМУМ(НомерТелефона) КАК НомерТелефона

как считается максимум загадка, но работает ))
18 Лодырь
 
01.09.14
05:12
(17) Это не загадка, агрегатная функция максимум вполне применяема для ссылочных типов.
А с помощью вышеприведенной агрегатной функции СоединитьСтроки, действительно можно соединить разные телефоны на уровне группировки по физ.лицу.
19 polukaroff
 
01.09.14
05:13
(18) Спасибо большое, буду копать в этом направлении