|
Контакты организации запросом | ☑ | ||
---|---|---|---|---|
0
NordMad
18.12.15
✎
14:16
|
и сново вопросы по запросам. Нужно вытащить некоторые контакты организации, ничего лучше не придумал как такой запрос:
ВЫБРАТЬ КонтактнаяИнформация.Объект, КонтактнаяИнформация.Представление ИЗ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ГДЕ КонтактнаяИнформация.Тип = &Тип И КонтактнаяИнформация.Вид = &Вид И КонтактнаяИнформация.Объект = &Объект ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ КонтактнаяИнформация.Объект, КонтактнаяИнформация.Представление ИЗ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ГДЕ КонтактнаяИнформация.Объект = &Объект И КонтактнаяИнформация.Тип = &Тип1 И КонтактнаяИнформация.Вид = &Вид1 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ КонтактнаяИнформация.Объект, КонтактнаяИнформация.Представление ИЗ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ГДЕ КонтактнаяИнформация.Объект = &Объект И КонтактнаяИнформация.Тип = &Тип2 И КонтактнаяИнформация.Вид = &Вид2 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ КонтактнаяИнформация.Объект, КонтактнаяИнформация.Представление ИЗ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ГДЕ КонтактнаяИнформация.Объект = &Объект И КонтактнаяИнформация.Тип = &Тип3 И КонтактнаяИнформация.Вид = &Вид3 и всё бы хорошо, только вот когда попадается организация в которой какие то данные не заполнены, соответсвнно он их не выводит и очередность данных сбивается. как сделать так чтобы не зависимо от заполнения информации у меня выводилось фиксировано все 4 записи. а пустые заменять на какой нить "-". прововал что то типа ЕстьNULL(КонтактнаяИнформация.Представление,"") - не помогает |
|||
1
Лефмихалыч
18.12.15
✎
14:18
|
собрать временную таблицу с этими &ТИп b &Вид и содеинить с ней регистр левым соединением
|
|||
2
NordMad
18.12.15
✎
14:21
|
как это будет выглядеть?! со временными не очень опыт есть
|
|||
3
NordMad
18.12.15
✎
14:22
|
(1) то есть просто вариант с заменой пустых значений какой то строкой - не вариант в таком запросе?!
|
|||
4
zak555
18.12.15
✎
14:23
|
(0) используй функции общих модулей
|
|||
5
NordMad
18.12.15
✎
14:25
|
(4) вообще вместо запроса? а что запросом никак? уже же тянет что надо. осталось только структурировать...
|
|||
6
Лефмихалыч
18.12.15
✎
14:25
|
(2)
ВЫБРАТЬ &Вид как Вид, &Тип как Тип ПОМЕСТИТЬ ВТ ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ &Вид1, &Тип1 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ &Вид2, &Тип2 ; ВЫБРАТЬ ПОМЕСТИТЬ КИ Из РегистрСведений.КонтактнаяИнформация ГДЕ Объект = &Объект ; ВЫБРАТЬ &Объект как Объект, ВТ., КИ.Представление ИЗ ВТ левое соединение КИ по ВТ.Тип = КИ.Тип и ВТ.Вид = КИ.Вид легче стало? |
|||
7
zak555
18.12.15
✎
14:26
|
(5) там ужже есть функции с нужными запросами
я к тому, что не нужно изобретать велосипед -- всё уже есть в конфе |
|||
8
Лефмихалыч
18.12.15
✎
14:26
|
ВТ., - это ВТ.{звёздочка}
|
|||
9
Лефмихалыч
18.12.15
✎
14:27
|
ВЫБРАТЬ
ПОМЕСТИТЬ КИ это выбрать все поля херов маркап... |
|||
10
NordMad
18.12.15
✎
14:32
|
(9) а ИЗ там что не надо писать? чет ошибки пишет
|
|||
11
NordMad
18.12.15
✎
14:38
|
(9) спасибо всё заработало. осталось только логику понять запроса:)
|
|||
12
Лефмихалыч
18.12.15
✎
14:44
|
(11) это три запроса.
первый - строит временную таблицу с нужными тебе типами и видами. второй - строит временную таблицу со всей имеющейся контактной информацией у организации. третий запрос соединяет первую таблицу со второй левым соединением. |
|||
13
NordMad
18.12.15
✎
14:57
|
(12) благодарю!
|
|||
14
zak555
18.12.15
✎
14:57
|
В общем модуле УправлениеКонтактнойИнформацией есть
Функция ПолучитьАдресИзКонтактнойИнформации(Объект, ТипАдреса = "") Экспорт Функция ПолучитьТелефонИзКонтактнойИнформации(Объект) Экспорт |
|||
15
NordMad
18.12.15
✎
15:04
|
(14) тоже гляну. но запрос как то универсальнее. спасибо
|
|||
16
kumena
18.12.15
✎
15:13
|
>> В общем модуле УправлениеКонтактнойИнформацией есть
ща тебе лефмихалыч гвоздь в голову забъет, за запросы в цикле |
|||
17
zak555
18.12.15
✎
15:15
|
(16) в 0 написано
контакты организации -- в единственном числе |
|||
18
Мэс33
18.12.15
✎
15:16
|
(15) всегда надо юзать то, что есть в конфе. Зачем писать велосипед?
|
|||
19
NordMad
18.12.15
✎
15:29
|
(18) просто в 8ках привычнее получать инфу запросами уже. как универсальный способ вытягивания данных с базы
|
|||
20
zak555
18.12.15
✎
15:31
|
(19) так функции из 14 как раз и используют запросы
|
|||
21
User_Agronom
18.12.15
✎
15:43
|
ВЫБРАТЬ
КонтактнаяИнформация.Объект, КонтактнаяИнформация.Представление, Тип, Вид ИЗ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ГДЕ КонтактнаяИнформация.Тип В (&Тип) И КонтактнаяИнформация.Вид В (&Вид) И КонтактнаяИнформация.Объект В (&Объект) |
|||
22
NordMad
18.12.15
✎
15:46
|
(21) только видов контактов несколько
|
|||
23
NordMad
18.12.15
✎
15:48
|
(21) такой вариант вообще не подходит. ничего не дает. вот запрос выше четко делает что нужно, выдает нужное количество записей вне зависимости от заполнения полей
|
|||
24
salvator
18.12.15
✎
15:53
|
(7) +100
|
|||
25
User_Agronom
18.12.15
✎
16:06
|
(23) ВЫБРАТЬ
КонтактнаяИнформация.Объект, КонтактнаяИнформация.Представление, Тип, Вид ИЗ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ГДЕ КонтактнаяИнформация.Тип В (&Тип) И КонтактнаяИнформация.Вид В (&Вид) И КонтактнаяИнформация.Объект = &Объект И будет тот же запрос, что в (0) Ну и что, что видов несколько? Передай их массивом в параметр. |
|||
26
Лефмихалыч
18.12.15
✎
16:07
|
(25) да, только ему нужен не такой результат, как в (0)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |