|
Ноги или крылья? Головоломка в простом запросе для отчета в расширении
Мультук, Alex33, Ёпрст, Aleks73, Chameleon1980, H A D G E H O G s, breezee, Garykom, Шурик71, privetik, Михаил Козлов, Jackman, Gun47, AntiBuh, Rovan, AlvlSpb, Доминошник, avkynev, DimR_71, mikecool, АгентБезопаснойНацио, Бычье сердце, LuckyStar, Ivanich, lucky_, b_ru, laeg, SleepyHead, who respawn, программистище, Волшебник, Andy13, Ногаминебить, mmg, 2S, ads55, Масянька, kir-g, Гипервизор, denk32, PR, Галахад, Vostochnick, _Batoo, RoRu, ttk, vis, MaxxiMiliSanM, arsik, Климов Сергей, GreenLab, ass1c, kubik_live, NikeArz, envech, Djelf, maxar, Джордж1, d4rkmesa, Krendel, shuhard, banco, Kongo2019
| ☑ |
0
Aleks73
24.04.25
✎
15:09
|
База ОФ, режим совместимости Версия 8.3.14. С расширением.
Запрос = Новый ПостроительЗапроса;
Запрос.Текст =
"ВЫБРАТЬ
| Портфели.Владелец.Ссылка КАК Договор,
| Портфели.Владелец.Владелец КАК Клиент,
| Портфели.Ссылка КАК Портфель
| Портфели.Владелец.Стратегия
| ИсторияСтратегийСрезПоследних.Стратегия
|ИЗ
| Справочник.Портфели КАК Портфели
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ИсторияСтратегий.СрезПоследних(&ДатаКон, ) КАК ИсторияСтратегийСрезПоследних
| ПО Портфели.Ссылка = ИсторияСтратегийСрезПоследних.Объект
Регистр ИсторияСтратегий и реквизит Стратегия - в расширении.
Если я добавляю отчет с этим запросом в расширение -
конструктор запроса не видит
Портфели.Владелец.Ссылка
Портфели.Владелец.Владелец
Портфели.Владелец.Стратегия
Так как в конструкторе реквизит Владелец не имеет подчинённых реквизитов (справочник - владелец портфеля добавлен в расширение!),
если делаю отчет внешним - не видит регистр и реквизит, добавленные в расширение.
Кто победил такую головоломку?
|
|
1
Волшебник
24.04.25
✎
15:10
|
У Вас синтаксические ошибки в запросе. Вы его хотя бы запускали?!
|
|
2
Aleks73
24.04.25
✎
15:13
|
(1) Я его упростил, удалив лишние реквизиты. Запятые подохли,да. Всё равно его открыть со всеми реквизитами в конструкторе невозможно.
|
|
3
Волшебник
24.04.25
✎
15:11
|
(2) Вы его испортили и показываете нам туфту.
|
|
4
Garykom
гуру
24.04.25
✎
15:14
|
(0) Используй консоль запросов в режиме предприятия и не пудри мозг
|
|
5
Aleks73
24.04.25
✎
15:18
|
(3) Вот он полностью
Запрос = Новый ПостроительЗапроса;
Запрос.Текст =
"ВЫБРАТЬ
| Портфели.Владелец.Ссылка КАК Договор,
| ИСТИНА КАК Включать,
| Портфели.Владелец.Владелец КАК Клиент,
| Портфели.Ссылка КАК Портфель,
| ИсторияСтратегийСрезПоследних.Стратегия КАК Стратегия,
| Портфели.Владелец.СтратегияПоДоговору КАК СтратегияПоДоговору
|ИЗ
| Справочник.Портфели КАК Портфели
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ИсторияСтратегий.СрезПоследних(&ДатаКон, ) КАК ИсторияСтратегийСрезПоследних
| ПО Портфели.Ссылка = ИсторияСтратегийСрезПоследних.Объект
|ГДЕ
| Портфели.Владелец.ДоговорДУ = ИСТИНА
| И Портфели.Владелец.Организация = &Организация";
|
|
6
Aleks73
24.04.25
✎
15:19
|
(4) Мне нужно не прочитать запрос, а сделать его работающим. Немного разные вещи. Он не работает, при этом ошибку не выдаёт.
|
|
7
Волшебник
24.04.25
✎
15:23
|
Покажите, как Вы его выполняете.
У вас объект ПостроительЗапроса, а не Запрос.
ПостроительЗапроса.Выполнить() ничего не вернёт.
Кроме того, проверьте параметры.
|
|
8
Garykom
гуру
24.04.25
✎
15:26
|
(5) владельцев разверни в соединения и перепиши на объединить
один хрен это будет выполняться на низком уровне в плане запроса (причем по всем а не только нужным)
ЗЫ
или через выбор когда тогда
|
|
9
Aleks73
24.04.25
✎
15:24
|
(7) Для теста я удалял ГДЕ и всё, что после него. Пусто.
Блок, обрабатывающий построитель, сейчас выложу.
|
|
10
Aleks73
24.04.25
✎
15:27
|
(7) Запрос.ЗаполнитьНастройки();
Запрос.Параметры.Вставить("Организация", Организация);
Запрос.Параметры.Вставить("ДатаКон", ДатаКон);
Запрос.Выполнить();
Результат = Запрос.Результат.Выгрузить();
Результат.Свернуть("Включать, Договор, Клиент, СтратегияПоДоговору");
СписокКлиентов.Загрузить(Результат);
|
|
11
Aleks73
24.04.25
✎
15:29
|
(8) СвежО, попробую конечно, но конструктор не видит владельца как объект, поэтому не верю в то, что соединение что-то даст.
|
|
12
Волшебник
24.04.25
✎
15:34
|
Запрос = Новый Запрос("ВЫБРАТЬ
| ИСТИНА КАК Включать,
| Портфели.Владелец КАК Договор,
| Портфели.Владелец.Владелец КАК Клиент,
| Портфели.Владелец.СтратегияПоДоговору КАК СтратегияПоДоговору
|ИЗ
| Справочник.Портфели КАК Портфели
|ГДЕ
| Портфели.Владелец.ДоговорДУ");
тзДоговоры = Запрос.Выполнить().Выгрузить();
|
|
13
Aleks73
24.04.25
✎
15:44
|
-
|
|
14
Мультук
гуру
24.04.25
✎
16:02
|
(13)
Вчитался.
P.S.
Добавлять справочник-владелец в расширении. Это свежо и необычно.
Такое вроде как первый раз на мисте
|
|
15
Гипервизор
24.04.25
✎
15:52
|
(0) Переходите на 8.3.23, насколько я помню, там подкручивали доступность в редакторе запросов расширения объектов основной конфигурации.
|
|
16
Aleks73
24.04.25
✎
16:41
|
(12) Станислав, ты прав! Не все построители одинаково полезны. Большое тебе спасибо!
P.S. А конструктор твой запрос не берёт, ругается на Владелец.Владелец.
(14) Я тупо перебирал все варианты.
(15) Где это можно точно посмотреть? Я думал, что режим совместимости за это отвечает.
|
|
17
Rovan
гуру
24.04.25
✎
17:44
|
| Портфели.Владелец.Ссылка КАК Договор,
тут Ссылка лишняя
|
|
18
Aleks73
24.04.25
✎
18:48
|
(17) Я взял (12), спасибо.
|
|