Есть отчет суть которого получать данные по реализованным товарам с суммой реализации и себестоимостью (СуммаЗакуп)
Первоначально данные берутся из регистра партий.
Руководство захотело изменить схему получения себестоимости - что бы она не учитывала корректировки поступления товара (вспомогательный док)
Теперь в запросе нужно из партий брать количество и сумму реализации а сумму закупа из документа ПоступлениеТМЦ - ссылка на него есть в регистре партий.
Для этой цели я попытался левым соединением подключить таблицу документа ПоступлениеТМЦ (еще даже не вытаскивая из дока значения сумм).
| LEFT JOIN $ДокументСтроки.ПоступлениеТМЦ ДокП (nolock) ON ДокП.IDDOC = Right($ПартииНаличие.Накладная,9) AND $ПартииНаличие.Номенклатура = $ДокП.Номенклатура
Сразу после этого остальные данные стали отображать неверный результат - суммы стали больше.
Подскажите почему такое могло произойти ?
вот код запроса
ТекстЗапроса = "
|SELECT
| w.Док [Док $Документ]
|, w.Док_вид Док_вид
|, w.Товар [Товар $Справочник.Номенклатура]
|, w.Товар2 [Товар2 $Справочник.Номенклатура]
|, w.ЕдИзм as [ЕдИзм $Справочник.Единицы]
|, w.Группа as [Группа $Справочник.ГруппыНоменклатуры]
|, w.КодГруппа КодГруппа
|, w.Количество Количество
|, w.Сумма Сумма
|, w.СуммаЗакуп as СуммаЗакуп
|FROM (
|SELECT
| Жур.IDDoc Док
| , Жур.IDDocDef Док_вид
| , $ПартииНаличие.Номенклатура Товар
| , $ПартииНаличие.Номенклатура Товар2
| , $ПартииНаличие.ЕдИзм as ЕдИзм
| , $Спр.Группа as Группа
| , CAST(Replace(Спр2.Code,'.','') AS NUMERIC) as КодГруппа
| , Sum($ПартииНаличие.Количество) Количество
| , Sum($ПартииНаличие.Сумма) СуммаЗакуп
| , Sum($ПартииНаличие.Оборот) Сумма
|FROM $Регистр.ПартииНаличие AS ПартииНаличие With (NOLOCK)
| LEFT JOIN _1Sjourn as Жур (nolock) ON Жур.IDDoc = ПартииНаличие.IDDoc
| LEFT JOIN $Документ.РасходнаяНакладная as Док (nolock) ON Док.IDDoc = ПартииНаличие.IDDoc
| LEFT JOIN $Справочник.Номенклатура Спр(nolock) on Спр.[id] = $ПартииНаличие.Номенклатура
| LEFT JOIN $Справочник.ГруппыНоменклатуры Спр2(nolock) on Спр2.[id] = $Спр.Группа
//| LEFT JOIN $ДокументСтроки.ПоступлениеТМЦ ДокП (nolock) ON ДокП.IDDOC = Right($ПартииНаличие.Накладная,9) AND $ПартииНаличие.Номенклатура = $ДокП.Номенклатура
|WHERE ($ПартииНаличие.КодОперации = $Перечисление.КодыОпераций.Продажа) AND
| Жур.Date_Time_IDDoc BETWEEN :Дата1 AND :Дата2~
| and (Жур.IDDocDef = 675 OR Жур.IDDocDef = 5478)
|";
Если (СпКонтр.РазмерСписка()=0) И (ФлагК=1) Тогда
Иначе
ТекстЗапроса=ТекстЗапроса+
"
|and
| $Док.Клиент IN (SELECT Val FROM #ГруппаС)";
КонецЕсли;
ТекстЗапроса=ТекстЗапроса+
"
|GROUP BY Жур.IDDoc
| , Жур.IDDocDef
| , Спр2.Code
| , $Спр.Группа
| , $ПартииНаличие.Номенклатура
| , $ПартииНаличие.ЕдИзм
|)as w";