|
Как в выборке полей Запроса разыменовать поле полученное через ВЫРАЗИТЬ | ☑ | ||
---|---|---|---|---|
0
timgan
18.05.15
✎
09:39
|
ВЫРАЗИТЬ(Регистратор КАК Документ.АвансовыйОтчет).ПодотчетноЛицо, необходимо получить Реквизит ПодотчетногоЛица
|
|||
1
Славен
18.05.15
✎
09:40
|
(0) А зачем тебе Выразить тут?
|
|||
2
hhhh
18.05.15
✎
09:40
|
ВЫРАЗИТЬ(Регистратор КАК Документ.АвансовыйОтчет).ПодотчетноЛицо.Реквизит1
|
|||
3
timgan
18.05.15
✎
09:40
|
Регистратор - составной тип
|
|||
4
Славен
18.05.15
✎
09:41
|
+(1) поставь условие Где Регистратор Ссылка Документ.АвансовыйОтчет
|
|||
5
timgan
18.05.15
✎
09:42
|
(2) пробовал, так не получает "Реквизит1"
|
|||
6
be-may
18.05.15
✎
09:44
|
а если левое соединение с ПодотчетноЛицо ?
что по сути и так неявно система будет делать при получении Реквизит1 |
|||
7
timgan
18.05.15
✎
09:44
|
(4) Так понятно, но хотелось бы через ВЫРАЗИТЬ. Кстати Славен, а если указать, как ты предлагаешь, то соединение с лишними таблицами в запросе не будет?
|
|||
8
timgan
18.05.15
✎
09:45
|
(6) Так тоже понятно.
|
|||
9
Славен
18.05.15
✎
09:47
|
(7) не совсем понял вопрос
|
|||
10
Defender aka LINN
18.05.15
✎
09:48
|
(5) У всех получает, у тебя нет. Странным не находишь?
|
|||
11
hhhh
18.05.15
✎
09:48
|
(5) что говорит? У всех получает вообще-то
|
|||
12
Drac0
18.05.15
✎
09:49
|
(5) Не верю. Подотчетное лицо не составной хотя бы?
|
|||
13
timgan
18.05.15
✎
09:55
|
(12) ПодотчетноеЛицо - нет не составной, справочник "ФизическиеЛица"
|
|||
14
timgan
18.05.15
✎
09:56
|
(10) (11) нахожу, пошел искать ошибку
|
|||
15
kosts
18.05.15
✎
09:57
|
Выбор когда Регистратор ссылка Документ.АвансовыйОтчет тогда Документ.АвансовыйОтчет.ПодотчетноЛицо Иначе Справочник.Физлица.пустаяСсылка Конец
|
|||
16
timgan
18.05.15
✎
10:01
|
(9) Если в секции ГДЕ применяешь Условие: Регистратор Ссылка Документ.АвансовыйОтчет, тогда в полях выборки запроса можно не использовать конструкцию ВЫРАЗИТЬ с целью оптимизации запроса?
|
|||
17
Славен
18.05.15
✎
10:06
|
(16) да
|
|||
18
timgan
18.05.15
✎
10:58
|
(10) (11) Defender aka LINN, hhhh Спасибо! Ошибку нашел.
(17) Славен спасибо. Всем спасибо. |
|||
19
timgan
18.05.15
✎
11:59
|
(10) (11) Почему нет ПодОтчетноеЛицоНаименование?
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ВЫБОР | КОГДА ПрочиеРасходыОбороты.Регистратор ССЫЛКА Документ.АвансовыйОтчет | ТОГДА ВЫРАЗИТЬ(ПрочиеРасходыОбороты.Регистратор КАК Документ.АвансовыйОтчет).ПодотчетноеЛицо | КОНЕЦ КАК ПодОтчетноеЛицоСсылка, | ВЫБОР | КОГДА ПрочиеРасходыОбороты.Регистратор ССЫЛКА Документ.АвансовыйОтчет | ТОГДА ВЫРАЗИТЬ(ПрочиеРасходыОбороты.Регистратор КАК Документ.АвансовыйОтчет).ПодотчетноеЛицо.Наименование | КОНЕЦ КАК ПодОтчетноеЛицоНаименование, | ПрочиеРасходыОбороты.СуммаОборот КАК СуммаОборот |ИЗ | РегистрНакопления.ПрочиеРасходы.Обороты(&НачДата, &КонДата, Авто, ) КАК ПрочиеРасходыОбороты | |ИТОГИ | СУММА(СуммаОборот) |ПО | ПодОтчетноеЛицоСсылка"; Запрос.УстановитьПараметр("НачДата",НачалоДня(Отчет.НачДата)); Запрос.УстановитьПараметр("КонДата",КонецДня(Отчет.КонДата)); Результат = Запрос.Выполнить(); ВыборкаПодОтчетноеЛицоНаименование = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаПодОтчетноеЛицоНаименование.Следующий() Цикл Сообщить("Ссылка: " + ВыборкаПодОтчетноеЛицоНаименование.ПодОтчетноеЛицоСсылка); Сообщить("Наименование: " + ВыборкаПодОтчетноеЛицоНаименование.ПодОтчетноеЛицоНаименование); Сообщить("Сумма: " + ВыборкаПодОтчетноеЛицоНаименование.СуммаОборот); КонецЦикла; |
|||
20
timgan
18.05.15
✎
12:22
|
up
|
|||
21
Basilio
18.05.15
✎
12:25
|
а если без убрать ОбходРезультатаЗапроса.ПоГруппировкам ПодОтчетноеЛицоНаименование есть?
|
|||
22
kosts
18.05.15
✎
12:26
|
У тебя есть итоги. Это дерево. На данном уровне (первом) есть данные только в поле ПодОтчетноеЛицоСсылка
|
|||
23
kosts
18.05.15
✎
12:26
|
(22) Ну и в сумме есть
|
|||
24
kosts
18.05.15
✎
12:29
|
|
|||
25
timgan
18.05.15
✎
12:46
|
(21) Да, я тоже посмотрел, что есть
|
|||
26
timgan
18.05.15
✎
13:19
|
(24)
наверное так: ВыборкаДетальнаяИнформация = ПодОтчетноеЛицоСсылка.Выбрать(ОбходРезультатаЗапроса.Прямой); тогда почему работает этот запрос: Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ПрочиеРасходыОбороты.Регистратор.ПодотчетноеЛицо КАК РегистраторПодотчетноеЛицо, | ПрочиеРасходыОбороты.Регистратор.ПодотчетноеЛицо.Наименование КАК РегистраторПодотчетноеЛицоНаименование, | ПрочиеРасходыОбороты.СуммаОборот КАК СуммаОборот |ИЗ | РегистрНакопления.ПрочиеРасходы.Обороты(&НачДата, &КонДата, Авто, ) КАК ПрочиеРасходыОбороты |ГДЕ | ПрочиеРасходыОбороты.Регистратор ССЫЛКА Документ.АвансовыйОтчет |ИТОГИ | СУММА(СуммаОборот) |ПО | РегистраторПодотчетноеЛицо"; Запрос.УстановитьПараметр("НачДата",НачалоДня(Отчет.НачДата)); Запрос.УстановитьПараметр("КонДата",КонецДня(Отчет.КонДата)); Результат = Запрос.Выполнить(); ВыборкаРегистраторПодотчетноеЛицо = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаРегистраторПодотчетноеЛицо.Следующий() Цикл Сообщить("Ссылка: " + ВыборкаРегистраторПодотчетноеЛицо.РегистраторПодотчетноеЛицо); Сообщить("Наименование: " + ВыборкаРегистраторПодотчетноеЛицо.РегистраторПодотчетноеЛицоНаименование); Сообщить("Сумма: " + ВыборкаРегистраторПодотчетноеЛицо.СуммаОборот); КонецЦикла; |
|||
27
kosts
18.05.15
✎
13:22
|
(26) Зачем тогда Итоги в запросе?
|
|||
28
timgan
18.05.15
✎
13:30
|
(27) Не понял вопрос? я про то:
ВыборкаПодОтчетноеЛицоСсылка = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ПодОтчетноеЛицоСсылка.Следующий() Цикл //Вот Здесь! ВыборкаДетальнаяИнформация = ПодОтчетноеЛицоСсылка.Выбрать(); Пока ВыборкаДетальнаяИнформация.Следующий() Цикл КонецЦикла; КонецЦикла; |
|||
29
kosts
18.05.15
✎
13:32
|
(28) Во внутренней группировке это не повлияет на выборку, т.е будет одинаковый результат
|
|||
30
timgan
18.05.15
✎
13:50
|
без fisher не разобраться!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |