|
Запрос | ☑ | ||
---|---|---|---|---|
0
Начинающий_13
01.08.12
✎
15:51
|
Здравствуйте
Скажите можно оптимизировать данный запрос? Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ТМЦ_Товары.СтавкаНДС, | ТМЦ_Товары.Сумма, | ТМЦ_Товары.НДС, | ТМЦ_Поступление.Контрагент, | ТМЦ_Поступление.Договор, | ТМЦ_Поступление.Валюта |ИЗ | Документ.ТМЦ_Поступление.Товары КАК ТМЦ_Товары | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ТМЦ_Поступление КАК ТМЦ_Поступление | ПО ТМЦ_Товары.Ссылка = ТМЦ_Поступление.Ссылка |ГДЕ | ТМЦ_Товары.Ссылка = &Ссылка | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | ТМЦ_Материалы.СтавкаНДС, | ТМЦ_Материалы.Сумма, | ТМЦ_Материалы.НДС, | ТМЦ_Поступление.Контрагент, | ТМЦ_Поступление.Договор, | ТМЦ_Поступление.Валюта |ИЗ | Документ.ТМЦ_Поступление.Материалы КАК ТМЦ_Материалы | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ТМЦ_Поступление КАК ТМЦ_Поступление | ПО ТМЦ_Материалы.Ссылка = ТМЦ_Поступление.Ссылка |ГДЕ | ТМЦ_Материалы.Ссылка = &Ссылка // ОБХЕДИНЕНИЙ МОЖЕТ БЫТЬ МНОГО Запрос.УстановитьПараметр("Ссылка", Ссылка); Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); ТЗ = Результат.Выгрузить(); ЭлементыФормы.ТЗ.СоздатьКолонки(); ТЗ.Свернуть("Контрагент,Договор,Валюта,СтавкаНДС","Сумма,НДС"); |
|||
1
golden-pack
01.08.12
✎
15:52
|
убрать левое соединение
|
|||
2
golden-pack
01.08.12
✎
15:53
|
ТМЦ_Товары.Ссылка - это и есть ссылка на документ
|
|||
3
Нуф-Нуф
01.08.12
✎
15:53
|
ужаснах
|
|||
4
Нуф-Нуф
01.08.12
✎
15:54
|
(2) ну соединение все равно будет, только неявное
|
|||
5
golden-pack
01.08.12
✎
15:54
|
даже такой запрос будет выплняться меньше секунды
|
|||
6
Начинающий_13
01.08.12
✎
15:54
|
А как нибудь еще обойти по метаданнм и загрузить в таблицу занчений или только объединением
|
|||
7
Buster007
01.08.12
✎
15:55
|
(2) если он его уберет, то это не значит, что оно не будет написано в результирующем запросе к sql. Будет неявное соединение.
|
|||
8
golden-pack
01.08.12
✎
15:55
|
(3) в чем ужас ?
|
|||
9
Начинающий_13
01.08.12
✎
15:55
|
Хочемся уменьщить писанину
|
|||
10
МихаилМ
01.08.12
✎
15:55
|
+(1)
при обращении к ТЧ 1с принудительно генерирует соединение с таблицей документов. поэтому дополнительное тоже самое не требуется. |
|||
11
Reset
01.08.12
✎
15:55
|
Выкинуть запрос нах и получить обороты из регистра накопления
|
|||
12
Начинающий_13
01.08.12
✎
15:55
|
Да ужаса нет хочется меньше что бы было
|
|||
13
Reset
01.08.12
✎
15:56
|
*взаиморасчетысконтрагнетами (скорее всего)
|
|||
14
golden-pack
01.08.12
✎
15:57
|
(7) и что теперь ... пусть будет лишний код в запросе ? Типа что бы понимать чекудаоткуда ?
|
|||
15
Начинающий_13
01.08.12
✎
15:57
|
Я просто формирую книгу покупок сразу при проведении документа прихода. Это самописка. Есть ли при это м недостатки?
|
|||
16
hhhh
01.08.12
✎
16:01
|
(14) так он делает левое соединение со всеми документами базы. За все годы. Прикинь. Как это может выполниться за одну секунду?
|
|||
17
Начинающий_13
01.08.12
✎
16:01
|
СПАСИБО
ВОПРОС ЗАКРЫТ |
|||
18
Buster007
01.08.12
✎
16:02
|
(14) типа никакого смысла в твоем предложении со стороны оптимизации запроса нет, а дальше кому как нравится.
|
|||
19
golden-pack
01.08.12
✎
16:02
|
(16) надо будет проверить
|
|||
20
golden-pack
01.08.12
✎
16:03
|
(18) Да нет. Нафиг любителей написать лишний код - как нравиться
|
|||
21
Дядя Вова
01.08.12
✎
16:07
|
|ИЗ
| Документ.ТМЦ_Поступление.Товары КАК ТМЦ_Товары | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ТМЦ_Поступление.Материалы КАК ТМЦ_ПоступлениеМатериалы | ПО ТМЦ_Товары.Ссылка = ТМЦ_ПоступлениеМатериалы.Ссылка |ГДЕ | ТМЦ_Товары.Ссылка = &Ссылка А так нельзя что ли? |
|||
22
golden-pack
01.08.12
✎
16:10
|
(21) :)
|
|||
23
hhhh
01.08.12
✎
16:14
|
(21) Я бы написал
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ТМЦ_Поступление КАК ТМЦ_Поступление | ПО ТМЦ_Товары.Ссылка = ТМЦ_Поступление.Ссылка И ТМЦ_Поступление.Ссылка = &Ссылка | |
|||
24
Дядя Вова
01.08.12
✎
16:18
|
(23) Разрешаю )
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |