Две строки по остаткам и оборотам в одну, как?
Привет. такая ситуация. Выводим остатки и приход - расход. Но они идут в разных строках, как их можно схлопнуть?
Вообще такая ситуация, при выводе строки в первом пакетном запросе я вывожу регистратор как типзначения, конечно оно тут не схлопнется, ведь есть продажи и есть возвраты и поступлении, но во втором пакетном запросе уже без регистратора тоже не схлопывается
Вообще такая ситуация, при выводе строки в первом пакетном запросе я вывожу регистратор как типзначения, конечно оно тут не схлопнется, ведь есть продажи и есть возвраты и поступлении, но во втором пакетном запросе уже без регистратора тоже не схлопывается
Прикрепленные файлы:
По теме из базы знаний
- Конструирование аналитической структуры плана счетов в программе «1С:Бухгалтерия 8» с целью обеспечения достоверности финансовой отчетности
- Продажи без дублей по маркам. Сведение остатков в магазинах с остатками в ЕГАИС. Декларации по Форме 11 и Форме 12 по данным 1С.Розница 2.2 и др. программ и источников.
- Запрос для получения остатков по дням даже если не было движений
- Как эффективно настроить autovacuum в Postgres для 1С
- Модель СКД
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Спасибо всем кто ответил - не сработало. две строки не схлопываются при группировке и сумме. Мне надо была сразу написать что это конечно было сделано
Конфигурация УТП, вот запрос
Конфигурация УТП, вот запрос
ВЫБРАТЬ
РегламентированныйПроизводственныйКалендарь.ДатаКалендаря
ПОМЕСТИТЬ ДатаКалендаря
ИЗ
РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
ГДЕ
РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &ДатаНач И &ДатаКон
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ_Дни.ДатаКалендаря,
ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.Склад, """") КАК Склад,
ТоварыНаСкладахОстаткиИОбороты.Номенклатура.Код КАК code,
ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура,
ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток КАК beg_rest,
СУММА(ВЫБОР
КОГДА ТоварыНаСкладахОбороты.КоличествоРасход < 0
ТОГДА -ТоварыНаСкладахОбороты.КоличествоРасход
ИНАЧЕ ТоварыНаСкладахОбороты.КоличествоПриход
КОНЕЦ) КАК in_qty,
СУММА(ВЫБОР
КОГДА ТоварыНаСкладахОбороты.КоличествоРасход < 0
ТОГДА 0
ИНАЧЕ ТоварыНаСкладахОбороты.КоличествоРасход
КОНЕЦ) КАК out_qty,
ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток КАК end_rest,
ТИПЗНАЧЕНИЯ(ТоварыНаСкладахОбороты.Регистратор) КАК ТипДок
ПОМЕСТИТЬ ВТ_Остатки
ИЗ
ДатаКалендаря КАК ВТ_Дни
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(
&ДатаНач,
КОНЕЦПЕРИОДА(&ДатаКон, ДЕНЬ),
Авто,
ДвиженияИГраницыПериода,
Склад = &ВыбСклад
И Номенклатура В ИЕРАРХИИ (&СписокНоменклатуры)) КАК ТоварыНаСкладахОстаткиИОбороты
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Обороты(
&ДатаНач,
КОНЕЦПЕРИОДА(&ДатаКон, ДЕНЬ),
Авто,
Склад = &ВыбСклад
И Номенклатура В ИЕРАРХИИ (&СписокНоменклатуры)) КАК ТоварыНаСкладахОбороты
ПО ТоварыНаСкладахОстаткиИОбороты.Номенклатура = ТоварыНаСкладахОбороты.Номенклатура
ПО ВТ_Дни.ДатаКалендаря = ТоварыНаСкладахОстаткиИОбороты.ПериодДень
ГДЕ
НЕ ТоварыНаСкладахОстаткиИОбороты.Номенклатура ЕСТЬ NULL
СГРУППИРОВАТЬ ПО
ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
ТоварыНаСкладахОстаткиИОбороты.Склад,
ТИПЗНАЧЕНИЯ(ТоварыНаСкладахОбороты.Регистратор),
ВТ_Дни.ДатаКалендаря,
ТоварыНаСкладахОстаткиИОбороты.Номенклатура.Код,
ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток,
ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ_Остатки.ДатаКалендаря КАК ДатаКалендаря,
ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
СУММА(ЦеныНоменклатурыСрезПоследних.Цена * ВТ_Остатки.beg_rest) КАК beg_amount,
СУММА(ЦеныНоменклатурыСрезПоследних.Цена * ВТ_Остатки.in_qty) КАК in_amount,
СУММА(ЦеныНоменклатурыСрезПоследних.Цена * ВТ_Остатки.out_qty) КАК out_amount,
СУММА(ЦеныНоменклатурыСрезПоследних.Цена * ВТ_Остатки.end_rest) КАК end_amount,
ЦеныНоменклатурыСрезПоследних.ТипЦен,
ВТ_Остатки.Склад,
ВТ_Остатки.code,
ВТ_Остатки.Номенклатура КАК Номенклатура,
ВТ_Остатки.beg_rest,
ВТ_Остатки.in_qty,
ВТ_Остатки.out_qty,
ВТ_Остатки.end_rest
ИЗ
ДатаКалендаря КАК ДатаКалендаря,
ВТ_Остатки КАК ВТ_Остатки
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(КОНЕЦПЕРИОДА(&датаКон, ДЕНЬ), ТипЦен = &ТипЦены) КАК ЦеныНоменклатурыСрезПоследних
ПО ВТ_Остатки.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
СГРУППИРОВАТЬ ПО
ВТ_Остатки.code,
ВТ_Остатки.ДатаКалендаря,
ВТ_Остатки.Номенклатура,
ЦеныНоменклатурыСрезПоследних.ТипЦен,
ВТ_Остатки.Склад,
ЦеныНоменклатурыСрезПоследних.Цена,
ВТ_Остатки.beg_rest,
ВТ_Остатки.in_qty,
ВТ_Остатки.out_qty,
ВТ_Остатки.end_rest
УПОРЯДОЧИТЬ ПО
ДатаКалендаря,
Номенклатура
Показать
(5)
СГРУППИРОВАТЬ ПО
ВТ_Остатки.code,
ВТ_Остатки.ДатаКалендаря,
ВТ_Остатки.Номенклатура,
ЦеныНоменклатурыСрезПоследних.ТипЦен,
ВТ_Остатки.Склад,
ЦеныНоменклатурыСрезПоследних.Цена,
ВТ_Остатки.beg_rest,
ВТ_Остатки.in_qty,
ВТ_Остатки.out_qty,
ВТ_Остатки.end_rest
Очевидно, вот эти поля одной строки не совпадают с полями другой строки
ВТ_Остатки.code,
ВТ_Остатки.ДатаКалендаря,
ВТ_Остатки.Номенклатура,
ЦеныНоменклатурыСрезПоследних.ТипЦен,
ВТ_Остатки.Склад,
ЦеныНоменклатурыСрезПоследних.Цена,
ВТ_Остатки.beg_rest,
ВТ_Остатки.in_qty,
ВТ_Остатки.out_qty,
ВТ_Остатки.end_rest
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот