v7: Сумма по колонке в прямом запросе. #708288


#0 by Eeakie
Извиняюсь за тупость, но как в прямом запросе посчитать сумму колонки в документе (аналогично Док.Итог(<Колонка>))?. select    Док.iddoc as Документ,
#1 by Eeakie
Обычное sum($Документ.Сумма) дает результат, но в некоторых случаях неверный. Как такое может быть?
#2 by SiAl-chel
(+1) По IDDOC группируешь?
#3 by ivsher
А зачем считать сумму? Если в конфигураторе для данного реквизита стоит признак "Итог по колонке", то получить итог можно из шапки документа.
#4 by Eeakie
Да. Получать суммы при переборе довольно таки долго. Много документов обрабатывается. А я как раз оптимизацией занимаюсь сейчас.
#5 by Дык ё
ошибка в запросе +1
#6 by Eeakie
Может я не так понимаю. Как в запросе получить итог из шапки?
#7 by Mikeware
Ну помотри на таблицу шапки.
#8 by Eeakie
Какую еще таблицу шапки?
#9 by Попытка1С
$Док.СуммаДокумента
#10 by ДенисЧ
DH*
#11 by Попытка1С
Селект соответственно не с ДокументСтроки а с Документ
#12 by Матадор
Придется учить SQL :) Смотри в сторону GROUP BY <****> WITH ROLLUP
#13 by Eeakie
Я этим и занимаюсь :)
#14 by Матадор
Хотя конечно, если тебе только итог по колонке табличной части документа нужен, то тогда проще действительно в шапку документа смотреть, если конечно у тебя стоит галочка "итог по колонке" в свойствах таб части.
#15 by Eeakie
Да, галка стоит. Только я вот не совсем понимаю, что значит это "смотреть в шапку документа". В SQL только начал углубляться... пока только элементарные запросы получается делать.
#16 by DmitrO
везет же людям, впереди столько интересного :)
#17 by ДенисЧ
Может, ты для начала свой запрос покажешь, чтобы мы тут практической телепатологией не занимались?
#18 by Eeakie
О, взлетело. Просто добавил в group by $Документ.Сумма и в селекте убрал sum($Документ.Сумма).
#19 by Eeakie
Сильно хреново сделан запрос?
#20 by Ёпрст
это нездоровый диагноз
#21 by Ёпрст
ну и в Этом запросе вот это всё |from $Документ.Заявка as Заявка with (nolock) |    inner join вообще лишнее, при условии
#22 by Eeakie
Согласен. Никогда так и не делал, но в данном случае так отрабатывает правильно. Почему лишнее? Как это связано вообще? Разные данные же получаю. Журнал только для фильтра по периоду и признака проведенности.
#23 by Eeakie
Я вообще считаю, что такие данные как Номер, Дата, Время, Проведенность получать глупо в запросе. Но скорость увеличивается прилично, если брать их напрямую с запроса, а не с итоговой ТЗ.
#24 by Eeakie
+ Из документа в итоговой ТЗ.
#25 by Eeakie
Действительно лишнее... Просто там 3 почти одинаковых варианта получения данных и "Шайба.ОстатокТовараОстаток <> 0" отрабатывает только при одном из них. Скопировал немного неправильно.
#27 by Eeakie
Из-за того, что были не указаны нужные измерения и ресурсы всё... Не подумал бы...
#28 by Eeakie
and Журнал.iddocdef = $ВидДокумента.Заявка как-то влияет на скорость отбора? Потому что на результат никак.
#29 by Eeakie
Всем спасибо.
#30 by Mikeware
естественно, увеличивается. Ты ж не лащишьк каждому объекту
#31 by trad
... и домашним заданием будет изучение планов выполнения запросов с этим условием и без
#32 by Ёпрст
подумай.
#33 by Ёпрст
что ты накладываешь этим условием.
#34 by Ёпрст
Грубо - в результате запроса будет только те заказы, что есть на остатке в регистре шайбы.. Нафига там запрос по документам - хз.
#35 by Ёпрст
Ну разве что, реквизиты дока вытащить - только запрос нужно переписать будет.
#36 by Eeakie
, Усвоил :) - Уже понял. Всё переписал. Надо работать над логикой... Спасибо.
#37 by Eeakie
$Заявка.Автор in (select val from #Авторы) Если СписокЭлементов пуст, то фильтр отключится?
#38 by Ёпрст
конечно нет :)
#39 by trad
нет, не отключится
#40 by Eeakie
А жаль :)
#41 by Eeakie
$РегистрОстатки.Ожидания(,, Фирма = :Центролаб, Заявка, Количество) as Склад on Склад.Заявка = Заявка.iddoc Ничего не дает, потому что тип измерения "Заявка" в регистре просто <Документ>, а не <Документ.Заявка>. Как можно это победить?
#42 by trad
on Склад.Заявка = $ВидДокумента36.Заявка + Заявка.iddoc
#43 by Eeakie
Взлетело, спасибо. Но что это? Где почитать?
#44 by Ёпрст
.
#45 by ivsher
или тут)
#46 by Eeakie
ооо, буду разбираться... ага, врубился.
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С