|
(УТ 10.3) запрос из регистра партии товаров с учетом количества из поступления 2 | ☑ | ||
---|---|---|---|---|
0
MrZLO
30.11.16
✎
08:08
|
Здравствуйте!
Помогите оптимизировать запрос... Точнее объединить два и оптимизировать 1) выбираем поступление для товара перемещенного на склад, кол-во и стоимость ВЫБРАТЬ ПартииТоваровНаСкладахОстаткиИОбороты.ДокументОприходования, ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход, ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьПриход ИЗ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты( , , , , Номенклатура = &Номенклатура И Склад = &Склад) КАК ПартииТоваровНаСкладахОстаткиИОбороты Теперь нужно ДокументаОприходывания (который у меня всегда поступление товаров и услуг) выбрать кол-во Как это сделать? Если делаю левое соединение с таблицей поступлений, это долго и неправильно... |
|||
1
mehfk
30.11.16
✎
08:15
|
В чем смысл будущего копрокода?
|
|||
2
MrZLO
30.11.16
✎
08:20
|
(1) товар приходит через поступление, потом его перемещают на другой склад
нужно выбирать именно тот, товар, который был перемещен с ценой и кол-вом из поступления |
|||
3
MrZLO
30.11.16
✎
08:21
|
в этот запрос нужно прикрутить кол-во из поступления, как его из регистра вытащить непонятно... объединять с таблицей поступлений не правильно
|
|||
4
MrZLO
30.11.16
✎
08:36
|
как обратится к табличной части регистратора из регистра?
|
|||
5
Cool_Profi
30.11.16
✎
09:05
|
левообъединить с ТЧ нужного документа
|
|||
6
MrZLO
30.11.16
✎
09:06
|
улучшил первый запрос
ВЫБРАТЬ ПартииТоваровНаСкладахОстаткиИОбороты.ДокументОприходования, ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход, ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьПриход ИЗ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты( , , Регистратор, , Номенклатура = &Номенклатура И Склад = &Склад) КАК ПартииТоваровНаСкладахОстаткиИОбороты |
|||
7
MrZLO
30.11.16
✎
09:07
|
(5) делал так, запрос 2 сек почти работает
учитывая, что он в форме подбора идет, это долго... |
|||
8
h-sp
30.11.16
✎
09:31
|
(7) а зачем вы регистратор берете. Берите Документоприходования. Это быстрее
|
|||
9
MrZLO
30.11.16
✎
10:06
|
(8) вот так сделал, чуть быстрее
ВЫБРАТЬ ПартииТоваровНаСкладахОстаткиИОбороты.ДокументОприходования КАК ДокументОприходования, ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход, ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьПриход, ВложенныйЗапрос.Количество ИЗ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты( , , Регистратор, , Номенклатура = &Номенклатура И Склад = &Склад) КАК ПартииТоваровНаСкладахОстаткиИОбороты ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ПоступлениеТоваровУслугТовары.Ссылка КАК Ссылка, ПоступлениеТоваровУслугТовары.Номенклатура КАК Номенклатура, ПоступлениеТоваровУслугТовары.Количество КАК Количество ИЗ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары ГДЕ ПоступлениеТоваровУслугТовары.Номенклатура.Ссылка = &Номенклатура) КАК ВложенныйЗапрос ПО ПартииТоваровНаСкладахОстаткиИОбороты.ДокументОприходования.Ссылка = ВложенныйЗапрос.Ссылка но может есть способ лучше... |
|||
10
h-sp
30.11.16
✎
10:12
|
(9) ну вот это бред
ГДЕ ПоступлениеТоваровУслугТовары.Номенклатура.Ссылка = &Номенклатура) КАК ВложенныйЗапрос ПО ПартииТоваровНаСкладахОстаткиИОбороты.ДокументОприходования.Ссылка = ВложенныйЗапрос.Ссылка пишите ГДЕ ПоступлениеТоваровУслугТовары.Номенклатура = &Номенклатура) КАК ВложенныйЗапрос ПО ПартииТоваровНаСкладахОстаткиИОбороты.ДокументОприходования = ВложенныйЗапрос.Ссылка даст выигрыш где-то в 10 раз. |
|||
11
h-sp
30.11.16
✎
10:13
|
(9) и уберите
, Регистратор, , |
|||
12
MrZLO
30.11.16
✎
10:15
|
спс, я его оставил, чтобы был разрез по перемещениям
|
|||
13
Vladal
30.11.16
✎
10:17
|
(9) " секунды потому что соедниение с подзапросом:
ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ это некрасиво и неправильно. Есть рекомендация на ИТС http://its.1c.ru/db/metod8dev#content:5842:hdoc:subquery_join |
|||
14
MrZLO
30.11.16
✎
10:19
|
спс, поправлю
|
|||
15
Vladal
30.11.16
✎
10:36
|
пишу "на коленке", прямо в браузере. Могут быть ошибки:
ВЫБРАТЬ ПартииТоваровНаСкладахОстаткиИОбороты.ДокументОприходования КАК ДокументОприходования, ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход, ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьПриход, ВложенныйЗапрос.Количество , // Этот кусок из твоего внутреннего соединения ПоступлениеТоваровУслугТовары.Ссылка КАК Ссылка, ПоступлениеТоваровУслугТовары.Номенклатура КАК Номенклатура, ПоступлениеТоваровУслугТовары.Количество КАК Количество ИЗ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты( , , Регистратор, , Номенклатура = &Номенклатура И Склад = &Склад) КАК ПартииТоваровНаСкладахОстаткиИОбороты ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары по ПартииТоваровНаСкладахОстаткиИОбороты.ДокументОприходования = ПоступлениеТоваровУслугТовары.Ссылка И ПоступлениеТоваровУслугТовары.Номенклатура.Ссылка = &Номенклатура) КАК ВложенныйЗапрос Только если надо прям только Поступление брать... Ведь документ Оприходования может быть не всегда ПТиУ. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |