|
Сложный Выбор когда в запросе | ☑ | ||
---|---|---|---|---|
0
1С-ница
30.05.13
✎
11:59
|
Документооборот 1.2.8.1
Нужно через запрос получить нужный адрес корреспондента Корреспонденты.КонтактнаяИнформация.( ВЫБОР КОГДА Корреспонденты.ЮрФизЛицо = ЗНАЧЕНИЕ(Перечисление.ЮрФизЛицо.ЮрЛицо) ИЛИ Корреспонденты.ЮрФизЛицо = ЗНАЧЕНИЕ(Перечисление.ЮрФизЛицо.ИндивидуальныйПредприниматель) ТОГДА ВЫБОР КОГДА Корреспонденты.КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ПочтовыйАдресКорреспондента) ТОГДА Корреспонденты.КонтактнаяИнформация.Представление ИНАЧЕ ВЫБОР КОГДА Корреспонденты.КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ФактическийАдресКорреспондента) ТОГДА Корреспонденты.КонтактнаяИнформация.Представление ИНАЧЕ "" КОНЕЦ КОНЕЦ ИНАЧЕ ВЫБОР КОГДА Корреспонденты.ЮрФизЛицо = ЗНАЧЕНИЕ(Перечисление.ЮрФизЛицо.ФизЛицо) ТОГДА ВЫБОР КОГДА Корреспонденты.КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ДомашнийАдресФизическогоЛица) ТОГДА Корреспонденты.КонтактнаяИнформация.Представление ИНАЧЕ "" КОНЕЦ КОНЕЦ КОНЕЦ КАК Адрес Почему то это условие не корректно срабатывает, т е выдает ни один адрес, а пустые строки. |
|||
1
salvator
30.05.13
✎
12:05
|
Ну видимо сюда заходит:
ИНАЧЕ "" Не? |
|||
2
Wobland
30.05.13
✎
12:08
|
или просто девушка видит ТЗ, а думает, что строку
|
|||
3
mikecool
30.05.13
✎
12:10
|
(1) +1
|
|||
4
Maxus43
30.05.13
✎
12:10
|
ИНАЧЕ ВЫБОР писать не обязательно, если позволяет логика.
Когда ... Тогда... Когда ... Тогда... |
|||
5
Лефмихалыч
30.05.13
✎
12:10
|
а почему нелья просто вывести просто вид контактной информации, какой он там в таблице записан без этих извращений?
|
|||
6
1С-ница
30.05.13
✎
12:44
|
(2) выводится ТЗ, а нужно строку
|
|||
7
1С-ница
30.05.13
✎
12:45
|
(4) если не писать Иначе 1С ругается
|
|||
8
1С-ница
30.05.13
✎
12:46
|
(5) потому что почтовый адрес может отличаться от фактического, но если почтовый адрес не заполнен то нужно выводить фактический
|
|||
9
Cube
30.05.13
✎
12:47
|
(7) Ну ё-моё...
Выбор Когда А = 1 Тогда "Адин" Когда А = 2 Тогда "Два" Когда А = 3 Тогда "Три!" Иначе "Многа" Конец |
|||
10
1С-ница
30.05.13
✎
12:51
|
(9)если написать Иначе "Многа" то строка с этим значением и будет выведена, а мне этого не нужно!
|
|||
11
salvator
30.05.13
✎
12:52
|
(6) Так выводи поле, а не таблицу значений.
|
|||
12
Wobland
30.05.13
✎
12:52
|
(10) вот это ты сейчас про ГДЕ говоришь
|
|||
13
Любопытная
30.05.13
✎
12:53
|
(10) А что надо?
|
|||
14
1С-ница
30.05.13
✎
12:54
|
Если писать Выбор когда в условии Где ругается что нельзя там такое писать...
|
|||
15
vicof
30.05.13
✎
12:55
|
(14) епрст, убери уже эту вложенную выборку.
|
|||
16
Wobland
30.05.13
✎
12:56
|
(14) или включи голову, или сформулируй задачу
|
|||
17
1С-ница
30.05.13
✎
13:06
|
Есть справочник Корреспонденты:
Если вид коррреспондента Юр лицо, то выводить почтовый адрес (если заполнен), если почтовый не заполнен - то выводить фактический, если не заполнен - не выводить ничего |
|||
18
1С-ница
30.05.13
✎
13:13
|
(11) Нужно вывести только то что удовлетворяет условию, иначе не выводить НИЧЕГО!
|
|||
19
Wobland
30.05.13
✎
13:14
|
это ж не обязательно в запросе делать?
|
|||
20
1С-ница
30.05.13
✎
13:16
|
(19) Сам отчет сделан в СКД, моя задача была дополнительно выводить адреса
|
|||
21
Светлый Гений
30.05.13
✎
13:19
|
(0)много лишнего наворотила, попробуй оптимизировать
|
|||
22
1С-ница
30.05.13
✎
13:20
|
(21)который день пробую...
|
|||
23
Светлый Гений
30.05.13
✎
13:20
|
Корреспонденты.КонтактнаяИнформация.Вид кроме как "почтовый адрес" и "фактический адрес" может иметь еще какие-то значения?
|
|||
24
Светлый Гений
30.05.13
✎
13:21
|
+(23) для юрика и ИП
|
|||
25
1С-ница
30.05.13
✎
13:23
|
(23) может иметь юрид адрес, телефон, e-mail
|
|||
26
Wobland
30.05.13
✎
13:25
|
выбор когда ЮрЛицо и ПочтовыйАдрес тогда Адрес
когда ЮрЛицо и ФактическийАдрес тогда Адрес иначе "" конец |
|||
27
Светлый Гений
30.05.13
✎
13:31
|
попробуй для начала вывести такую конструкцию:
И посмотри, что выведет |
|||
28
RomanYS
30.05.13
✎
13:42
|
(0) Если хочешь получить получить адрес просто в колонку (а не таблицей), надо явно делать соединения с табличной частью, а не обращаться к ней через точку. Если надо выводить адреса в зависимости от наличия, то придется делать 2 соединения и использовать
ЕСТЬNULL(ПочтАдреса.Представление, ФактАдреса.Представления) |
|||
29
Светлый Гений
30.05.13
✎
13:53
|
+(27) небольшая ошибочка есть, но думаю, разберешься
|
|||
30
Ненавижу 1С
гуру
30.05.13
✎
13:55
|
я бы убивал всех тех, кто использует вложенные ТЧ в запросах
|
|||
31
RomanYS
30.05.13
✎
14:04
|
(30) +1 - ни разу не встречал ситуацию, где бы это было полезно
|
|||
32
RomanYS
30.05.13
✎
14:11
|
+(28) скинь кусок запроса после выражения ИЗ
|
|||
33
1С-ница
30.05.13
✎
16:07
|
ВЫБРАТЬ
ВЫБОР КОГДА КорреспондентыКонтактнаяИнформация.Ссылка.ЮрФизЛицо = ЗНАЧЕНИЕ(Перечисление.ЮрФизЛицо.ЮрЛицо) ТОГДА ВЫБОР КОГДА КорреспондентыКонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ПочтовыйАдресКорреспондента) ТОГДА КорреспондентыКонтактнаяИнформация.Представление ИНАЧЕ ВЫБОР КОГДА КорреспондентыКонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ФактическийАдресКорреспондента) ТОГДА КорреспондентыКонтактнаяИнформация.Представление КОНЕЦ КОНЕЦ КОНЕЦ КАК Поле1 ИЗ Справочник.Корреспонденты.КонтактнаяИнформация КАК КорреспондентыКонтактнаяИнформация ГДЕ КорреспондентыКонтактнаяИнформация.Ссылка = &Ссылка |
|||
34
1С-ница
30.05.13
✎
16:08
|
В такой ситуации выводит ТЗ из 3-х строк, одна из них заполнена, остальные нулы
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |