Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Neophyte1C
6 / 6 / 5
Регистрация: 18.08.2016
Сообщений: 82
1

Объединить представления в сообщении

16.01.2017, 13:54. Просмотров 853. Ответов 2
Метки нет (Все метки)

Здравствуйте спецы, написал код, чтобы получить в сообщении телефонные номера в одну строку, но если не заполнен телефон (Представление), который мы ищем из первой временной таблицы с видом (Справочники.ВидыКонтактнойИнформации.НайтиПоКоду("000000005")), то я ничего не получаю.

То есть я получу результат, если заполнены все три телефона: А + Б + В, но если А не заполнен, то не увижу даже Б + В, код ниже.
Какие правки мне нужно внести, чтобы получить результат Б + В, если А не заполнен изначально, можете подсказать?

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
Запрос = Новый Запрос;                          
    Запрос.Текст = "ВЫБРАТЬ                     
                   |    КонтактнаяИнформация.Представление КАК Представление,                   
                   |    КонтактнаяИнформация.Объект                 
                   |ПОМЕСТИТЬ ВТ                        
                   |ИЗ                      
                   |    РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация                   
                   |ГДЕ                     
                   |    КонтактнаяИнформация.Вид = &Вид                 
                   |    И КонтактнаяИнформация.Тип = &Тип                   
                   |;                       
                   |                        
                   |////////////////////////////////////////////////////////////////////////////////                        
                   |ВЫБРАТЬ                     
                   |    КонтактнаяИнформация.Представление,                 
                   |    КонтактнаяИнформация.Объект                 
                   |ПОМЕСТИТЬ ВТ1                       
                   |ИЗ                      
                   |    РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация                   
                   |ГДЕ                     
                   |    КонтактнаяИнформация.Тип = &Тип                 
                   |    И КонтактнаяИнформация.Вид = &Вид1                  
                   |;                       
                   |                        
                   |////////////////////////////////////////////////////////////////////////////////                        
                   |ВЫБРАТЬ                     
                   |    КонтактнаяИнформация.Представление,                 
                   |    КонтактнаяИнформация.Объект                 
                   |ПОМЕСТИТЬ ВТ2                       
                   |ИЗ                      
                   |    РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация                   
                   |ГДЕ                     
                   |    КонтактнаяИнформация.Тип = &Тип                 
                   |    И КонтактнаяИнформация.Вид = &Вид2                  
                   |;                       
                   |                        
                   |////////////////////////////////////////////////////////////////////////////////                        
                   |ВЫБРАТЬ                     
                   |    ВТ.Представление,                   
                   |    ВТ1.Представление КАК Представление1,                   
                   |    ВТ2.Представление КАК Представление2,                   
                   |    Контрагенты.Ссылка                  
                   |ИЗ                      
                   |    ВТ КАК ВТ                   
                   |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты                
                   |            ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ2 КАК ВТ2           
                   |            ПО (ВТ2.Объект = Контрагенты.Ссылка)            
                   |            ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ1 КАК ВТ1           
                   |            ПО Контрагенты.Ссылка = ВТ1.Объект          
                   |        ПО ВТ.Объект = Контрагенты.Ссылка";                 
    Запрос.УстановитьПараметр("Вид",Справочники.ВидыКонтактнойИнформации.НайтиПоКоду("000000005"));                     
    Запрос.УстановитьПараметр("Вид1",Справочники.ВидыКонтактнойИнформации.НайтиПоКоду("000011878"));                        
    Запрос.УстановитьПараметр("Вид2",Справочники.ВидыКонтактнойИнформации.НайтиПоКоду("000011870"));                        
    Запрос.УстановитьПараметр("Тип",Перечисления.ТипыКонтактнойИнформации.Телефон);                     
    //Запрос.УстановитьПараметр("Объект",СсылкаНаОбъект);                       
    Результат = Запрос.Выполнить().Выгрузить();                     
    Для каждого Строка из Результат Цикл                        
        А = Строка.Представление;                   
        Б = Строка.Представление1;                  
        В = Строка.Представление2;                  
                        
        Сообщить(А + ", " + Б + ", " + В);
            
    КонецЦикла;
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2017, 13:54
Ответы с готовыми решениями:

Как получить нужные данные из представления , а именно строки представления
Доброго времени суток. на главной форме у меня информация выводится через представление zews......

Степень в сообщении
Как поставить степень в сообщении(MessageBox.Show("8x");) ?? ...

Скролл в сообщении
есть скрипт вывода установленного ПО но выводит не корректно можно ли добавить скрол или может как...

Кодировка в сообщении
Здравствуйте! На одном из Linux-серверов в лог syslog-сервера пишутся сообщения с кириллицей,...

Отступ в сообщении
Внутри дива, есть два дива с текстом. Как сделать с помощью css, чтобы красный текст располагался...

2
Phil
Эксперт 1С
404 / 281 / 86
Регистрация: 28.05.2014
Сообщений: 1,138
16.01.2017, 17:21 2
Лучший ответ Сообщение было отмечено Neophyte1C как решение

Решение

Neophyte1C,
попробуйте так
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
ВЫБРАТЬ
    КонтактнаяИнформация.Объект,
    ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК СТРОКА(100)) КАК П1,
    NULL КАК П2,
    NULL КАК П3
ПОМЕСТИТЬ ВТ
ИЗ
    РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
ГДЕ
    КонтактнаяИнформация.Вид = &Вид
    И КонтактнаяИнформация.Тип = &Тип
 
ОБЪЕДИНИТЬ ВСЕ
 
ВЫБРАТЬ
    КонтактнаяИнформация.Объект,
    NULL,
    ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК СТРОКА(100)),
    NULL
ИЗ
    РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
ГДЕ
    КонтактнаяИнформация.Вид = &Вид1
    И КонтактнаяИнформация.Тип = &Тип
 
ОБЪЕДИНИТЬ ВСЕ
 
ВЫБРАТЬ
    КонтактнаяИнформация.Объект,
    NULL,
    NULL,
    ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК СТРОКА(100))
ИЗ
    РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
ГДЕ
    КонтактнаяИнформация.Вид = &Вид2
    И КонтактнаяИнформация.Тип = &Тип
;
 
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ.Объект,
    МАКСИМУМ(ВТ.П1) КАК П1,
    МАКСИМУМ(ВТ.П2) КАК П2,
    МАКСИМУМ(ВТ.П3) КАК П3
ПОМЕСТИТЬ ВТ_2
ИЗ
    ВТ КАК ВТ
 
СГРУППИРОВАТЬ ПО
    ВТ.Объект
;
 
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_2.Объект,
    ЕСТЬNULL(ВТ_2.П1, "") + "," + ЕСТЬNULL(ВТ_2.П2, "") + "," + ЕСТЬNULL(ВТ_2.П3, "") КАК Представление
ИЗ
    ВТ_2 КАК ВТ_2
1
Neophyte1C
6 / 6 / 5
Регистрация: 18.08.2016
Сообщений: 82
17.01.2017, 10:54  [ТС] 3
Phil, подошло, спасибо...))
Интересный код, буду изучать для лучшего понимания...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.01.2017, 10:54

Уведомление о сообщении
И снова привет, ребят. Хочу получить красивое уведомление о сообщении как в Skype, Steam, ICQ и...

Уведомление о сообщении
Привет, ребят. Хочу получить красивое уведомление о сообщении как в Skype, Steam, ICQ и т.д. Буду...

Ссылка в сообщении
Хочу функцией mail отправить сообщение содержащее ссылку. При отправке к правильному адресу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru