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

1. idw 343 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 343 17.07.19 13:10 Сейчас в теме
(4) в выборку не попадают продажи с нулевые. Провалы на графике из-за того, что просто в этом месяце не было вообще продаж.
6. user623969_dusa 17.07.19 13:14 Сейчас в теме
(5) да я сообразил, трудно читать запрос без консоли под рукой... вы группируете в первом запросе по этажу а в график выводите без этажа - не видете здесь противоречий - или график надо по этажам или группировать в первом без этажей, может так) и этажом надо полагать вы называете количество жилых комнат
7. idw 343 17.07.19 13:21 Сейчас в теме
(6) да, этажи, кол-во жилых комнат можно считать что это одно и тоже.
Первым запросом кол-во продаж по месяцам получаем, вторым запросом их суммируем нарастающим итогом.
10. user623969_dusa 17.07.19 13:39 Сейчас в теме
(7) если группировку этажи убрать нельзя потому что хотите видеть все этажи на одном графике значит надо делать дополнение периодов
дополняете периоды берете для пустых данные прошлого периода
и связываете три таблицы по периодам

щас попробую накидать пример запроса - нумеруем данные датами и если данных нет берем данные из прошлой записи
11. idw 343 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 343 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 343 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 343 17.07.19 12:54 Сейчас в теме
Картинка мелко вышла.
Прикрепленные файлы:
8. YannikAlx 43 17.07.19 13:22 Сейчас в теме
(2) так провалы то должны быть, если вы хотите видеть реальную картину.
Ведь если скажем в июле продаж не было то очевидно что это 0 и провал.
А как иначе увидеть по графику месяцы БЕЗ продаж?
9. idw 343 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 343 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 395 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
Оставьте свое сообщение
Вакансии
Программист 1С
Казань
зарплата от 150 000 руб.
Полный день

Программист 1С:ERP
Москва
зарплата от 100 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 200 000 руб. до 300 000 руб.
Полный день

Программист 1С (удаленно)
Самара
зарплата от 230 000 руб. до 230 000 руб.
Полный день

Руководитель группы разработки 1С
Москва
зарплата от 250 000 руб. до 250 000 руб.
Полный день