|
Помогите с запросом для СКД | ☑ | ||
---|---|---|---|---|
0
Nikart
13.03.12
✎
13:15
|
УТ 10.3. В отчёте нужно вытащить количество товара, закупочную и розничную суммы. Составил следующий запрос для использования в СКД:
ВЫБРАТЬ ПартииНаСкладах.Период, ТИПЗНАЧЕНИЯ(ПартииНаСкладах.Регистратор) КАК ТипРегистратора, ПартииНаСкладах.Регистратор, ПартииНаСкладах.Номенклатура, ПартииНаСкладах.Склад, ПартииНаСкладах.ХарактеристикаНоменклатуры, ПартииНаСкладах.СерияНоменклатуры, ПартииНаСкладах.Качество, ПартииНаСкладах.КоличествоНачальныйОстаток, ПартииНаСкладах.СтоимостьНачальныйОстаток КАК ЗакупкаНачальныйОстаток, ТоварыВРознице.СуммаПродажнаяНачальныйОстаток КАК РозницаНачальныйОстаток, ПартииНаСкладах.КоличествоПриход, ПартииНаСкладах.СтоимостьПриход КАК ЗакупкаПриход, //ТоварыВРознице.СуммаПродажнаяПриход КАК Розницаприход, ВЫБОР КОГДА ТоварыВРознице.СуммаПродажнаяРасход < 0 И ПартииНаСкладах.СтоимостьРасход = 0 ТОГДА ТоварыВРознице.СуммаПродажнаяРасход * -1 ИНАЧЕ ТоварыВРознице.СуммаПродажнаяПриход КОНЕЦ КАК РозницаПриход, ПартииНаСкладах.КоличествоРасход, ПартииНаСкладах.СтоимостьРасход КАК ЗакупкаРасход, ВЫБОР КОГДА ТоварыВРознице.СуммаПродажнаяРасход < 0 И ПартииНаСкладах.СтоимостьРасход = 0 //ЕСТЬNULL(ПартииНаСкладах.СтоимостьРасход, 0) <> 0 ТОГДА 0 ИНАЧЕ ТоварыВРознице.СуммаПродажнаяРасход КОНЕЦ КАК РозницаРасход, //ТоварыВРознице.СуммаПродажнаяРасход КАК РозницаРасход, ПартииНаСкладах.КоличествоКонечныйОстаток, ПартииНаСкладах.СтоимостьКонечныйОстаток КАК ЗакупкаКонечныйОстаток, ТоварыВРознице.СуммаПродажнаяКонечныйОстаток КАК РозницаКонечныйОстаток, ПартииНаСкладах.КоличествоОборот, ПартииНаСкладах.СтоимостьОборот КАК ЗакупкаОборот, ТоварыВРознице.СуммаПродажнаяОборот КАК РозницаОборот ИЗ (ВЫБРАТЬ ПартииТоваровНаСкладахОстаткиИОбороты.Период КАК Период, ПартииТоваровНаСкладахОстаткиИОбороты.Регистратор КАК Регистратор, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты.Склад КАК Склад, ПартииТоваровНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, ПартииТоваровНаСкладахОстаткиИОбороты.СерияНоменклатуры КАК СерияНоменклатуры, ПартииТоваровНаСкладахОстаткиИОбороты.Качество КАК Качество, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоОборот) КАК КоличествоОборот, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход) КАК КоличествоПриход, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоРасход) КАК КоличествоРасход, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьНачальныйОстаток) КАК СтоимостьНачальныйОстаток, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьКонечныйОстаток) КАК СтоимостьКонечныйОстаток, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьОборот) КАК СтоимостьОборот, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьПриход) КАК СтоимостьПриход, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьРасход) КАК СтоимостьРасход ИЗ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&ДатаНачала, &ДатаКонца, Регистратор, Движения, ) КАК ПартииТоваровНаСкладахОстаткиИОбороты СГРУППИРОВАТЬ ПО ПартииТоваровНаСкладахОстаткиИОбороты.Период, ПартииТоваровНаСкладахОстаткиИОбороты.Регистратор, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты.Склад, ПартииТоваровНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры, ПартииТоваровНаСкладахОстаткиИОбороты.СерияНоменклатуры, ПартииТоваровНаСкладахОстаткиИОбороты.Качество) КАК ПартииНаСкладах ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ТоварыВРозницеОстаткиИОбороты.Период КАК Период, ТоварыВРозницеОстаткиИОбороты.Регистратор КАК Регистратор, ТоварыВРозницеОстаткиИОбороты.Склад КАК Склад, ТоварыВРозницеОстаткиИОбороты.Номенклатура КАК Номенклатура, ТоварыВРозницеОстаткиИОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, ТоварыВРозницеОстаткиИОбороты.СерияНоменклатуры КАК СерияНоменклатуры, ТоварыВРозницеОстаткиИОбороты.Качество КАК Качество, СУММА(ТоварыВРозницеОстаткиИОбороты.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток, СУММА(ТоварыВРозницеОстаткиИОбороты.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток, СУММА(ТоварыВРозницеОстаткиИОбороты.КоличествоОборот) КАК КоличествоОборот, СУММА(ТоварыВРозницеОстаткиИОбороты.КоличествоПриход) КАК КоличествоПриход, СУММА(ТоварыВРозницеОстаткиИОбороты.КоличествоРасход) КАК КоличествоРасход, СУММА(ТоварыВРозницеОстаткиИОбороты.СуммаПродажнаяНачальныйОстаток) КАК СуммаПродажнаяНачальныйОстаток, СУММА(ТоварыВРозницеОстаткиИОбороты.СуммаПродажнаяКонечныйОстаток) КАК СуммаПродажнаяКонечныйОстаток, СУММА(ТоварыВРозницеОстаткиИОбороты.СуммаПродажнаяОборот) КАК СуммаПродажнаяОборот, СУММА(ТоварыВРозницеОстаткиИОбороты.СуммаПродажнаяПриход) КАК СуммаПродажнаяПриход, СУММА(ТоварыВРозницеОстаткиИОбороты.СуммаПродажнаяРасход) КАК СуммаПродажнаяРасход ИЗ РегистрНакопления.ТоварыВРознице.ОстаткиИОбороты(&ДатаНачала, &ДатаКонца, Регистратор, Движения, ) КАК ТоварыВРозницеОстаткиИОбороты СГРУППИРОВАТЬ ПО ТоварыВРозницеОстаткиИОбороты.Период, ТоварыВРозницеОстаткиИОбороты.Регистратор, ТоварыВРозницеОстаткиИОбороты.Склад, ТоварыВРозницеОстаткиИОбороты.Номенклатура, ТоварыВРозницеОстаткиИОбороты.ХарактеристикаНоменклатуры, ТоварыВРозницеОстаткиИОбороты.СерияНоменклатуры, ТоварыВРозницеОстаткиИОбороты.Качество) КАК ТоварыВРознице ПО ПартииНаСкладах.Период = ТоварыВРознице.Период И ПартииНаСкладах.Регистратор = ТоварыВРознице.Регистратор И ПартииНаСкладах.Номенклатура = ТоварыВРознице.Номенклатура И ПартииНаСкладах.Склад = ТоварыВРознице.Склад И ПартииНаСкладах.ХарактеристикаНоменклатуры = ТоварыВРознице.ХарактеристикаНоменклатуры УПОРЯДОЧИТЬ ПО ТипРегистратора Вот только не доганяю как обходится проблема с начальными и конечными остатками. Т.е. получается группируем в запросе по регистратору, а выводим по номенклатуре например и в начальный остаток попадает в СКД также начальный остаток по регистратору из середины периода, который просто суммируется. Что делаю не так? |
|||
1
badboychik
13.03.12
✎
13:17
|
перепиши на временные таблицы, запрос просто жесть!
|
|||
2
vicof
13.03.12
✎
13:30
|
СКД сама все сгруппирует. Заюзай несколько наборов данных и связи настрой
|
|||
3
Nikart
13.03.12
✎
13:43
|
(2) предлагаешь подзапросы отдельно в СКД запросами сделать и объединить через связи в СКД?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |