Имя: Пароль:
1C
1C 7.7
v7: запрос
,
0 valdi77
 
11.10.12
18:26
Изучаю запросы совсем запутался.
Помогите пожалуйста.

У меня в 1С 77 БД есть справочники
1. Тематики
2. Книги

в Справочнике Книги есть поле:"Тема" типа Справочник.Тематики
у любой книги может быть тольо одна Тематика.

Мне надо сделать отчет в виде каталога(Тема и книги по этой теме и.т.д.) Причем, по какой-то теме может не быть ни одной книжки, а по какой то теме много книжек.
Книжек без Темы быть не может (обязательное для заполнение поле)

Тема1
    Книга1
    Книга2
Тема2
   
Как кажется очень лекий  должен быть запрос, но никак не выходит
я видимо не до конца понимаю язык запросов в 1С 77

ТекстЗапроса="
   |Без итогов;
   |Тематика = Справочник.Тематики.ТекущийЭлемент;
   |Книга = Справочник.Книги.ТекущийЭлемент;
   |Группировка Тематика без групп;
       |Группировка Книга без групп;
       "
В этом запросе я не связываю поле книга с полем тема книги и как мне кажется должен получить произведение все книги на все темы
а получается черт значет что

а для получения нужного мне свойства нужен запрос типа

ТекстЗапроса="
   |Без итогов;
   |Тематика = Справочник.Тематики.ТекущийЭлемент;
   |Книга = Справочник.Книги.ТекущийЭлемент;
   |Группировка Тематика без групп;
       |Группировка Книга без групп;
       |Условие(Книга.Тема=Тематика)
"
но и он тоже дает непонятный мне результат
1 Mikeware
 
11.10.12
18:29
Открой для себя конструктор запросов...
а вообще, в 7.7 запросы - это нечто такое, для чего нужно забыть про реляционную алгебру и т.п.
2 vladko
 
11.10.12
18:31
(0) у тебя в запросе нет связи вообще между справочниками, поэтому ничего не выходит. Думай
3 Злопчинский
 
11.10.12
18:32
|Без итогов;
|Тематика = Справочник.Тематики.ТекущийЭлемент;
|Книга = Справочник.Книги.ТекущийЭлемент;
|Тема = Справочник.Книги.Тема;
|Функция СкокаВешатьВграммах = Счётчик();
|Группировка Тема без групп;
|Группировка Книга без групп;
.
для вывода воспользуйся если будут проблемы
http://infostart.ru/public/14794/
4 Злопчинский
 
11.10.12
18:32
|Без итогов;
|Книга = Справочник.Книги.ТекущийЭлемент;
|Тема = Справочник.Книги.Тема;
|Функция СкокаВешатьВграммах = Счётчик();
|Группировка Тема без групп;
|Группировка Книга без групп;
5 valdi77
 
11.10.12
18:41
задам вопрос по другоиму
эту задачу могу решить 2 запросами
1 запрос список всех тем
вывожу текущую тему в цикле
2.  запрос список вех книг с темой равной текущей теме
вывожу текущую книгу в цикле  

В MYSQL или 1с 8.2 есть возможность использовать вложенные запросы

1. Можно ли это делать в 77?
2. или как в 77 эту задачу решить одним запросом (если можно)
6 Mikeware
 
11.10.12
18:49
(5) забудь такие слова, как "mysql", "вложенный запрос" ,и т.п.
7 Sh1ko
 
11.10.12
18:52
Как в (4), можно и без функции.
8 cnor
 
11.10.12
22:28
Думаю в одном запросе штатно не решить...
Проще всго по справочнику тематик циклом. Книги с текущей тематикой запросом получать.
9 Злопчинский
 
11.10.12
23:07
|Без итогов;
|Книга = Справочник.Книги.ТекущийЭлемент;
|Тема = Справочник.Книги.Тема, Справочник.Темы.ТекущийЭлемент;
|Функция СкокаВешатьВграммах = Счётчик();
|Группировка Тема без групп;
|Группировка Книга без групп;
10 Злопчинский
 
11.10.12
23:09
всегда избегал запросов, где в одну переменную запроса - из "разных" таблиц.. как-то не представляю я как это на "нормальном" скульном запросе выглядеть будет...
11 1Сергей
 
12.10.12
15:57
(5)
|Без итогов;
|Книга = Справочник.Книги.ТекущийЭлемент;
|Тема = Справочник.Книги.Тема;
|Условие(Тема в ВыбТема);
|Группировка Тема без групп;
|Группировка Книга без групп;

ВыбТема - элемент или группа справочника Темы
12 1Сергей
 
12.10.12
15:58
(11)+ или вообще пусто, если нужно все