Нужно ли добавлять условие в виртуальную таблицу при соединении по этому же условию
Есть временная таблица с номенклатурой вт_Номенклатура. К ней хочу добавить остатки. Вопрос: нужно ли в виртуальную таблицу остатков добавлять условие Номенклатура В(вт_Номенклатура), если при соединении с временной таблицей я все равно напишу Регистр.Номенклатура = вт_Номенклатура.Номенклатура? Будет ли это более оптимизированно?
По теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(7)
"ВЫБРАТЬ
| УчетРезервовТМЦОбороты.Заказ КАК ЗаказНаПроизводство,
| УчетРезервовТМЦОбороты.Номенклатура КАК Номенклатура,
| УчетРезервовТМЦОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| УчетРезервовТМЦОбороты.Склад КАК Склад,
| СУММА(УчетРезервовТМЦОбороты.КоличествоПриход) КАК РезервПриход,
| СУММА(УчетРезервовТМЦОбороты.КоличествоРасход) КАК РезервРасход
|ПОМЕСТИТЬ вт_ОборотыРезервов
|ИЗ
| РегистрНакопления.УчетРезервовТМЦ.Обороты(&НачалоПериода, &КонецПериода, , Заказ ССЫЛКА Документ.ЗаказНаПроизводство) КАК УчетРезервовТМЦОбороты
|
|СГРУППИРОВАТЬ ПО
| УчетРезервовТМЦОбороты.Заказ,
| УчетРезервовТМЦОбороты.Номенклатура,
| УчетРезервовТМЦОбороты.ХарактеристикаНоменклатуры,
| УчетРезервовТМЦОбороты.Склад
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| вт_ОборотыРезервов.ЗаказНаПроизводство КАК ЗаказНаПроизводство,
| вт_ОборотыРезервов.Номенклатура КАК Номенклатура,
| вт_ОборотыРезервов.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| вт_ОборотыРезервов.Склад КАК Склад,
| вт_ОборотыРезервов.РезервПриход КАК РезервПриход,
| вт_ОборотыРезервов.РезервРасход КАК РезервРасход,
| УчетРезервовТМЦОстатки.КоличествоОстаток КАК КоличествоОстаток
|ПОМЕСТИТЬ вт_ОстаткиИОборотыРезервов
|ИЗ
| вт_ОборотыРезервов КАК вт_ОборотыРезервов
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.УчетРезервовТМЦ.Остатки(
| &КонецПериода,
| Номенклатура В
| (ВЫБРАТЬ
| вт_ОборотыРезервов.Номенклатура
| ИЗ
| вт_ОборотыРезервов)
| И Заказ В
| (ВЫБРАТЬ
| вт_ОборотыРезервов.ЗаказНаПроизводство
| ИЗ
| вт_ОборотыРезервов)) КАК УчетРезервовТМЦОстатки
| ПО вт_ОборотыРезервов.ЗаказНаПроизводство = УчетРезервовТМЦОстатки.Заказ
| И вт_ОборотыРезервов.Номенклатура = УчетРезервовТМЦОстатки.Номенклатура
| И вт_ОборотыРезервов.ХарактеристикаНоменклатуры = УчетРезервовТМЦОстатки.ХарактеристикаНоменклатуры
| И вт_ОборотыРезервов.Склад = УчетРезервовТМЦОстатки.Склад
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| ПартииТоваровНаСкладахОбороты.Номенклатура КАК Номенклатура,
| ПартииТоваровНаСкладахОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| ПартииТоваровНаСкладахОбороты.Склад КАК Склад,
| ПартииТоваровНаСкладахОбороты.КоличествоПриход КАК ОстатокПриход,
| ПартииТоваровНаСкладахОбороты.КоличествоРасход КАК ОстатокРасход
|ПОМЕСТИТЬ вт_ОборотыОстатков
|ИЗ
| РегистрНакопления.ПартииТоваровНаСкладах.Обороты(
| &НачалоПериода,
| &КонецПериода,
| ,
| Номенклатура В
| (ВЫБРАТЬ
| вт_ОстаткиИОборотыРезервов.Номенклатура
| ИЗ
| вт_ОстаткиИОборотыРезервов)) КАК ПартииТоваровНаСкладахОбороты,
| вт_ОстаткиИОборотыРезервов КАК вт_ОстаткиИОборотыРезервов
|ГДЕ
| ПартииТоваровНаСкладахОбороты.Номенклатура В (вт_ОстаткиИОборотыРезервов.Номенклатура)
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| вт_ОборотыОстатков.Номенклатура КАК Номенклатура,
| вт_ОборотыОстатков.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| вт_ОборотыОстатков.Склад КАК Склад,
| вт_ОборотыОстатков.ОстатокПриход КАК ОстатокПриход,
| вт_ОборотыОстатков.ОстатокРасход КАК ОстатокРасход,
| ПартииТоваровНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток
|ПОМЕСТИТЬ вт_ОстаткиИОборотыОстатков
|ИЗ
| вт_ОборотыОстатков КАК вт_ОборотыОстатков
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах.Остатки(
| &КонецПериода,
| Номенклатура В
| (ВЫБРАТЬ
| вт_ОборотыОстатков.Номенклатура
| ИЗ
| вт_ОборотыОстатков)) КАК ПартииТоваровНаСкладахОстатки
| ПО вт_ОборотыОстатков.Номенклатура = ПартииТоваровНаСкладахОстатки.Номенклатура
| И вт_ОборотыОстатков.ХарактеристикаНоменклатуры = ПартииТоваровНаСкладахОстатки.ХарактеристикаНоменклатуры
| И вт_ОборотыОстатков.Склад = ПартииТоваровНаСкладахОстатки.Склад"
Показать
(10)Сделал, еще дольше стало =(
"ВЫБРАТЬ
| УчетРезервовТМЦОбороты.Заказ КАК ЗаказНаПроизводство,
| УчетРезервовТМЦОбороты.Номенклатура КАК Номенклатура,
| УчетРезервовТМЦОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| УчетРезервовТМЦОбороты.Склад КАК Склад,
| СУММА(УчетРезервовТМЦОбороты.КоличествоПриход) КАК РезервПриход,
| СУММА(УчетРезервовТМЦОбороты.КоличествоРасход) КАК РезервРасход
|ПОМЕСТИТЬ вт_ОборотыРезервов
|ИЗ
| РегистрНакопления.УчетРезервовТМЦ.Обороты(&НачалоПериода, &КонецПериода, , Заказ ССЫЛКА Документ.ЗаказНаПроизводство) КАК УчетРезервовТМЦОбороты
|
|СГРУППИРОВАТЬ ПО
| УчетРезервовТМЦОбороты.Заказ,
| УчетРезервовТМЦОбороты.Номенклатура,
| УчетРезервовТМЦОбороты.ХарактеристикаНоменклатуры,
| УчетРезервовТМЦОбороты.Склад
|
|ИНДЕКСИРОВАТЬ ПО
| ЗаказНаПроизводство,
| Номенклатура,
| ХарактеристикаНоменклатуры,
| Склад
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| УчетРезервовТМЦОстатки.Заказ КАК ЗаказНаПроизводство,
| УчетРезервовТМЦОстатки.Номенклатура КАК Номенклатура,
| УчетРезервовТМЦОстатки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| УчетРезервовТМЦОстатки.Склад КАК Склад,
| СУММА(УчетРезервовТМЦОстатки.КоличествоОстаток) КАК КоличествоОстаток
|ПОМЕСТИТЬ вт_ОстаткиРезервов
|ИЗ
| РегистрНакопления.УчетРезервовТМЦ.Остатки(
| &КонецПериода,
| Номенклатура В
| (ВЫБРАТЬ
| вт_ОборотыРезервов.Номенклатура
| ИЗ
| вт_ОборотыРезервов)
| И Заказ В
| (ВЫБРАТЬ
| вт_ОборотыРезервов.ЗаказНаПроизводство
| ИЗ
| вт_ОборотыРезервов)) КАК УчетРезервовТМЦОстатки
|
|СГРУППИРОВАТЬ ПО
| УчетРезервовТМЦОстатки.Заказ,
| УчетРезервовТМЦОстатки.Номенклатура,
| УчетРезервовТМЦОстатки.ХарактеристикаНоменклатуры,
| УчетРезервовТМЦОстатки.Склад
|
|ИНДЕКСИРОВАТЬ ПО
| ЗаказНаПроизводство,
| Номенклатура,
| ХарактеристикаНоменклатуры,
| Склад
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| вт_ОборотыРезервов.ЗаказНаПроизводство КАК ЗаказНаПроизводство,
| вт_ОборотыРезервов.Номенклатура КАК Номенклатура,
| вт_ОборотыРезервов.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| вт_ОборотыРезервов.Склад КАК Склад,
| вт_ОборотыРезервов.РезервПриход КАК РезервПриход,
| вт_ОборотыРезервов.РезервРасход КАК РезервРасход,
| вт_ОстаткиРезервов.КоличествоОстаток КАК КоличествоОстаток
|ПОМЕСТИТЬ вт_ОстаткиИОборотыРезервов
|ИЗ
| вт_ОборотыРезервов КАК вт_ОборотыРезервов
| ЛЕВОЕ СОЕДИНЕНИЕ вт_ОстаткиРезервов КАК вт_ОстаткиРезервов
| ПО вт_ОборотыРезервов.ЗаказНаПроизводство = вт_ОстаткиРезервов.ЗаказНаПроизводство
| И вт_ОборотыРезервов.Номенклатура = вт_ОстаткиРезервов.Номенклатура
| И вт_ОборотыРезервов.ХарактеристикаНоменклатуры = вт_ОстаткиРезервов.ХарактеристикаНоменклатуры
| И вт_ОборотыРезервов.Склад = вт_ОстаткиРезервов.Склад
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| ПартииТоваровНаСкладахОбороты.Номенклатура КАК Номенклатура,
| ПартииТоваровНаСкладахОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| ПартииТоваровНаСкладахОбороты.Склад КАК Склад,
| ПартииТоваровНаСкладахОбороты.КоличествоПриход КАК ОстатокПриход,
| ПартииТоваровНаСкладахОбороты.КоличествоРасход КАК ОстатокРасход
|ПОМЕСТИТЬ вт_ОборотыОстатков
|ИЗ
| РегистрНакопления.ПартииТоваровНаСкладах.Обороты(
| &НачалоПериода,
| &КонецПериода,
| ,
| Номенклатура В
| (ВЫБРАТЬ
| вт_ОстаткиИОборотыРезервов.Номенклатура
| ИЗ
| вт_ОстаткиИОборотыРезервов)) КАК ПартииТоваровНаСкладахОбороты,
| вт_ОстаткиИОборотыРезервов КАК вт_ОстаткиИОборотыРезервов
|ГДЕ
| ПартииТоваровНаСкладахОбороты.Номенклатура В (вт_ОстаткиИОборотыРезервов.Номенклатура)
|
|ИНДЕКСИРОВАТЬ ПО
| Номенклатура,
| ХарактеристикаНоменклатуры,
| Склад
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| ПартииТоваровНаСкладахОстатки.Номенклатура КАК Номенклатура,
| ПартииТоваровНаСкладахОстатки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| ПартииТоваровНаСкладахОстатки.Склад КАК Склад,
| СУММА(ПартииТоваровНаСкладахОстатки.КоличествоОстаток) КАК КоличествоОстаток
|ПОМЕСТИТЬ вт_ОстаткиОстатков
|ИЗ
| РегистрНакопления.ПартииТоваровНаСкладах.Остатки(
| &КонецПериода,
| Номенклатура В
| (ВЫБРАТЬ
| вт_ОборотыОстатков.Номенклатура
| ИЗ
| вт_ОборотыОстатков)) КАК ПартииТоваровНаСкладахОстатки
|
|СГРУППИРОВАТЬ ПО
| ПартииТоваровНаСкладахОстатки.Номенклатура,
| ПартииТоваровНаСкладахОстатки.ХарактеристикаНоменклатуры,
| ПартииТоваровНаСкладахОстатки.Склад
|
|ИНДЕКСИРОВАТЬ ПО
| Номенклатура,
| ХарактеристикаНоменклатуры,
| Склад
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| вт_ОборотыОстатков.Номенклатура КАК Номенклатура,
| вт_ОборотыОстатков.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| вт_ОборотыОстатков.Склад КАК Склад,
| вт_ОборотыОстатков.ОстатокПриход КАК ОстатокПриход,
| вт_ОборотыОстатков.ОстатокРасход КАК ОстатокРасход,
| вт_ОстаткиОстатков.КоличествоОстаток КАК КоличествоОстаток
|ПОМЕСТИТЬ вт_ОстаткиИОборотыОстатков
|ИЗ
| вт_ОборотыОстатков КАК вт_ОборотыОстатков
| ЛЕВОЕ СОЕДИНЕНИЕ вт_ОстаткиОстатков КАК вт_ОстаткиОстатков
| ПО вт_ОборотыОстатков.Номенклатура = вт_ОстаткиОстатков.Номенклатура
| И вт_ОборотыОстатков.ХарактеристикаНоменклатуры = вт_ОстаткиОстатков.ХарактеристикаНоменклатуры
| И вт_ОборотыОстатков.Склад = вт_ОстаткиОстатков.Склад"
Показать
(11)Потому что по заказу много оборотов по одной номенклатуре, а мне нужен итог (сколько было до начала выполнения заказа, сколько по нему прихода, расхода, сколько получилось). Если брать таблицу остатков и оборотов, а затем сгруппировать и просуммировать колонки, то в начальном и конечном остатке неверные данные получатся.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот