|
Помогите с запросом | ☑ | ||
---|---|---|---|---|
0
Boudybuilder
06.03.12
✎
11:21
|
Добрый день.
Соединил с таблицой КонтактнаяИнформация , и теперь если там нету телефона , то строку в отчете не показывает вобще. |ИЗ | РегистрСведений.СостояниеРемонтов.СрезПоследних КАК СостояниеРемонтовСрезПоследних | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПартииРемонтов.СрезПоследних КАК ПартииРемонтовСрезПоследних | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПартииРемонтов.СрезПервых КАК ПартииРемонтовСрезПервых | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаявлениеНаРемонт КАК ЗаявлениеНаРемонт | ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация | ПО ЗаявлениеНаРемонт.Контрагент = КонтактнаяИнформация.Объект | ПО ПартииРемонтовСрезПервых.Регистратор = ЗаявлениеНаРемонт.Ссылка | ПО (ПартииРемонтовСрезПервых.Партия = ПартииРемонтовСрезПоследних.Партия) | ПО СостояниеРемонтовСрезПоследних.ID = ПартииРемонтовСрезПоследних.ID | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты | ПО СостояниеРемонтовСрезПоследних.Расположение = Контрагенты.Ссылка |ГДЕ | СостояниеРемонтовСрезПоследних.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияРемонтов.ВОчереди) | И СостояниеРемонтовСрезПоследних.Расположение ССЫЛКА Справочник.Контрагенты | И КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ТелефонКонтрагента) Там стоит условие (КонтактнаяИнформация.Вид) , но можно както левым соединением сделать и тогода правильнее будет. Я просто забыл как... ЕСТЬNULL тут не прокатывает. |
|||
1
Ненавижу 1С
гуру
06.03.12
✎
11:22
|
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
ПО ЗаявлениеНаРемонт.Контрагент = КонтактнаяИнформация.Объект И КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ТелефонКонтрагента) |
|||
2
Boudybuilder
06.03.12
✎
11:26
|
Век живешь , век учись!
Спасибо огромное! |
|||
3
Boudybuilder
06.03.12
✎
12:15
|
И еще один запросик.
Чтоб не делать двумя запросами , я решил попробовать одним получать по конрагенту и телефон и адрес. Сделал так: ВЫБРАТЬ | КонтактнаяИнформацияАдрес.Представление КАК Адрес, | КонтактнаяИнформацияТелефон.Представление КАК Телефон |ИЗ | РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформацияАдрес | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформацияТелефон | ПО КонтактнаяИнформацияАдрес.Объект = КонтактнаяИнформацияТелефон.Объект | И (КонтактнаяИнформацияАдрес.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес)) | И (КонтактнаяИнформацияТелефон.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ТелефонКонтрагента)) |ГДЕ | КонтактнаяИнформацияАдрес.Объект = &Контрагент Вроде правильно , и работает с ЛЕВЫМ. Потому как если ставил по значениях отбор , то не если небыло или адреса или телефона , то вобще ничего не возвращало. А щас показывает . Но снова , если какого то нету из контактов , то один выдает , но телефон может выдать в поле с адресом. Как тут грамотнее поступить? |
|||
4
Apokalipsec
06.03.12
✎
12:19
|
ВЫБОР
КОГДА ТОГДА ИНАЧЕ КОНЕЦ |
|||
5
Ненавижу 1С
гуру
06.03.12
✎
12:19
|
(3) соединяй с изначальной таблицей, а не друг с другом
|
|||
6
Boudybuilder
06.03.12
✎
12:21
|
(5) Можешь показать как ?
|
|||
7
Ненавижу 1С
гуру
06.03.12
✎
12:23
|
(6) примерно так:
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформацияТелефон ПО ЗаявлениеНаРемонт.Контрагент = КонтактнаяИнформацияТелефон.Объект И КонтактнаяИнформацияТелефон.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ТелефонКонтрагента) ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформацияАдрес ПО ЗаявлениеНаРемонт.Контрагент = КонтактнаяИнформацияАдрес.Объект И КонтактнаяИнформацияАдрес.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.КакойтоТамАдресКонтрагента) |
|||
8
Vladal
06.03.12
✎
12:24
|
Секцией не обшиблись? v7 или v8?
|
|||
9
Новиков
06.03.12
✎
12:31
|
Признаю в сиих текстах - язык запросов 1С8, наречие северное, ирландскыя!
|
|||
10
Boudybuilder
08.03.12
✎
01:54
|
ВСЕМ ДОБРЫЙ ВЕЧЕР!
Женщин с праздником. Решил не создавать новую тему , а попарить мозги тут. Вобщем продолжаю. Еще один запросик , который не могу рещить. ВЫБРАТЬ СостояниеРемонтовСрезПоследних.ID, СостояниеРемонтовСрезПоследних.Состояние, ПартииРемонтовСрезПоследних.Партия, ПартииРемонтовСрезПоследних.Списан, ЗаявлениеНаРемонт.Контрагент, ЗаявлениеНаРемонт.Модель ИЗ РегистрСведений.СостояниеРемонтов.СрезПоследних КАК СостояниеРемонтовСрезПоследних ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПартииРемонтов.СрезПоследних КАК ПартииРемонтовСрезПоследних ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаявлениеНаРемонт КАК ЗаявлениеНаРемонт ПО ПартииРемонтовСрезПоследних.Регистратор = ЗаявлениеНаРемонт.Ссылка ПО СостояниеРемонтовСрезПоследних.ID = ПартииРемонтовСрезПоследних.ID ГДЕ СостояниеРемонтовСрезПоследних.ID = &ID И ПартииРемонтовСрезПоследних.Списан = ЛОЖЬ Регистр построен так ПартииРемонтовСрезПоследних.Партия - единственное измерение ПартииРемонтовСрезПоследних.Списан - реквизит Мене надо по этому условию получать ПартииРемонтовСрезПоследних.Списан = ЛОЖЬ , но если после него есть строка с ПартииРемонтовСрезПоследних.Списан = ИСТИНА , то запрос пустой. Как мне отфильтровать последнюю строку которая с таким реквизитом ЛОЖЬ ? |
|||
11
Boudybuilder
08.03.12
✎
02:17
|
Короче... Сам себе отвечаю... Параметры виртуальных таблиц...
Забыл я о них. ;) |
|||
12
Boudybuilder
08.03.12
✎
02:34
|
Хотя и то нет .
Если есть две строки с Истина то выдаст две... А надо одну последнюю... Параметры не катят. (10)Что же делать?????? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |