Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
28 мар 2024, 23:38

Неправильный расчет в запросе

Автор HaIIpuKoJIe, 15 авг 2018, 15:28

0 Пользователей и 1 гость просматривают эту тему.

HaIIpuKoJIe

Добрый день. Я новичок, не могу разобраться с запросом.
ВЫБРАТЬ
ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
ТоварыНаСкладахОстаткиИОбороты.Характеристика,
СУММА(ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход) КАК ВНаличииРасход,
СУММА(0) КАК СтоимостьЕденицы
ПОМЕСТИТЬ втСтоимость
ИЗ
РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(, , Авто, , ) КАК ТоварыНаСкладахОстаткиИОбороты

СГРУППИРОВАТЬ ПО
ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
ТоварыНаСкладахОстаткиИОбороты.Характеристика

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
Закупки.АналитикаУчетаНоменклатуры.Номенклатура,
Закупки.АналитикаУчетаНоменклатуры.Характеристика,
СУММА(0),
СУММА(Закупки.Сумма / Закупки.Количество)
ИЗ
РегистрНакопления.Закупки КАК Закупки

СГРУППИРОВАТЬ ПО
Закупки.АналитикаУчетаНоменклатуры.Номенклатура,
Закупки.АналитикаУчетаНоменклатуры.Характеристика
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
втСтоимость.Номенклатура,
втСтоимость.Характеристика,
СУММА(втСтоимость.ВНаличииРасход) КАК ВНаличииРасход,
СУММА(втСтоимость.СтоимостьЕденицы) КАК СтоимостьЕденицы,
СУММА(втСтоимость.СтоимостьЕденицы * втСтоимость.ВНаличииРасход) КАК СредняяСтоимость
ИЗ
втСтоимость КАК втСтоимость

СГРУППИРОВАТЬ ПО
втСтоимость.Номенклатура,
втСтоимость.Характеристика

Почему "СУММА(втСтоимость.СтоимостьЕденицы * втСтоимость.ВНаличииРасход) КАК СредняяСтоимость" возвращает ноль?

alexandr_ll

Цитата: HaIIpuKoJIe от 15 авг 2018, 15:28
Добрый день. Я новичок, не могу разобраться с запросом.
ВЫБРАТЬ
ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
ТоварыНаСкладахОстаткиИОбороты.Характеристика,
СУММА(ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход) КАК ВНаличииРасход,
СУММА(0) КАК СтоимостьЕденицы
ПОМЕСТИТЬ втСтоимость
ИЗ
РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(, , Авто, , ) КАК ТоварыНаСкладахОстаткиИОбороты

СГРУППИРОВАТЬ ПО
ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
ТоварыНаСкладахОстаткиИОбороты.Характеристика

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
Закупки.АналитикаУчетаНоменклатуры.Номенклатура,
Закупки.АналитикаУчетаНоменклатуры.Характеристика,
СУММА(0),
СУММА(Закупки.Сумма / Закупки.Количество)
ИЗ
РегистрНакопления.Закупки КАК Закупки

СГРУППИРОВАТЬ ПО
Закупки.АналитикаУчетаНоменклатуры.Номенклатура,
Закупки.АналитикаУчетаНоменклатуры.Характеристика
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
втСтоимость.Номенклатура,
втСтоимость.Характеристика,
СУММА(втСтоимость.ВНаличииРасход) КАК ВНаличииРасход,
СУММА(втСтоимость.СтоимостьЕденицы) КАК СтоимостьЕденицы,
СУММА(втСтоимость.СтоимостьЕденицы * втСтоимость.ВНаличииРасход) КАК СредняяСтоимость
ИЗ
втСтоимость КАК втСтоимость

СГРУППИРОВАТЬ ПО
втСтоимость.Номенклатура,
втСтоимость.Характеристика

Почему "СУММА(втСтоимость.СтоимостьЕденицы * втСтоимость.ВНаличииРасход) КАК СредняяСтоимость" возвращает ноль?
Как минимум - один из сомножителей равен нулю

HaIIpuKoJIe

Цитата: alexandr_ll от 15 авг 2018, 15:37
Цитата: HaIIpuKoJIe от 15 авг 2018, 15:28
Добрый день. Я новичок, не могу разобраться с запросом.
ВЫБРАТЬ
ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
ТоварыНаСкладахОстаткиИОбороты.Характеристика,
СУММА(ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход) КАК ВНаличииРасход,
СУММА(0) КАК СтоимостьЕденицы
ПОМЕСТИТЬ втСтоимость
ИЗ
РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(, , Авто, , ) КАК ТоварыНаСкладахОстаткиИОбороты

СГРУППИРОВАТЬ ПО
ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
ТоварыНаСкладахОстаткиИОбороты.Характеристика

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
Закупки.АналитикаУчетаНоменклатуры.Номенклатура,
Закупки.АналитикаУчетаНоменклатуры.Характеристика,
СУММА(0),
СУММА(Закупки.Сумма / Закупки.Количество)
ИЗ
РегистрНакопления.Закупки КАК Закупки

СГРУППИРОВАТЬ ПО
Закупки.АналитикаУчетаНоменклатуры.Номенклатура,
Закупки.АналитикаУчетаНоменклатуры.Характеристика
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
втСтоимость.Номенклатура,
втСтоимость.Характеристика,
СУММА(втСтоимость.ВНаличииРасход) КАК ВНаличииРасход,
СУММА(втСтоимость.СтоимостьЕденицы) КАК СтоимостьЕденицы,
СУММА(втСтоимость.СтоимостьЕденицы * втСтоимость.ВНаличииРасход) КАК СредняяСтоимость
ИЗ
втСтоимость КАК втСтоимость

СГРУППИРОВАТЬ ПО
втСтоимость.Номенклатура,
втСтоимость.Характеристика

Почему "СУММА(втСтоимость.СтоимостьЕденицы * втСтоимость.ВНаличииРасход) КАК СредняяСтоимость" возвращает ноль?
Как минимум - один из сомножителей равен нулю
Так на скрине же видно что втСтоимость.СтоимостьЕденицы и втСтоимость.ВНаличииРасход не равны нулю у позиции Асбестовый лист
0,166 и 1600

alex0402

в одном подзапросе

Цитата: HaIIpuKoJIe от 15 авг 2018, 15:42СУММА(0) КАК СтоимостьЕденицы

в другом
Цитата: HaIIpuKoJIe от 15 авг 2018, 15:42СУММА(0),
(ВНаличииРасход)

произведение 0.
Спасибо за Сказать спасибо

KOI8-R

Цитата: HaIIpuKoJIe от 15 авг 2018, 15:42
Цитата: alexandr_ll от 15 авг 2018, 15:37
Цитата: HaIIpuKoJIe от 15 авг 2018, 15:28
Добрый день. Я новичок, не могу разобраться с запросом.
ВЫБРАТЬ
ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
ТоварыНаСкладахОстаткиИОбороты.Характеристика,
СУММА(ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход) КАК ВНаличииРасход,
СУММА(0) КАК СтоимостьЕденицы
ПОМЕСТИТЬ втСтоимость
ИЗ
РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(, , Авто, , ) КАК ТоварыНаСкладахОстаткиИОбороты

СГРУППИРОВАТЬ ПО
ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
ТоварыНаСкладахОстаткиИОбороты.Характеристика

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
Закупки.АналитикаУчетаНоменклатуры.Номенклатура,
Закупки.АналитикаУчетаНоменклатуры.Характеристика,
СУММА(0),
СУММА(Закупки.Сумма / Закупки.Количество)
ИЗ
РегистрНакопления.Закупки КАК Закупки

СГРУППИРОВАТЬ ПО
Закупки.АналитикаУчетаНоменклатуры.Номенклатура,
Закупки.АналитикаУчетаНоменклатуры.Характеристика
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
втСтоимость.Номенклатура,
втСтоимость.Характеристика,
СУММА(втСтоимость.ВНаличииРасход) КАК ВНаличииРасход,
СУММА(втСтоимость.СтоимостьЕденицы) КАК СтоимостьЕденицы,
СУММА(втСтоимость.СтоимостьЕденицы * втСтоимость.ВНаличииРасход) КАК СредняяСтоимость
ИЗ
втСтоимость КАК втСтоимость

СГРУППИРОВАТЬ ПО
втСтоимость.Номенклатура,
втСтоимость.Характеристика

Почему "СУММА(втСтоимость.СтоимостьЕденицы * втСтоимость.ВНаличииРасход) КАК СредняяСтоимость" возвращает ноль?
Как минимум - один из сомножителей равен нулю
Так на скрине же видно что втСтоимость.СтоимостьЕденицы и втСтоимость.ВНаличииРасход не равны нулю у позиции Асбестовый лист
0,166 и 1600
потому что по запросу вы сначала считаете сумму, а потом группируете. После первого пакета сделайте временную таблицу в которой произведите группировку, а уже в третьем пакете считайте. И на будущее - пишется едИница, а не едЕница.

LexaK

какой-то странный у вас запрос, (вообще данные из регистра, остатки/обороты - не суммирую, ну да ладно каждый гкодит как может)
а ошибка у вас в этой строке

СУММА(втСтоимость.СтоимостьЕденицы * втСтоимость.ВНаличииРасход) КАК СредняяСтоимость


в вашем случае надо делать так (две суммы)

СУММА(втСтоимость.СтоимостьЕденицы) * СУММА(втСтоимость.ВНаличииРасход) КАК СредняяСтоимость
если помогло нажмите: Спасибо!

HaIIpuKoJIe

Цитата: LexaK от 15 авг 2018, 16:10
какой-то странный у вас запрос, (вообще данные из регистра, остатки/обороты - не суммирую, ну да ладно каждый гкодит как может)
а ошибка у вас в этой строке

СУММА(втСтоимость.СтоимостьЕденицы * втСтоимость.ВНаличииРасход) КАК СредняяСтоимость


в вашем случае надо делать так (две суммы)

СУММА(втСтоимость.СтоимостьЕденицы) * СУММА(втСтоимость.ВНаличииРасход) КАК СредняяСтоимость

Почему не суммируете? Мне например нужно получить расход материалов за определенный период.
СУММА(втСтоимость.СтоимостьЕденицы) * СУММА(втСтоимость.ВНаличииРасход) КАК СредняяСтоимость
Поле не входит в группу "втСтоимость.СтоимостьЕдиницы"
Добавлено: 16 авг 2018, 09:22


Цитата: KOI8-R от 15 авг 2018, 16:01
Цитата: HaIIpuKoJIe от 15 авг 2018, 15:42
Цитата: alexandr_ll от 15 авг 2018, 15:37
Цитата: HaIIpuKoJIe от 15 авг 2018, 15:28
Добрый день. Я новичок, не могу разобраться с запросом.
ВЫБРАТЬ
ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
ТоварыНаСкладахОстаткиИОбороты.Характеристика,
СУММА(ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход) КАК ВНаличииРасход,
СУММА(0) КАК СтоимостьЕденицы
ПОМЕСТИТЬ втСтоимость
ИЗ
РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(, , Авто, , ) КАК ТоварыНаСкладахОстаткиИОбороты

СГРУППИРОВАТЬ ПО
ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
ТоварыНаСкладахОстаткиИОбороты.Характеристика

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
Закупки.АналитикаУчетаНоменклатуры.Номенклатура,
Закупки.АналитикаУчетаНоменклатуры.Характеристика,
СУММА(0),
СУММА(Закупки.Сумма / Закупки.Количество)
ИЗ
РегистрНакопления.Закупки КАК Закупки

СГРУППИРОВАТЬ ПО
Закупки.АналитикаУчетаНоменклатуры.Номенклатура,
Закупки.АналитикаУчетаНоменклатуры.Характеристика
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
втСтоимость.Номенклатура,
втСтоимость.Характеристика,
СУММА(втСтоимость.ВНаличииРасход) КАК ВНаличииРасход,
СУММА(втСтоимость.СтоимостьЕденицы) КАК СтоимостьЕденицы,
СУММА(втСтоимость.СтоимостьЕденицы * втСтоимость.ВНаличииРасход) КАК СредняяСтоимость
ИЗ
втСтоимость КАК втСтоимость

СГРУППИРОВАТЬ ПО
втСтоимость.Номенклатура,
втСтоимость.Характеристика

Почему "СУММА(втСтоимость.СтоимостьЕденицы * втСтоимость.ВНаличииРасход) КАК СредняяСтоимость" возвращает ноль?
Как минимум - один из сомножителей равен нулю
Так на скрине же видно что втСтоимость.СтоимостьЕденицы и втСтоимость.ВНаличииРасход не равны нулю у позиции Асбестовый лист
0,166 и 1600
потому что по запросу вы сначала считаете сумму, а потом группируете. После первого пакета сделайте временную таблицу в которой произведите группировку, а уже в третьем пакете считайте. И на будущее - пишется едИница, а не едЕница.
Спасибо. Так завелось, просто я буквально вчера познакомился с временными таблицами и еще не знаю многих приемов.
ВЫБРАТЬ
ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
ТоварыНаСкладахОстаткиИОбороты.Характеристика,
СУММА(ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход) КАК ВНаличииРасход,
СУММА(0) КАК СтоимостьЕдиницы
ПОМЕСТИТЬ втСтоимость
ИЗ
РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(, , Авто, , ) КАК ТоварыНаСкладахОстаткиИОбороты

СГРУППИРОВАТЬ ПО
ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
ТоварыНаСкладахОстаткиИОбороты.Характеристика

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
Закупки.АналитикаУчетаНоменклатуры.Номенклатура,
Закупки.АналитикаУчетаНоменклатуры.Характеристика,
СУММА(0),
СУММА(Закупки.Сумма / Закупки.Количество)
ИЗ
РегистрНакопления.Закупки КАК Закупки

СГРУППИРОВАТЬ ПО
Закупки.АналитикаУчетаНоменклатуры.Номенклатура,
Закупки.АналитикаУчетаНоменклатуры.Характеристика
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
втСтоимость.Номенклатура,
втСтоимость.Характеристика,
СУММА(втСтоимость.ВНаличииРасход) КАК ВНаличииРасход,
СУММА(втСтоимость.СтоимостьЕдиницы) КАК СтоимостьЕдиницы
ПОМЕСТИТЬ втСтоимость2
ИЗ
втСтоимость КАК втСтоимость

СГРУППИРОВАТЬ ПО
втСтоимость.Номенклатура,
втСтоимость.Характеристика
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
втСтоимость2.Номенклатура,
втСтоимость2.Характеристика,
втСтоимость2.ВНаличииРасход,
втСтоимость2.СтоимостьЕдиницы,
втСтоимость2.СтоимостьЕдиницы * втСтоимость2.ВНаличииРасход КАК Поле1
ИЗ
втСтоимость2 КАК втСтоимость2

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск