Помогите с запросом
12.11.2012
15:34
#1
Добрый день.
Есть документ ПоступлениеДопРасходов, в нем есть текстовое поле - ТипРасходов. Хочу запросом получить сумму доп.расходов по номенклатуре, с группировкой по типу расходов. Проблема в следующем - если запрос без этой группировки, то получается одна сумма, а если с ней - совсем другая (больше, чем первая, итоговая сумма получается раза в 2-3 больше). В чем может быть проблема?
Текст запроса:
ВЫБРАТЬ РАЗЛИЧНЫЕ
РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
РеализацияТоваровУслугТовары.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
ПоступлениеДопРасходов.ТипРасходов КАК ТипРасходовТест,
РеализацияТоваровУслугТовары.ДокументПоступления КАК ДокументПоступления,
РеализацияТоваровУслугТовары.Ссылка КАК Регистратор,
РеализацияТоваровУслугТовары.СерияНоменклатуры КАК Серия,
РеализацияТоваровУслугТовары.Количество * (СРЕДНЕЕ(ПоступлениеДопРасходов.СуммаДоставкиЕвро)) КАК СтоимостьДопРасходовЕвроТест, РеализацияТоваровУслугТовары.Количество * (СРЕДНЕЕ(ПоступлениеДопРасходов.СуммаДоставкиРубли)) КАК СтоимостьДопРасходовРублиТест
ИЗ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
ПоступлениеДопРасходовТовары.Номенклатура КАК Номенклатура,
ПоступлениеДопРасходовТовары.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, ПоступлениеДопРасходовТовары.ДокументПартии КАК ДокументПоступления,
ПоступлениеДопРасходовТовары.СерияНоменклатуры КАК Серия,
ПоступлениеДопРасходовТовары.Ссылка.Содержание КАК ТипРасходов,
ВЫБОР
КОГДА ПоступлениеДопРасходовТовары.Ссылка.ВалютаДокумента.Код = "978"
ТОГДА ЕСТЬNULL(ПоступлениеДопРасходовТовары.Сумма / ПоступлениеДопРасходовТовары.Количество, 0)
ИНАЧЕ ЕСТЬNULL((ПоступлениеДопРасходовТовары.Сумма /ПоступлениеДопРасходовТовары.Количество) / КурсЕвроДоставки.Курс, 0)
КОНЕЦ КАК СуммаДоставкиЕвро,
ВЫБОР
КОГДА ПоступлениеДопРасходовТовары.Ссылка.ВалютаДокумента.Код = "978"
ТОГДА ЕСТЬNULL((ПоступлениеДопРасходовТовары.Сумма / ПоступлениеДопРасходовТовары.Количество) * КурсЕвроДоставки.Курс, 0) ИНАЧЕ ЕСТЬNULL(ПоступлениеДопРасходовТовары.Сумма / ПоступлениеДопРасходовТовары.Количество, 0)
КОНЕЦ КАК СуммаДоставкиРубли
ИЗ Документ.ПоступлениеДопРасходов.Товары КАК ПоступлениеДопРасходовТовары
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ВЫБОР
КОГДА КурсыВалют.Валюта.Код = "978"
ТОГДА НАЧАЛОПЕРИОДА(КурсыВалют.Период, ДЕНЬ)
КОНЕЦ КАК Дата,
ВЫБОР
КОГДА КурсыВалют.Валюта.Код = "978"
ТОГДА КурсыВалют.Курс
КОНЕЦ КАК Курс
ИЗ РегистрСведений.КурсыВалют КАК КурсыВалют) КАК КурсЕвроДоставки
ПО (КурсЕвроДоставки.Дата = НАЧАЛОПЕРИОДА(ПоступлениеДопРасходовТовары.Ссылка.Дата, ДЕНЬ))
ГДЕ ПоступлениеДопРасходовТовары.Количество > 1 И ПоступлениеДопРасходовТовары.Сумма > 0) КАК ПоступлениеДопРасходов
ПО (ПоступлениеДопРасходов.Номенклатура = РеализацияТоваровУслугТовары.Номенклатура)
И (ПоступлениеДопРасходов.ХарактеристикаНоменклатуры = РеализацияТоваровУслугТовары.ХарактеристикаНоменклатуры)
И (ПоступлениеДопРасходов.ДокументПоступления = РеализацияТоваровУслугТовары.ДокументПоступления)
И (ПоступлениеДопРасходов.Серия = РеализацияТоваровУслугТовары.СерияНоменклатуры)
ГДЕ РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон
СГРУППИРОВАТЬ ПО
РеализацияТоваровУслугТовары.Номенклатура,
РеализацияТоваровУслугТовары.ХарактеристикаНоменклатуры,
ПоступлениеДопРасходов.ТипРасходов,
РеализацияТоваровУслугТовары.ДокументПоступления,
РеализацияТоваровУслугТовары.Ссылка,
РеализацияТоваровУслугТовары.СерияНоменклатуры,
РеализацияТоваровУслугТовары.Количество
Есть документ ПоступлениеДопРасходов, в нем есть текстовое поле - ТипРасходов. Хочу запросом получить сумму доп.расходов по номенклатуре, с группировкой по типу расходов. Проблема в следующем - если запрос без этой группировки, то получается одна сумма, а если с ней - совсем другая (больше, чем первая, итоговая сумма получается раза в 2-3 больше). В чем может быть проблема?
Текст запроса:
ВЫБРАТЬ РАЗЛИЧНЫЕ
РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
РеализацияТоваровУслугТовары.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
ПоступлениеДопРасходов.ТипРасходов КАК ТипРасходовТест,
РеализацияТоваровУслугТовары.ДокументПоступления КАК ДокументПоступления,
РеализацияТоваровУслугТовары.Ссылка КАК Регистратор,
РеализацияТоваровУслугТовары.СерияНоменклатуры КАК Серия,
РеализацияТоваровУслугТовары.Количество * (СРЕДНЕЕ(ПоступлениеДопРасходов.СуммаДоставкиЕвро)) КАК СтоимостьДопРасходовЕвроТест, РеализацияТоваровУслугТовары.Количество * (СРЕДНЕЕ(ПоступлениеДопРасходов.СуммаДоставкиРубли)) КАК СтоимостьДопРасходовРублиТест
ИЗ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
ПоступлениеДопРасходовТовары.Номенклатура КАК Номенклатура,
ПоступлениеДопРасходовТовары.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, ПоступлениеДопРасходовТовары.ДокументПартии КАК ДокументПоступления,
ПоступлениеДопРасходовТовары.СерияНоменклатуры КАК Серия,
ПоступлениеДопРасходовТовары.Ссылка.Содержание КАК ТипРасходов,
ВЫБОР
КОГДА ПоступлениеДопРасходовТовары.Ссылка.ВалютаДокумента.Код = "978"
ТОГДА ЕСТЬNULL(ПоступлениеДопРасходовТовары.Сумма / ПоступлениеДопРасходовТовары.Количество, 0)
ИНАЧЕ ЕСТЬNULL((ПоступлениеДопРасходовТовары.Сумма /ПоступлениеДопРасходовТовары.Количество) / КурсЕвроДоставки.Курс, 0)
КОНЕЦ КАК СуммаДоставкиЕвро,
ВЫБОР
КОГДА ПоступлениеДопРасходовТовары.Ссылка.ВалютаДокумента.Код = "978"
ТОГДА ЕСТЬNULL((ПоступлениеДопРасходовТовары.Сумма / ПоступлениеДопРасходовТовары.Количество) * КурсЕвроДоставки.Курс, 0) ИНАЧЕ ЕСТЬNULL(ПоступлениеДопРасходовТовары.Сумма / ПоступлениеДопРасходовТовары.Количество, 0)
КОНЕЦ КАК СуммаДоставкиРубли
ИЗ Документ.ПоступлениеДопРасходов.Товары КАК ПоступлениеДопРасходовТовары
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ВЫБОР
КОГДА КурсыВалют.Валюта.Код = "978"
ТОГДА НАЧАЛОПЕРИОДА(КурсыВалют.Период, ДЕНЬ)
КОНЕЦ КАК Дата,
ВЫБОР
КОГДА КурсыВалют.Валюта.Код = "978"
ТОГДА КурсыВалют.Курс
КОНЕЦ КАК Курс
ИЗ РегистрСведений.КурсыВалют КАК КурсыВалют) КАК КурсЕвроДоставки
ПО (КурсЕвроДоставки.Дата = НАЧАЛОПЕРИОДА(ПоступлениеДопРасходовТовары.Ссылка.Дата, ДЕНЬ))
ГДЕ ПоступлениеДопРасходовТовары.Количество > 1 И ПоступлениеДопРасходовТовары.Сумма > 0) КАК ПоступлениеДопРасходов
ПО (ПоступлениеДопРасходов.Номенклатура = РеализацияТоваровУслугТовары.Номенклатура)
И (ПоступлениеДопРасходов.ХарактеристикаНоменклатуры = РеализацияТоваровУслугТовары.ХарактеристикаНоменклатуры)
И (ПоступлениеДопРасходов.ДокументПоступления = РеализацияТоваровУслугТовары.ДокументПоступления)
И (ПоступлениеДопРасходов.Серия = РеализацияТоваровУслугТовары.СерияНоменклатуры)
ГДЕ РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон
СГРУППИРОВАТЬ ПО
РеализацияТоваровУслугТовары.Номенклатура,
РеализацияТоваровУслугТовары.ХарактеристикаНоменклатуры,
ПоступлениеДопРасходов.ТипРасходов,
РеализацияТоваровУслугТовары.ДокументПоступления,
РеализацияТоваровУслугТовары.Ссылка,
РеализацияТоваровУслугТовары.СерияНоменклатуры,
РеализацияТоваровУслугТовары.Количество
12.11.2012
15:56
#2
- Что за конфигурация?
- Если конфигурация не типовая, то какая структура данных документа "ПоступлениеДопРасходов"?
- Для чего в запросе указаны данные из документа "РеализацияТоваровУслуг"?
- Зачем ищется валюта по коду?
- Если конфигурация не типовая, то какая структура данных документа "ПоступлениеДопРасходов"?
- Для чего в запросе указаны данные из документа "РеализацияТоваровУслуг"?
- Зачем ищется валюта по коду?
12.11.2012
16:16
#3
Конфигурация - КА 1.1.18.1, документ ПоступлениеДопРасходов отличается от стандартного только этим текстовым полем ТипРасходов(Содержание)
Реализация затем, чтобы видеть цену продажи.
Валюта ищется, чтобы посчитать стоимость по курсу дня поступления.
Реализация затем, чтобы видеть цену продажи.
Валюта ищется, чтобы посчитать стоимость по курсу дня поступления.
12.11.2012
16:32
#4
- "ТипРасходов" это реквизит документа или таб.части "Товары"?
- Сумма, которую нужно посчитать это не "Сумма" из таб.части "Товары"?
- Вы запрос в консоли запросов делаете? Он не открывается конструктором даже если это поле добавить. Присоедините к сообщению файл консоли запросов.
- Сумма, которую нужно посчитать это не "Сумма" из таб.части "Товары"?
- Вы запрос в консоли запросов делаете? Он не открывается конструктором даже если это поле добавить. Присоедините к сообщению файл консоли запросов.
Читают тему
(гостей: 1)