Имя: Пароль:
1C
1С v8
Помогите, пожалуйста, с запросом
,
0 dmitn
 
04.06.12
17:06
ВЫБРАТЬ РАЗЛИЧНЫЕ
   СУММА(ТаблицаРегистра.КоличествоОстаток) КАК Количество
{ВЫБРАТЬ
   ТаблицаРегистра.БазаОбразования.* КАК БазаОбразования,
   ТаблицаРегистра.ВидЗачисления.* КАК ВидЗачисления,
   ТаблицаРегистра.Группа.* КАК Группа,
   ТаблицаРегистра.ОбъемПодготовки.* КАК ОбъемПодготовки,
   ТаблицаРегистра.Курс.* КАК Курс,
   ТаблицаРегистра.Организация.* КАК Организация,
   ТаблицаРегистра.ОсноваОбучения.* КАК ОсноваОбучения,
   ТаблицаРегистра.Подразделение.* КАК Подразделение,
   ТаблицаРегистра.ПриказОЗачислении.* КАК ПриказОЗачислении,
   ТаблицаРегистра.НаправлениеПодготовки.* КАК НаправлениеПодготовки,
   ТаблицаРегистра.Статус.* КАК Статус,
   ТаблицаРегистра.Студент.* КАК Студент,
   ТаблицаРегистра.УчебныйГод.* КАК УчебныйГод,
   ТаблицаРегистра.ФормаОбучения.* КАК ФормаОбучения,
   (СУММА(ТаблицаРегистра.КоличествоОстаток)) КАК Количество,
   КонтактнаяИнформация.Представление}
ИЗ
   РегистрНакопления.СтудентыПодразделений.Остатки(&ДатаКон, {(БазаОбразования).* КАК БазаОбразования, (ВидЗачисления).* КАК ВидЗачисления, (Группа).* КАК Группа, (ОбъемПодготовки).* КАК ОбъемПодготовки, (Курс).* КАК Курс, (Организация).* КАК Организация, (ОсноваОбучения).* КАК ОсноваОбучения, (Подразделение).* КАК Подразделение, (ПриказОЗачислении).* КАК ПриказОЗачислении, (НаправлениеПодготовки).* КАК НаправлениеПодготовки, (Статус).* КАК Статус, (Студент).* КАК Студент, (УчебныйГод).* КАК УчебныйГод, (ФормаОбучения).* КАК ФормаОбучения}) КАК ТаблицаРегистра
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
       ПО ТаблицаРегистра.Студент = КонтактнаяИнформация.Объект
ГДЕ
   КонтактнаяИнформация.Вид = &Вид
   И КонтактнаяИнформация.Тип = &Тип
{ГДЕ
   ТаблицаРегистра.БазаОбразования.* КАК БазаОбразования,
   ТаблицаРегистра.ВидЗачисления.* КАК ВидЗачисления,
   ТаблицаРегистра.Группа.* КАК Группа,
   ТаблицаРегистра.ОбъемПодготовки.* КАК ОбъемПодготовки,
   ТаблицаРегистра.Курс.* КАК Курс,
   ТаблицаРегистра.Организация.* КАК Организация,
   ТаблицаРегистра.ОсноваОбучения.* КАК ОсноваОбучения,
   ТаблицаРегистра.Подразделение.* КАК Подразделение,
   ТаблицаРегистра.ПриказОЗачислении.* КАК ПриказОЗачислении,
   ТаблицаРегистра.НаправлениеПодготовки.* КАК НаправлениеПодготовки,
   ТаблицаРегистра.Статус.* КАК Статус,
   ТаблицаРегистра.Студент.* КАК Студент,
   ТаблицаРегистра.УчебныйГод.* КАК УчебныйГод,
   ТаблицаРегистра.ФормаОбучения.* КАК ФормаОбучения}
{УПОРЯДОЧИТЬ ПО
   ТаблицаРегистра.БазаОбразования.* КАК БазаОбразования,
   ТаблицаРегистра.ВидЗачисления.* КАК ВидЗачисления,
   ТаблицаРегистра.Группа.* КАК Группа,
   ТаблицаРегистра.ОбъемПодготовки.* КАК ОбъемПодготовки,
   ТаблицаРегистра.Курс.* КАК Курс,
   ТаблицаРегистра.Организация.* КАК Организация,
   ТаблицаРегистра.ОсноваОбучения.* КАК ОсноваОбучения,
   ТаблицаРегистра.Подразделение.* КАК Подразделение,
   ТаблицаРегистра.ПриказОЗачислении.* КАК ПриказОЗачислении,
   ТаблицаРегистра.НаправлениеПодготовки.* КАК НаправлениеПодготовки,
   ТаблицаРегистра.Статус.* КАК Статус,
   ТаблицаРегистра.Студент.* КАК Студент,
   ТаблицаРегистра.УчебныйГод.* КАК УчебныйГод,
   ТаблицаРегистра.ФормаОбучения.* КАК ФормаОбучения,
   Количество}
ИТОГИ
   СУММА(Количество)
ПО
   ОБЩИЕ
{ИТОГИ ПО
   ТаблицаРегистра.БазаОбразования.* КАК БазаОбразования,
   ТаблицаРегистра.ВидЗачисления.* КАК ВидЗачисления,
   ТаблицаРегистра.Группа.* КАК Группа,
   ТаблицаРегистра.ОбъемПодготовки.* КАК ОбъемПодготовки,
   ТаблицаРегистра.Курс.* КАК Курс,
   ТаблицаРегистра.Организация.* КАК Организация,
   ТаблицаРегистра.ОсноваОбучения.* КАК ОсноваОбучения,
   ТаблицаРегистра.Подразделение.* КАК Подразделение,
   ТаблицаРегистра.ПриказОЗачислении.* КАК ПриказОЗачислении,
   ТаблицаРегистра.НаправлениеПодготовки.* КАК НаправлениеПодготовки,
   ТаблицаРегистра.Статус.* КАК Статус,
   ТаблицаРегистра.Студент.* КАК Студент,
   ТаблицаРегистра.УчебныйГод.* КАК УчебныйГод,
   ТаблицаРегистра.ФормаОбучения.* КАК ФормаОбучения}
АВТОУПОРЯДОЧИВАНИЕ

Как сделать так, чтобы в запрос попадали даже те записи, где отсутствует адрес? Адрес хранится в регистре КонтактнаяИнформация. Связь с ним осуществляется через ссылку Объект (тип Справочник.ФизическиеЛица)
1 dmitn
 
04.06.12
17:07
Как-плохо скопировался(
2 sergei992003
 
04.06.12
17:08
левое соединение...не подходит?
3 dmitn
 
04.06.12
17:09
(1) пробовал и левое соединение и внутреннее..
4 Maxus43
 
04.06.12
17:10
как понял что щас не все записи?
5 dmitn
 
04.06.12
17:12

ВЫБРАТЬ РАЗЛИЧНЫЕ
   СУММА(ТаблицаРегистра.КоличествоОстаток) КАК Количество
{ВЫБРАТЬ
   ТаблицаРегистра.БазаОбразования.* КАК БазаОбразования,
   ТаблицаРегистра.ВидЗачисления.* КАК ВидЗачисления,
   ТаблицаРегистра.Группа.* КАК Группа,
   ТаблицаРегистра.ОбъемПодготовки.* КАК ОбъемПодготовки,
   ТаблицаРегистра.Курс.* КАК Курс,
   ТаблицаРегистра.Организация.* КАК Организация,
   ТаблицаРегистра.ОсноваОбучения.* КАК ОсноваОбучения,
   ТаблицаРегистра.Подразделение.* КАК Подразделение,
   ТаблицаРегистра.ПриказОЗачислении.* КАК ПриказОЗачислении,
   ТаблицаРегистра.НаправлениеПодготовки.* КАК НаправлениеПодготовки,
   ТаблицаРегистра.Статус.* КАК Статус,
   ТаблицаРегистра.Студент.* КАК Студент,
   ТаблицаРегистра.УчебныйГод.* КАК УчебныйГод,
   ТаблицаРегистра.ФормаОбучения.* КАК ФормаОбучения,
   (СУММА(ТаблицаРегистра.КоличествоОстаток)) КАК Количество,
   КонтактнаяИнформация.Представление}
ИЗ
   РегистрНакопления.СтудентыПодразделений.Остатки(&ДатаКон, {(БазаОбразования).* КАК БазаОбразования, (ВидЗачисления).* КАК ВидЗачисления, (Группа).* КАК Группа, (ОбъемПодготовки).* КАК ОбъемПодготовки, (Курс).* КАК Курс, (Организация).* КАК Организация, (ОсноваОбучения).* КАК ОсноваОбучения, (Подразделение).* КАК Подразделение, (ПриказОЗачислении).* КАК ПриказОЗачислении, (НаправлениеПодготовки).* КАК НаправлениеПодготовки, (Статус).* КАК Статус, (Студент).* КАК Студент, (УчебныйГод).* КАК УчебныйГод, (ФормаОбучения).* КАК ФормаОбучения}) КАК ТаблицаРегистра
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
       ПО ТаблицаРегистра.Студент = КонтактнаяИнформация.Объект
ГДЕ
   КонтактнаяИнформация.Вид = &Вид
   И КонтактнаяИнформация.Тип = &Тип
{ГДЕ
   ТаблицаРегистра.БазаОбразования.* КАК БазаОбразования,
   ТаблицаРегистра.ВидЗачисления.* КАК ВидЗачисления,
   ТаблицаРегистра.Группа.* КАК Группа,
   ТаблицаРегистра.ОбъемПодготовки.* КАК ОбъемПодготовки,
   ТаблицаРегистра.Курс.* КАК Курс,
   ТаблицаРегистра.Организация.* КАК Организация,
   ТаблицаРегистра.ОсноваОбучения.* КАК ОсноваОбучения,
   ТаблицаРегистра.Подразделение.* КАК Подразделение,
   ТаблицаРегистра.ПриказОЗачислении.* КАК ПриказОЗачислении,
   ТаблицаРегистра.НаправлениеПодготовки.* КАК НаправлениеПодготовки,
   ТаблицаРегистра.Статус.* КАК Статус,
   ТаблицаРегистра.Студент.* КАК Студент,
   ТаблицаРегистра.УчебныйГод.* КАК УчебныйГод,
   ТаблицаРегистра.ФормаОбучения.* КАК ФормаОбучения}
{УПОРЯДОЧИТЬ ПО
   ТаблицаРегистра.БазаОбразования.* КАК БазаОбразования,
   ТаблицаРегистра.ВидЗачисления.* КАК ВидЗачисления,
   ТаблицаРегистра.Группа.* КАК Группа,
   ТаблицаРегистра.ОбъемПодготовки.* КАК ОбъемПодготовки,
   ТаблицаРегистра.Курс.* КАК Курс,
   ТаблицаРегистра.Организация.* КАК Организация,
   ТаблицаРегистра.ОсноваОбучения.* КАК ОсноваОбучения,
   ТаблицаРегистра.Подразделение.* КАК Подразделение,
   ТаблицаРегистра.ПриказОЗачислении.* КАК ПриказОЗачислении,
   ТаблицаРегистра.НаправлениеПодготовки.* КАК НаправлениеПодготовки,
   ТаблицаРегистра.Статус.* КАК Статус,
   ТаблицаРегистра.Студент.* КАК Студент,
   ТаблицаРегистра.УчебныйГод.* КАК УчебныйГод,
   ТаблицаРегистра.ФормаОбучения.* КАК ФормаОбучения,
   Количество}
ИТОГИ
   СУММА(Количество)
ПО
   ОБЩИЕ
{ИТОГИ ПО
   ТаблицаРегистра.БазаОбразования.* КАК БазаОбразования,
   ТаблицаРегистра.ВидЗачисления.* КАК ВидЗачисления,
   ТаблицаРегистра.Группа.* КАК Группа,
   ТаблицаРегистра.ОбъемПодготовки.* КАК ОбъемПодготовки,
   ТаблицаРегистра.Курс.* КАК Курс,
   ТаблицаРегистра.Организация.* КАК Организация,
   ТаблицаРегистра.ОсноваОбучения.* КАК ОсноваОбучения,
   ТаблицаРегистра.Подразделение.* КАК Подразделение,
   ТаблицаРегистра.ПриказОЗачислении.* КАК ПриказОЗачислении,
   ТаблицаРегистра.НаправлениеПодготовки.* КАК НаправлениеПодготовки,
   ТаблицаРегистра.Статус.* КАК Статус,
   ТаблицаРегистра.Студент.* КАК Студент,
   ТаблицаРегистра.УчебныйГод.* КАК УчебныйГод,
   ТаблицаРегистра.ФормаОбучения.* КАК ФормаОбучения}
АВТОУПОРЯДОЧИВАНИЕ
6 Maxus43
 
04.06.12
17:14
ГДЕ ЕстьNull(КонтактнаяИнформация.Вид) ИЛИ
   (КонтактнаяИнформация.Вид = &Вид
   И КонтактнаяИнформация.Тип = &Тип)
7 dmitn
 
04.06.12
17:14
(4) Когда вывожу без КонтактнойИнформации записей больше. Когда подключаю, пропадают, те где нет адреса
8 Maxus43
 
04.06.12
17:14
тьфу
ГДЕ КонтактнаяИнформация.Вид ЕстьNull ИЛИ
   (КонтактнаяИнформация.Вид = &Вид
   И КонтактнаяИнформация.Тип = &Тип)
9 dmitn
 
04.06.12
17:15
щас попробую
10 dmitn
 
04.06.12
17:30
(8) так выдает ошибку синтаксиса
11 Maxus43
 
04.06.12
17:31
ну смысл то понял? в конструкторе сделай, я мож где-то ошибся скобкой иль ещё чем
12 dmitn
 
04.06.12
17:32
а если так, то все равно не работает


ГДЕ
   (КонтактнаяИнформация.Вид = NULL
           ИЛИ КонтактнаяИнформация.Вид = &Вид
               И КонтактнаяИнформация.Тип = &Тип)

13 Maxus43
 
04.06.12
17:33
ГДЕ КонтактнаяИнформация.Вид ЕстьNull И

   (КонтактнаяИнформация.Вид = &Вид
   ИЛИ КонтактнаяИнформация.Тип = &Тип)
14 Maxus43
 
04.06.12
17:34
короче переделать, Выбор когда КонтактнаяИнформация.Вид ЕстьNull Тогда Истина
Когда КонтактнаяИнформация.Вид = &Вид
  И КонтактнаяИнформация.Тип = &Тип
Тогда Истина
Иначе Ложь
Конец
15 dmitn
 
04.06.12
17:40
(14) так ошибку выдает(
16 dmitn
 
04.06.12
17:42
ругается на ЕстьNull
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn