Имя: Пароль:
1C
1С v8
Запрос по контактной информации
,
0 lesya_abyone
 
01.09.14
15:45
Доброго времени суток!
Помогите, пожалуйста, с моим запросом.не могу его привести к человеческому виду.
Есть документ Док, и справочник КонтактнаяИнформация. Нужно выбрать из ТЧ справочника одну строку (Если в ТЧ есть телефон - выбираем первую попавшуюся, если нет - выбираем пустую строку)

ВЫБРАТЬ
    Док.Ссылка,
    Док.Владелец,
    Док.Дата,
    Док.Номер,
    Док.Корреспондент,
    Док.ДатаОкончания,
    КонтактныеЛица.КонтактнаяИнформация.(
        ВЫБОР
            КОГДА КонтактныеЛица.КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Телефон)
                ТОГДА КонтактныеЛица.КонтактнаяИнформация.Представление
            ИНАЧЕ 0
        КОНЕЦ КАК ТелефонКонатктногоЛица
    )
ИЗ
    Документ.Док КАК Док
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КонтактныеЛица КАК КонтактныеЛица
        ПО Док.Владелец.КонтактноеЛицо.Ссылка = КонтактныеЛица.Ссылка

В моем случае выбирает все строки с телефонами, и если не телефон - пустая строка
1 mikeone
 
01.09.14
15:52
(0) Делай соединение с ТЧ справочника.
2 Eugene_life
 
01.09.14
16:02
(0) что-то у тебя запрос, по-моему, неправильный
3 lesya_abyone
 
01.09.14
19:12
(1) Делаю соединение с Тч - суть не меняется. Все равно с таким условием выбираются лишние строки.
4 lesya_abyone
 
01.09.14
19:13
(2) Согласна, не правильный. Как его исправить или в каком направлении исправлять...)
5 Лодырь
 
01.09.14
19:15
традиционно, для особ женского пола, первым шагом является добавление фото в личный профиль.
6 lesya_abyone
 
01.09.14
20:12
(5) хаха
7 mikeone
 
01.09.14
20:38
(4)  В направлении группировки.
8 User_Agronom
 
01.09.14
20:49
(6) И отзывы о вкусе борща!!!
9 lesya_abyone
 
02.09.14
06:49
(8) Если это поможет) Муж не жалуется
10 lesya_abyone
 
02.09.14
06:49
(7) Вроде получается. Пошла теситить.
ВЫБРАТЬ
    ВыдачаСертификата.Ссылка,
    ВыдачаСертификата.Номер,
    МАКСИМУМ(КонтактныеЛицаКонтактнаяИнформация.Представление) КАК Представление
ПОМЕСТИТЬ ВС2
ИЗ
    Документ.ВыдачаСертификата КАК ВыдачаСертификата
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КонтактныеЛица.КонтактнаяИнформация КАК КонтактныеЛицаКонтактнаяИнформация
        ПО ВыдачаСертификата.Владелец.КонтактноеЛицо.КонтактнаяИнформация.Ссылка = КонтактныеЛицаКонтактнаяИнформация.Ссылка
ГДЕ
    КонтактныеЛицаКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Телефон)

СГРУППИРОВАТЬ ПО
    ВыдачаСертификата.Ссылка,
    ВыдачаСертификата.Номер
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВыдачаСертификата.Ссылка,
    ВыдачаСертификата.Дата,
    ВыдачаСертификата.ДатаОкончания,
    ВыдачаСертификата.Номенклатура,
    ВыдачаСертификата.Корреспондент,
    ВыдачаСертификата.Владелец,
    ВС2.Представление
ИЗ
    Документ.ВыдачаСертификата КАК ВыдачаСертификата
        ЛЕВОЕ СОЕДИНЕНИЕ ВС2 КАК ВС2
        ПО (ВС2.Ссылка = ВыдачаСертификата.Ссылка)
11 DrZombi
 
гуру
02.09.14
07:16
(0) Жесть, вы бы почитали про Join's
wiki:Join_(SQL)

Главное не обращай, что не по русски и что там SQL, 1С нагло украло у SQL и безбожно перевело на русский язык с урезанным функционалом, как всегда :)
12 DrZombi
 
гуру
02.09.14
07:17
Куда катится Миста, уже без фото :)
13 DrZombi
 
гуру
02.09.14
07:18
(10) Судя по (0), запрос вернет тоже самое, что и обычно :)
14 DrZombi
 
гуру
02.09.14
07:25
+(10) Во временную таблицу можно было бы добавить индекс, бывает ускоряет :)
15 DrZombi
 
гуру
02.09.14
07:26
+(14) Во временной таблице не хватает в запросе проверке на пустой телефон
16 lesya_abyone
 
02.09.14
07:48
(11) Спасибо, почитала. Наверно у меня жесть получилась в (10) , но получается то что нужно.

(13) К счастью нет - лишние номера телефонов ушли, а пустые строки - пусть будут. В моем случае их ничем не заменить - лишь пустой строкой))

(14) Индекс добавила. Наверно немого ускорилось, но не очень заметно. Но все равно, спасибо)
17 lesya_abyone
 
02.09.14
07:49
(12) Фото то я могу любое выложить, не факт что это мое будет =)
18 lesya_abyone
 
02.09.14
07:50
(7) Спасибо
19 mikeone
 
02.09.14
09:57
(18) Не за что. Рекомендую ознакомиться с языком SQL. Будете легко в запросах разбираться.