Имя: Пароль:
1C
1С v8
Вопрос по запросу к регистру сведений
0 serg-lom89
 
03.10.14
14:41
Вопрос по запросу

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


получается резльтат

ФакАдрес        телОрг   юрАдрес    ПочтровыйАрес    ФаксОрг
ул. Иванова   |         |          |                |
-------------------------------------------------------------
              |         |Иванова2  |                |
--------------------------------------------------------------
              |         |          | Иванова 2231123|
---------------------------------------------------------------
              |         |          |                |   21014
---------------------------------------------------------------
                4545    |          |                |


а как получить что бы был результат в одну строку?

вот так

ФакАдрес        телОрг   юрАдрес     ПочтровыйАрес        ФаксОрг
ул. Иванова   |  4545   |Иванова2 |   Иванова 2231123 |   21014
1 TarasKa
 
03.10.14
14:41
Максимум
2 Gesperid
 
03.10.14
14:44
а где запрос-то?
3 serg-lom89
 
03.10.14
14:44
(1) что максимум?
4 serg-lom89
 
03.10.14
14:45
(2)

ВЫБРАТЬ
    ВЫБОР
        КОГДА КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ФактАдресОрганизации)
            ТОГДА (КонтактнаяИнформация.Представление)
    КОНЕЦ КАК ФакАдресОрг,
    ВЫБОР
        КОГДА КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ТелефонОрганизации)
            ТОГДА КонтактнаяИнформация.Представление
    КОНЕЦ КАК ТелОрг,
    ВЫБОР
        КОГДА КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ЮрАдресОрганизации)
            ТОГДА КонтактнаяИнформация.Представление
    КОНЕЦ КАК ЮрАдресОрг,
    ВЫБОР
        КОГДА КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.АдресОрганизацииПочтовый)
            ТОГДА КонтактнаяИнформация.Представление
    КОНЕЦ КАК ПочтовыйОрг,
    ВЫБОР
        КОГДА КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ФаксОрганизации)
            ТОГДА КонтактнаяИнформация.Представление
    КОНЕЦ КАК ФаксОрг
ИЗ
    РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
ГДЕ
    КонтактнаяИнформация.Объект = &Орг
    И (КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ТелефонОрганизации)
            ИЛИ КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.АдресОрганизацииПочтовый)
            ИЛИ КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ЮрАдресОрганизации)
            ИЛИ КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ФаксОрганизации)
            ИЛИ КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ФактАдресОрганизации))
5 Крошка Ру
 
03.10.14
14:45
(3) Выбирай максимум
6 serg-lom89
 
03.10.14
14:49
(5) Максимум(КонтактнаяИнформация.Представление)
выбдает ошибку
7 serg-lom89
 
03.10.14
14:49
выдает*
8 Ёпрст
 
03.10.14
14:50
(6)
Максимум(Выразить(КонтактнаяИнформация.Представление как Строка(1000)))
9 serg-lom89
 
03.10.14
15:14
все равно ошибка..я просто хотел этим запросом затем заполнить параметры в макете..а что то не получается
10 Gesperid
 
03.10.14
15:26

    МАКСИМУМ(ВЫБОР
            КОГДА КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ФактАдресОрганизации)
                ТОГДА ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК СТРОКА(1000))
            ИНАЧЕ ""
        КОНЕЦ) КАК ФакАдресОрг
11 StanislawJack
 
03.10.14
15:35
(10) Всё правильно. Отсутствие "ИНАЧЕ", скорее всего, порождает значение NULL при не выполнении условия "КОГДА".
12 Gesperid
 
03.10.14
15:39
(11) порождает-то NULL - порождает, но МАКСИМУМ от строки и NULL все равно строка, ошибка скорее всего что агрегатная функция вообще не применялась к NULL
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн