Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
12 Дек 2017, 09:46
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: 8.2 СКД запрос с выводом итогов только по определенным группировкам  (Прочитано 1401 раз)

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

Оффлайн CARtMEN

  • *
  • Сообщений: 16
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-01-03
  • Сайт: 
  • Профессия: Программист 8.1
    Здравствуйте! В общем дело в том, что необходимо было сделать отчет по остаткам и движениям товаров. В отчете также необходимо было видеть документы, которыми были сделаны движения.
   
    Запрос в СКД был составлен следующий:
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ТоварыНаСкладах.Регистратор,
ТоварыНаСкладах.ВидДвижения,
ТоварыНаСкладах.Склад,
ТоварыНаСкладах.Номенклатура КАК Номенклатура,
СУММА(ТоварыНаСкладах.Количество) КАК Количество,
ТоварыНаСкладах.Период
ПОМЕСТИТЬ ВтОбороты
ИЗ
РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах
ГДЕ
ТоварыНаСкладах.Период МЕЖДУ &ДатаОт И &ДатаПо

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ТоварыНаСкладахОстатки.Склад,
ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
ЕСТЬNULL(ВтОбороты.Регистратор, "") КАК Документ,
ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК ЦенаЗакупки,
ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних1.Цена, 0) КАК ЦенаПродажи,
СУММА(ТоварыНаСкладахОстатки.КоличествоОстаток) КАК СальдоНаНачалоКоличество,
СУММА(ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) * ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0)) КАК СальдоНаНачалоСумма,
СУММА(ВЫБОР
КОГДА ЕСТЬNULL(ВтОбороты.Количество, 0) <> 0
И ВтОбороты.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
ТОГДА ВтОбороты.Количество
ИНАЧЕ 0
КОНЕЦ) КАК ПриходКоличество,
СУММА(ВЫБОР
КОГДА ЕСТЬNULL(ВтОбороты.Количество, 0) <> 0
И ВтОбороты.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
ТОГДА ВтОбороты.Количество
ИНАЧЕ 0
КОНЕЦ) КАК РасходКоличество,
СУММА(ВЫБОР
КОГДА ЕСТЬNULL(ВтОбороты.Количество, 0) <> 0
И ВтОбороты.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
И (ВтОбороты.Регистратор ССЫЛКА Документ.ОтчетОРозничныхПродажах
ИЛИ ВтОбороты.Регистратор ССЫЛКА Документ.ЧекККМ
ИЛИ ВтОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваров)
ТОГДА ВтОбороты.Количество
ИНАЧЕ 0
КОНЕЦ) КАК РеализацияКоличество,
СУММА(ВЫБОР
КОГДА ЕСТЬNULL(ВтОбороты.Количество, 0) <> 0
И ВтОбороты.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
ТОГДА ВтОбороты.Количество * ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0)
ИНАЧЕ 0
КОНЕЦ) КАК ПриходСумма,
СУММА(ВЫБОР
КОГДА ЕСТЬNULL(ВтОбороты.Количество, 0) <> 0
И ВтОбороты.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
ТОГДА ВтОбороты.Количество * ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0)
ИНАЧЕ 0
КОНЕЦ) КАК РасходСумма,
СУММА(ВЫБОР
КОГДА ЕСТЬNULL(ВтОбороты.Количество, 0) <> 0
И ВтОбороты.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
И (ВтОбороты.Регистратор ССЫЛКА Документ.ОтчетОРозничныхПродажах
ИЛИ ВтОбороты.Регистратор ССЫЛКА Документ.ЧекККМ
ИЛИ ВтОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваров)
ТОГДА ВтОбороты.Количество * ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0)
ИНАЧЕ 0
КОНЕЦ) КАК РеализацияСумма,
СУММА(ТоварыНаСкладахОстатки.КоличествоОстаток + ВЫБОР
КОГДА ЕСТЬNULL(ВтОбороты.Количество, 0) <> 0
И ВтОбороты.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
ТОГДА ВтОбороты.Количество
ИНАЧЕ -ВтОбороты.Количество
КОНЕЦ) КАК СальдоНаКонецКоличество,
ТоварыНаСкладахОстатки.КоличествоОстаток * ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) + ВЫБОР
КОГДА ЕСТЬNULL(ВтОбороты.Количество, 0) <> 0
И ВтОбороты.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
ТОГДА ВтОбороты.Количество * ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0)
ИНАЧЕ -(ВтОбороты.Количество * ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0))
КОНЕЦ КАК СальдоНаКонецСумма,
ЕСТЬNULL(ВтОбороты.Период, "") КАК Период
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаОт, ) КАК ТоварыНаСкладахОстатки
ЛЕВОЕ СОЕДИНЕНИЕ ВтОбороты КАК ВтОбороты
ПО ТоварыНаСкладахОстатки.Склад = ВтОбороты.Склад
И ТоварыНаСкладахОстатки.Номенклатура = ВтОбороты.Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаПо, ) КАК ЦеныНоменклатурыСрезПоследних
ПО ТоварыНаСкладахОстатки.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
И ТоварыНаСкладахОстатки.Склад.Магазин.ВидЦеныПрихода = ЦеныНоменклатурыСрезПоследних.ВидЦены
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаПо, ) КАК ЦеныНоменклатурыСрезПоследних1
ПО ТоварыНаСкладахОстатки.Номенклатура = ЦеныНоменклатурыСрезПоследних1.Номенклатура
И ТоварыНаСкладахОстатки.Склад.Магазин.ВидЦеныПродажи = ЦеныНоменклатурыСрезПоследних1.ВидЦены

СГРУППИРОВАТЬ ПО
ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0),
ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних1.Цена, 0),
ТоварыНаСкладахОстатки.Склад,
ТоварыНаСкладахОстатки.Номенклатура,
ЕСТЬNULL(ВтОбороты.Регистратор, ""),
ЕСТЬNULL(ВтОбороты.Период, ""),
ТоварыНаСкладахОстатки.КоличествоОстаток * ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) + ВЫБОР
КОГДА ЕСТЬNULL(ВтОбороты.Количество, 0) <> 0
И ВтОбороты.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
ТОГДА ВтОбороты.Количество * ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0)
ИНАЧЕ -(ВтОбороты.Количество * ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0))
КОНЕЦ
    Но тут проблема появилась в том, что итоги по остатка запрос показывает неправильные. Т.к. строки с выводимыми документами дублируют показатели остатков.
   
    Буду рад советам и критике.


Теги: скд 
 

Как можно подставлять цену из регистра сведений "Цены поставщиков" в документ"ПоступлениеТоваров" на актуальную дату? Необходимо использовать запрос в решении.

Автор Елена6666666666Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 14
Просмотров: 9330
Последний ответ 24 Окт 2014, 13:30
от cska-fanat-kz
Запрос Параметры для "ИЗ"

Автор БерезинРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 2990
Последний ответ 15 Май 2013, 23:27
от Березин
Что быстрее: Загрузить табличную часть в запрос и там добавить колонки, или пробежаться циклом по ТЧ и добавить значения в колонки

Автор ZeedРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 977
Последний ответ 11 Июл 2016, 09:00
от vitasw
Запрос по обработке "Согласование заявок"

Автор DenielAkreedРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 678
Последний ответ 29 Сен 2016, 02:39
от DenielAkreed
8.2 Бух. Запрос с условием "комментарий содержит текст"

Автор bolobolРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 13
Просмотров: 16513
Последний ответ 02 Сен 2011, 01:14
от bolobol

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
168 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
55 Сообщений
alex0402
46 Сообщений
andron81_81
42 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
BuhRust
29 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 716
  • Точка Скрытых: 0
  • Точка Пользователей: 11
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal