График с нарастанием

1. idw 344 17.07.19 12:52 Сейчас в теме
Здравствуйте. Собственно вопрос такой:
строю график с нарастанием по количеству продаж квартир в разрезе этажа квартиры и даты продажи.

Запрос такой:

ВЫБРАТЬ
	ПлощадиОбъектовНедвижимости.КоличествоЖилыхКомнат КАК Колво,
	НАЧАЛОПЕРИОДА(СтатусыОбъектов.Период, МЕСЯЦ) КАК Месяц,
	СУММА(1) КАК КолвоПродаж
ПОМЕСТИТЬ ТабПродаж
ИЗ
	Справочник.УПН_ОбъектыНедвижимости КАК ОбъектыНедвижимости
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УПН_ПлощадиОбъектовНедвижимости.СрезПоследних КАК ПлощадиОбъектовНедвижимости
		ПО (ПлощадиОбъектовНедвижимости.ОбъектНедвижимости = ОбъектыНедвижимости.Ссылка)
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УПН_СтатусыОбъектов.СрезПоследних КАК СтатусыОбъектов
		ПО ОбъектыНедвижимости.Ссылка = СтатусыОбъектов.ОбъектНедвижимости
ГДЕ
	НЕ ОбъектыНедвижимости.ПометкаУдаления
	И НЕ ОбъектыНедвижимости.ЭтоГруппа
	И ОбъектыНедвижимости.ЗданиеЗемельныйУчасток = &Здание
	И СтатусыОбъектов.Статус = &Статус

СГРУППИРОВАТЬ ПО
	ПлощадиОбъектовНедвижимости.КоличествоЖилыхКомнат,
	НАЧАЛОПЕРИОДА(СтатусыОбъектов.Период, МЕСЯЦ)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ТабПродаж.Колво КАК Колво,
	ТабПродаж.Месяц КАК Месяц,
	СУММА(ТабПродаж_Копия.КолвоПродаж) КАК КолвоПродаж
ИЗ
	ТабПродаж КАК ТабПродаж
		ЛЕВОЕ СОЕДИНЕНИЕ ТабПродаж КАК ТабПродаж_Копия
		ПО ТабПродаж.Колво = ТабПродаж_Копия.Колво
			И ТабПродаж.Месяц >= ТабПродаж_Копия.Месяц

СГРУППИРОВАТЬ ПО
	ТабПродаж.Колво,
	ТабПродаж.Месяц

УПОРЯДОЧИТЬ ПО
	Месяц,
	Колво
Показать


который складывает данные предыдущих месяцев.

График вывожу вот так:

Выборка = РезультатЗапроса.Выбрать();
	Пока Выборка.Следующий() = Истина Цикл
		Серия = Диаграмма.УстановитьСерию(Выборка.Колво);
		Серия.Текст = Строка(Выборка.Колво)+" этаж";
		Серия.Расшифровка = Выборка.Колво;

		Точка = Диаграмма.УстановитьТочку(Выборка.Месяц);
		Точка.Текст = Выборка.Месяц;
	        Точка.Расшифровка = Выборка.Месяц;
		
		Диаграмма.УстановитьЗначение(Точка, Серия, Выборка.КолвоПродаж);
		
	КонецЦикла;

Показать


Но получаю график с провалами.


Эти провалы получаются, когда нет продаж по опредленному этажу в этом месяце и получается 0.

Это хорошо видно по этой таблице:

дата этаж: кол-во проодаж:
01.05.2017 1 52
01.05.2017 2 26
01.05.2017 3 13
01.08.2017 1 53
01.09.2017 2 27
01.10.2017 1 58
01.10.2017 2 28


Как можно построить график без провалов?
Надо, чтобы если в месяце не было продаж кол-во ставилось из предыдущего месяца, но вот как это сделать в запросе?
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
19. dmurk 18.07.19 03:36 Сейчас в теме +1 $m
(1)
Как можно построить график без провалов


ВЫБРАТЬ
	ДОБАВИТЬКДАТЕ(ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ПериодНач, МЕСЯЦ), ГОД, Годы.Смещение), МЕСЯЦ, Месяцы.Смещение) КАК Месяц
ПОМЕСТИТЬ РасчетПериодов
ИЗ
	(ВЫБРАТЬ 0 КАК Смещение
	 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 1
	 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 2
	 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 3
	 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 4
	 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 5
	 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 6
	 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 7
	 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 8
	 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 9) КАК Годы, (ВЫБРАТЬ 0 КАК Смещение
										  ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 1
										  ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 2
										  ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 3
										  ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 4
										  ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 5
										  ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 6
										  ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 7
										  ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 8
										  ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 9
										  ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 10
										  ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 11) КАК Месяцы
ГДЕ
	ДОБАВИТЬКДАТЕ(ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ПериодНач, МЕСЯЦ), ГОД, Годы.Смещение), МЕСЯЦ, Месяцы.Смещение)
		МЕЖДУ НАЧАЛОПЕРИОДА(&ПериодНач, МЕСЯЦ) И КОНЕЦПЕРИОДА(&ПериодКон, МЕСЯЦ)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ТабПродаж.КоличествоЖилыхКомнат КАК Колво,
	РасчетПериодов.Месяц КАК Месяц,
	КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ТабПродаж.ОбъектНедвижимости) КАК КолвоПродаж
ИЗ
	РасчетПериодов КАК РасчетПериодов
	ЛЕВОЕ СОЕДИНЕНИЕ (
		ВЫБРАТЬ
		    ПлощадиОбъектовНедвижимости.КоличествоЖилыхКомнат КАК КоличествоЖилыхКомнат,
		    НАЧАЛОПЕРИОДА(СтатусыОбъектов.Период, МЕСЯЦ) КАК Месяц,
		    ПлощадиОбъектовНедвижимости.ОбъектНедвижимости КАК ОбъектНедвижимости
		ИЗ
		    РегистрСведений.УПН_ПлощадиОбъектовНедвижимости.СрезПоследних КАК ПлощадиОбъектовНедвижимости
		    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УПН_СтатусыОбъектов.СрезПоследних КАК СтатусыОбъектов
		    ПО ПлощадиОбъектовНедвижимости.ОбъектНедвижимости = СтатусыОбъектов.ОбъектНедвижимости
		ГДЕ
		    НЕ ПлощадиОбъектовНедвижимости.ОбъектНедвижимости.ПометкаУдаления
		    И НЕ ПлощадиОбъектовНедвижимости.ОбъектНедвижимости.ЭтоГруппа
		    И ПлощадиОбъектовНедвижимости.ОбъектНедвижимости.ЗданиеЗемельныйУчасток = &Здание
		    И СтатусыОбъектов.Статус = &Статус

		СГРУППИРОВАТЬ ПО
		    ПлощадиОбъектовНедвижимости.КоличествоЖилыхКомнат,
		    НАЧАЛОПЕРИОДА(СтатусыОбъектов.Период, МЕСЯЦ)
		) КАК ТабПродаж
    ПО РасчетПериодов.Месяц >= ТабПродаж.Месяц

СГРУППИРОВАТЬ ПО
	ТабПродаж.КоличествоЖилыхКомнат,
	РасчетПериодов.Месяц

УПОРЯДОЧИТЬ ПО
	Месяц,
	Колво
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. Dream_kz 129 17.07.19 12:59 Сейчас в теме
(1) А в запросе зачем? оно потом кодом все равно обрабатывается, вот там в цикле и запоминать значение предыдущего месяца, и если в этом месяце количество=0 то подставлять значение которое запомнили
user592655_alexbravo123; +1 Ответить
4. user623969_dusa 17.07.19 13:04 Сейчас в теме
(1)отбирайте в первом запросе данные без нулевых продаж
что-то типа условия ИМЕЮЩИЕ КолвоПродаж > 0
5. idw 344 17.07.19 13:10 Сейчас в теме
(4) в выборку не попадают продажи с нулевые. Провалы на графике из-за того, что просто в этом месяце не было вообще продаж.
6. user623969_dusa 17.07.19 13:14 Сейчас в теме
(5) да я сообразил, трудно читать запрос без консоли под рукой... вы группируете в первом запросе по этажу а в график выводите без этажа - не видете здесь противоречий - или график надо по этажам или группировать в первом без этажей, может так) и этажом надо полагать вы называете количество жилых комнат
7. idw 344 17.07.19 13:21 Сейчас в теме
(6) да, этажи, кол-во жилых комнат можно считать что это одно и тоже.
Первым запросом кол-во продаж по месяцам получаем, вторым запросом их суммируем нарастающим итогом.
10. user623969_dusa 17.07.19 13:39 Сейчас в теме
(7) если группировку этажи убрать нельзя потому что хотите видеть все этажи на одном графике значит надо делать дополнение периодов
дополняете периоды берете для пустых данные прошлого периода
и связываете три таблицы по периодам

щас попробую накидать пример запроса - нумеруем данные датами и если данных нет берем данные из прошлой записи
11. idw 344 17.07.19 13:44 Сейчас в теме
(10) так я и думал, что надо сделать, но вот с запросом не сообразил.
13. user623969_dusa 17.07.19 13:59 Сейчас в теме
(11) так мы получаем последовательность дат

ВЫБРАТЬ
0 КАК Цифра
ПОМЕСТИТЬ ВТ_Цифры

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

ВЫБРАТЬ
1

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

ВЫБРАТЬ
2

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

ВЫБРАТЬ
3

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

ВЫБРАТЬ
4

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

ВЫБРАТЬ
5

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

ВЫБРАТЬ
6

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

ВЫБРАТЬ
7

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

ВЫБРАТЬ
8

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

ВЫБРАТЬ
9
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(&ТекущийДень, ДЕНЬ, ВТ_Цифры0.Цифра + 10 * ВТ_Цифры1.Цифра + 100 * ВТ_Цифры2.Цифра) КАК Дата
ИЗ
ВТ_Цифры КАК ВТ_Цифры0
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Цифры КАК ВТ_Цифры1
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Цифры КАК ВТ_Цифры2
ПО (ИСТИНА)
ПО (ИСТИНА)
ГДЕ
ДОБАВИТЬКДАТЕ(&ТекущийДень, ДЕНЬ, ВТ_Цифры0.Цифра + 10 * ВТ_Цифры1.Цифра + 100 * ВТ_Цифры2.Цифра) МЕЖДУ &ТекущийДень И ДОБАВИТЬКДАТЕ(&ТекущийДень, ДЕНЬ, 9)
14. user623969_dusa 17.07.19 14:03 Сейчас в теме
(11) так получается запись предыдущего и с ней можно делать что хочешь - например 0 текущий заменяется на предыдущее значение

суть выбираются нужные данные период для связи
связывается с самой собой группируется по условию больше выбирается максимальный период
в третьем запросе у нас уже в строке данные текущие и предыдущие

связь дат и вот этого объединения предлагаю сделать самостоятельно)

ВЫБРАТЬ
влПоездкиВиалон.Период,
влПоездкиВиалон.Автомобиль,
СУММА(влПоездкиВиалон.Расстояние) КАК Расстояние
ПОМЕСТИТЬ ПоездкаТекущая
ИЗ
РегистрСведений.влПоездкиВиалон КАК влПоездкиВиалон
ГДЕ
влПоездкиВиалон.Период МЕЖДУ &Дата1 И &Дата2

СГРУППИРОВАТЬ ПО
влПоездкиВиалон.Период,
влПоездкиВиалон.Автомобиль
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
ПоездкаТекущая.Период КАК ПериодТекущий,
МАКСИМУМ(ПоездкаПредыдущая.Период) КАК ПериодПредыдущий
ПОМЕСТИТЬ ВТ_Даты_Текущая_Предыдущая
ИЗ
ПоездкаТекущая КАК ПоездкаТекущая
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПоездкаТекущая КАК ПоездкаПредыдущая
ПО ПоездкаТекущая.Период > ПоездкаПредыдущая.Период

СГРУППИРОВАТЬ ПО
ПоездкаТекущая.Период
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
ПоездкаТекущая.Период КАК ПоехалС,
НАЧАЛОПЕРИОДА(ВТ_Даты_Текущая_Предыдущая.ПериодТекущий, ДЕНЬ) КАК ДатаДляГруппировки,
ВЫБОР
КОГДА ПоездкаТекущая.Расстояние = 0
ТОГДА ПоездкаПредыдущая.Расстояние
ИНАЧЕ ПоездкаТекущая.Расстояние
КОНЕЦ КАК Расстояние,
ПоездкаТекущая.Расстояние КАК Расстояние1,
ПоездкаПредыдущая.Расстояние КАК Расстояние2
ИЗ
ВТ_Даты_Текущая_Предыдущая КАК ВТ_Даты_Текущая_Предыдущая
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПоездкаТекущая КАК ПоездкаТекущая
ПО ВТ_Даты_Текущая_Предыдущая.ПериодТекущий = ПоездкаТекущая.Период
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПоездкаТекущая КАК ПоездкаПредыдущая
ПО ВТ_Даты_Текущая_Предыдущая.ПериодПредыдущий = ПоездкаПредыдущая.Период

УПОРЯДОЧИТЬ ПО
ПоехалС,
ДатаДляГруппировки
15. idw 344 17.07.19 14:05 Сейчас в теме
19. dmurk 18.07.19 03:36 Сейчас в теме +1 $m
(1)
Как можно построить график без провалов


ВЫБРАТЬ
	ДОБАВИТЬКДАТЕ(ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ПериодНач, МЕСЯЦ), ГОД, Годы.Смещение), МЕСЯЦ, Месяцы.Смещение) КАК Месяц
ПОМЕСТИТЬ РасчетПериодов
ИЗ
	(ВЫБРАТЬ 0 КАК Смещение
	 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 1
	 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 2
	 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 3
	 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 4
	 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 5
	 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 6
	 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 7
	 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 8
	 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 9) КАК Годы, (ВЫБРАТЬ 0 КАК Смещение
										  ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 1
										  ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 2
										  ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 3
										  ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 4
										  ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 5
										  ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 6
										  ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 7
										  ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 8
										  ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 9
										  ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 10
										  ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 11) КАК Месяцы
ГДЕ
	ДОБАВИТЬКДАТЕ(ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ПериодНач, МЕСЯЦ), ГОД, Годы.Смещение), МЕСЯЦ, Месяцы.Смещение)
		МЕЖДУ НАЧАЛОПЕРИОДА(&ПериодНач, МЕСЯЦ) И КОНЕЦПЕРИОДА(&ПериодКон, МЕСЯЦ)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ТабПродаж.КоличествоЖилыхКомнат КАК Колво,
	РасчетПериодов.Месяц КАК Месяц,
	КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ТабПродаж.ОбъектНедвижимости) КАК КолвоПродаж
ИЗ
	РасчетПериодов КАК РасчетПериодов
	ЛЕВОЕ СОЕДИНЕНИЕ (
		ВЫБРАТЬ
		    ПлощадиОбъектовНедвижимости.КоличествоЖилыхКомнат КАК КоличествоЖилыхКомнат,
		    НАЧАЛОПЕРИОДА(СтатусыОбъектов.Период, МЕСЯЦ) КАК Месяц,
		    ПлощадиОбъектовНедвижимости.ОбъектНедвижимости КАК ОбъектНедвижимости
		ИЗ
		    РегистрСведений.УПН_ПлощадиОбъектовНедвижимости.СрезПоследних КАК ПлощадиОбъектовНедвижимости
		    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УПН_СтатусыОбъектов.СрезПоследних КАК СтатусыОбъектов
		    ПО ПлощадиОбъектовНедвижимости.ОбъектНедвижимости = СтатусыОбъектов.ОбъектНедвижимости
		ГДЕ
		    НЕ ПлощадиОбъектовНедвижимости.ОбъектНедвижимости.ПометкаУдаления
		    И НЕ ПлощадиОбъектовНедвижимости.ОбъектНедвижимости.ЭтоГруппа
		    И ПлощадиОбъектовНедвижимости.ОбъектНедвижимости.ЗданиеЗемельныйУчасток = &Здание
		    И СтатусыОбъектов.Статус = &Статус

		СГРУППИРОВАТЬ ПО
		    ПлощадиОбъектовНедвижимости.КоличествоЖилыхКомнат,
		    НАЧАЛОПЕРИОДА(СтатусыОбъектов.Период, МЕСЯЦ)
		) КАК ТабПродаж
    ПО РасчетПериодов.Месяц >= ТабПродаж.Месяц

СГРУППИРОВАТЬ ПО
	ТабПродаж.КоличествоЖилыхКомнат,
	РасчетПериодов.Месяц

УПОРЯДОЧИТЬ ПО
	Месяц,
	Колво
Показать
22. idw 344 19.07.19 15:06 Сейчас в теме
(19) спасибо, не много переделал ваш запрос и он заработал:

ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ПериодНач, МЕСЯЦ), ГОД, Годы.Смещение), МЕСЯЦ, Месяцы.Смещение) КАК Месяц
ПОМЕСТИТЬ РасчетПериодов
ИЗ
    (ВЫБРАТЬ 0 КАК Смещение
     ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 1
     ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 2
     ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 3
     ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 4
     ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 5
     ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 6
     ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 7
     ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 8
     ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 9) КАК Годы, (ВЫБРАТЬ 0 КАК Смещение
                                          ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 1
                                          ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 2
                                          ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 3
                                          ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 4
                                          ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 5
                                          ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 6
                                          ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 7
                                          ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 8
                                          ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 9
                                          ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 10
                                          ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 11) КАК Месяцы
ГДЕ
    ДОБАВИТЬКДАТЕ(ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ПериодНач, МЕСЯЦ), ГОД, Годы.Смещение), МЕСЯЦ, Месяцы.Смещение)
        МЕЖДУ НАЧАЛОПЕРИОДА(&ПериодНач, МЕСЯЦ) И КОНЕЦПЕРИОДА(&ПериодКон, МЕСЯЦ)

;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ТабПродаж.КоличествоЖилыхКомнат КАК Колво,
	РасчетПериодов.Месяц КАК Месяц,
	СУММА(ТабПродаж.КолвоПродаж) КАК КолвоПродаж
ИЗ
	РасчетПериодов КАК РасчетПериодов
		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
			ПлощадиОбъектовНедвижимости.КоличествоЖилыхКомнат КАК КоличествоЖилыхКомнат,
			НАЧАЛОПЕРИОДА(СтатусыОбъектов.Период, МЕСЯЦ) КАК Месяц,
			СУММА(1) КАК КолвоПродаж
		ИЗ
			РегистрСведений.УПН_ПлощадиОбъектовНедвижимости.СрезПоследних КАК ПлощадиОбъектовНедвижимости
				ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УПН_СтатусыОбъектов.СрезПоследних КАК СтатусыОбъектов
				ПО ПлощадиОбъектовНедвижимости.ОбъектНедвижимости = СтатусыОбъектов.ОбъектНедвижимости
		ГДЕ
			НЕ ПлощадиОбъектовНедвижимости.ОбъектНедвижимости.ПометкаУдаления
			И НЕ ПлощадиОбъектовНедвижимости.ОбъектНедвижимости.ЭтоГруппа
			И ПлощадиОбъектовНедвижимости.ОбъектНедвижимости.ЗданиеЗемельныйУчасток = &Здание
			И СтатусыОбъектов.Статус = &Статус
		
		СГРУППИРОВАТЬ ПО
			ПлощадиОбъектовНедвижимости.КоличествоЖилыхКомнат,
			НАЧАЛОПЕРИОДА(СтатусыОбъектов.Период, МЕСЯЦ)) КАК ТабПродаж
		ПО (РасчетПериодов.Месяц >= ТабПродаж.Месяц)

СГРУППИРОВАТЬ ПО
	ТабПродаж.КоличествоЖилыхКомнат,
	РасчетПериодов.Месяц

УПОРЯДОЧИТЬ ПО
	Месяц,
	Колво
Показать
23. dmurk 19.07.19 15:35 Сейчас в теме
(22) Пожалуйста. Извините, сложно писать запросы в блокноте без конфигурации ))
2. idw 344 17.07.19 12:54 Сейчас в теме
Картинка мелко вышла.
Прикрепленные файлы:
8. YannikAlx 43 17.07.19 13:22 Сейчас в теме
(2) так провалы то должны быть, если вы хотите видеть реальную картину.
Ведь если скажем в июле продаж не было то очевидно что это 0 и провал.
А как иначе увидеть по графику месяцы БЕЗ продаж?
9. idw 344 17.07.19 13:33 Сейчас в теме
(8) Для просто графика это так, но это график с нарастающим итогом). Например были продажи в январе 1 шт, в феврале 2 шт, март 0 шт, то график должен построить 1 шт, 1 +2 = 3 шт, 3+0 = 3 шт. А март выходит 0.
12. YannikAlx 43 17.07.19 13:51 Сейчас в теме
(9) используйте дополнительную временную таблицу - "ВТ_Месяцы" .
В нее просто занесите даты первых чисел месяцев.
И потом используйте данные этой таблицы в качестве основной с группировкой по ее датам, а ваши данные присоединяйте левым соединением по условию дата продажи меньше даты "ВТ_Месяцы" и суммируйте по этой группировке и будет вам нарастающий итог по датам "ВТ_Месяцы"...
16. furman2000 16 17.07.19 14:19 Сейчас в теме
А если при выводе диаграммы написать так
Если Выборка.КолвоПродаж > 0 Тогда
Диаграмма.УстановитьЗначение(Точка, Серия, Выборка.КолвоПродаж);
КонецЕсли;
18. idw 344 17.07.19 17:46 Сейчас в теме
(16) нет продаж с нулевыми значениями, просто в опр. дату нет вообще продаж.

дата этаж: кол-во продаж:
01.05.2017 1 52
01.05.2017 2 26
01.05.2017 3 13
01.08.2017 1 53
01.09.2017 2 27
01.10.2017 1 58
01.10.2017 2 28
21. kuzyaa 2 18.07.19 17:14 Сейчас в теме
(18) Так не будет?


""ISNULL(СУММА(ТабПродаж_Копия.КолвоПродаж),0) КАК КолвоПродаж""



""Выборка = РезультатЗапроса.Выбрать();
    Продажи = 0;
    Пока Выборка.Следующий() = Истина Цикл
        Серия = Диаграмма.УстановитьСерию(Выборка.Колво);
        Серия.Текст = Строка(Выборка.Колво)+" этаж";
        Серия.Расшифровка = Выборка.Колво;

        Точка = Диаграмма.УстановитьТочку(Выборка.Месяц);
        Точка.Текст = Выборка.Месяц;
            Точка.Расшифровка = Выборка.Месяц;
        Если Выборка.КолвоПродаж = 0 и Продажи > 0 Тогда

        Продажи = Продажи;
                ИначеЕсли  Выборка.КолвоПродаж > 0 И Продажи > 0 Тогда
                Продажи = Выборка.КолвоПродаж;
                Диаграмма.УстановитьЗначение(Точка, Серия, Продажи);
                    ИначеЕсли Продажи = 0 И  Выборка.КолвоПродаж > 0 Тогда
                              Продажи =Выборка.КолвоПродаж ;
                              Диаграмма.УстановитьЗначение(Точка, Серия, Продажи);
                
        КонецЕсли;
        
        
    КонецЦикла;" 
Показать
17. alalsl 11 17.07.19 15:24 Сейчас в теме
20. KVIKS 399 18.07.19 16:56 Сейчас в теме
Просто в запросе нужно добавить таблицу месяцами за весь период отчета и клеить эту таблицу к рабочей, тогда в итоговой тз появятся строки с разными месяцами и одинаковым количеством (если не было продаж в этом месяце). и провала не будет потому что для графика будут записи по всем месяцам. Я обычно использую рег свед Данные производственного календаря - он есть во всех типовых базах.
дата этаж: кол-во продаж:
01.05.2017 1 52
01.05.2017 2 26
01.05.2017 3 13
01.06.2017 1 52
01.06.2017 2 26
01.06.2017 3 13
01.08.2017 1 53
01.09.2017 2 27
01.10.2017 1 58
01.10.2017 2 28
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот