Имя: Пароль:
1C
1С v8
Не корректный результат работы запроса
,
0 zenon46
 
17.05.21
17:10
Добрый день!
Есть некая самописка, пытаюсь запросом по документам получить результат в виде списка документов с отбором по определенным условиям и суммой по табличной части рассчитанной как (количество * цену из РС). Что не так в запросе ?

ВЫБРАТЬ
    СписаниеМатериаловСоСклада.Ссылка КАК Ссылка,
    СУММА(СписаниеМатериаловСоСкладаМатериалы.Количество * ЦеныНоменклатурыСрезПоследних.Цена) КАК Сумма
ИЗ
    Документ.СписаниеМатериаловСоСклада.Материалы КАК СписаниеМатериаловСоСкладаМатериалы
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.СписаниеМатериаловСоСклада КАК СписаниеМатериаловСоСклада
        ПО (СписаниеМатериаловСоСкладаМатериалы.Ссылка = СписаниеМатериаловСоСклада.Ссылка)
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&КонДата,) КАК ЦеныНоменклатурыСрезПоследних
        ПО (ЦеныНоменклатурыСрезПоследних.Номенклатура.Ссылка = СписаниеМатериаловСоСкладаМатериалы.Номенклатура.Ссылка)
ГДЕ
    СписаниеМатериаловСоСклада.Проведен = &Проведен
    И СписаниеМатериаловСоСклада.Дата МЕЖДУ &НачДата И &КонДата
    И СписаниеМатериаловСоСклада.Заказ.Ссылка ЕСТЬ NULL
    И СписаниеМатериаловСоСклада.РасходныеМатериалы = ЛОЖЬ

СГРУППИРОВАТЬ ПО
    СписаниеМатериаловСоСклада.Ссылка

УПОРЯДОЧИТЬ ПО
    СписаниеМатериаловСоСклада.Дата
1 PuhUfa
 
17.05.21
17:16
(0) И что не так в запросе? -)
2 spiller26
 
17.05.21
17:16
(0) А что выводит то? Покажи результат этого запроса.
3 zenon46
 
17.05.21
17:17
(1) вот и я хочу узнать что не так, что результаты "на листике" не сходятся с результатами на экране. Например есть документ в нем одна позиция, количество целое, берем цену умножаем на количество получаем результат, а на выходе из запроса даже не рядом...хотя так и не по всем документам..
4 spiller26
 
17.05.21
17:19
(3) результат "на листике" прям интригующе.
5 PuhUfa
 
17.05.21
17:20
(3) ну убери для начала "Сгруппировать" и посмотри что у тебя в детальных записях
6 brainguard
 
17.05.21
17:24
(0) У тебя не левое, а внутреннее соединение со второй таблицей. Возможно, это и есть причина расхождений
7 brainguard
 
17.05.21
17:28
Вместо ПО (ЦеныНоменклатурыСрезПоследних.Номенклатура.Ссылка = СписаниеМатериаловСоСкладаМатериалы.Номенклатура.Ссылка)

ПО (ЦеныНоменклатурыСрезПоследних.Номенклатура= СписаниеМатериаловСоСкладаМатериалы.Номенклатура)
8 polosov
 
17.05.21
17:39
(0) Стаж 10 лет.
Мда.
9 hhhh
 
17.05.21
17:41
(3)    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&КонДата,) КАК ЦеныНоменклатурыСрезПоследних
        ПО (ЦеныНоменклатурыСрезПоследних.Номенклатура.Ссылка = СписаниеМатериаловСоСкладаМатериалы.Номенклатура.Ссылка)

вообще не учитываешь типы цен. Может вообще не тот тип цены подтягиваться.
10 polosov
 
17.05.21
17:44
+(8) Извиняюсь. Там клюшки головного мозга. Сам страдал с 8кой после клюшек, правда 15 лет назад.
11 zenon46
 
17.05.21
18:21
(9) оказалось именно так, уверяли что тип цен один, ан нет, пока глазами не увидел что несколько использовались когда-то...после того как указал в параметрах нужный тип цен, все стало на свои места.