Как объединить в СКД 2 запроса с разным периодом дат (прошлый год и текущий)

1. user734952 02.10.24 12:19 Сейчас в теме
Добрый день! В Скд в наборе данных 2 запроса обращены к разным периодам дат, по отдельности цифры выводит правильно как пробую объенить (пробовала разными способами), то получаю непонятно какие цифры. Посмотрите и может кто сталкивался и подскажет как объединить чтоб цыфры были правильными. Вот код
ВЫБРАТЬ
	НАЧАЛОПЕРИОДА(РеализацияТМЗОбороты1.Период, МЕСЯЦ) КАК Период,
	РеализацияТМЗОбороты1.ДоговорКонтрагента.Владелец.ОсновнойМенеджерПокупателя КАК Покупатель,
	ВЫБОР
		КОГДА НЕ РеализацияТМЗОбороты1.ДоговорКонтрагента.Владелец.ИдентификационныйКодЛичности В ("200640005599", "170540014269", "190840013126", "710727402787", "101140013731", "780301401715", "730809403000")
			ТОГДА РеализацияТМЗОбороты1.СуммаОборот
		ИНАЧЕ 0
	КОНЕЦ КАК СуммаОборотПрошл
ПОМЕСТИТЬ ПрошлПериод
ИЗ
	РегистрНакопления.РеализацияТМЗ.Обороты({(&НачалоПериода1)}, {(&КонецПериода1)}, Регистратор, НЕ Номенклатура.Услуга) КАК РеализацияТМЗОбороты1
;
////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	НАЧАЛОПЕРИОДА(РеализацияТМЗОбороты.Период, МЕСЯЦ) КАК Период,
	РеализацияТМЗОбороты.ДоговорКонтрагента.Владелец.ОсновнойМенеджерПокупателя КАК Покупатель,
	ВЫБОР
		КОГДА НЕ РеализацияТМЗОбороты.ДоговорКонтрагента.Владелец.ИдентификационныйКодЛичности В ("200640005599", "170540014269", "190840013126", "710727402787", "101140013731", "780301401715", "730809403000")
			ТОГДА РеализацияТМЗОбороты.СуммаОборот
		ИНАЧЕ 0
	КОНЕЦ КАК СуммаОборотТек
ПОМЕСТИТЬ ТекПериод
ИЗ
	РегистрНакопления.РеализацияТМЗ.Обороты(, , Регистратор, НЕ Номенклатура.Услуга) КАК РеализацияТМЗОбороты
;

Показать
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user734952 02.10.24 12:20 Сейчас в теме
Получится должен такой отчет, только цифры должны быть правильными
Прикрепленные файлы:
3. user734952 04.10.24 11:43 Сейчас в теме
Добрый день! Еще Актуально, помогите
4. user-z99999 70 04.10.24 11:52 Сейчас в теме
(3) Добавь в первый запрос
Январь и Февраль, чтобы было два поля.
И соединяй по второму полю.
5. user734952 04.10.24 12:04 Сейчас в теме
(4) Январь и Февраль это примерные даты, можете показать что Вы имели ввиду
6. starjevschik 04.10.24 12:16 Сейчас в теме
Надо сделать поля для соединения. Например, в запрос прошлого добавить еще поле типа такого
ДобавитьКДАте(Период, Год) КАК ПериодТек

и потом по нему соединение делать
Или в запрос текущего года добавить прошлый период так же, по-моему это все равно
7. user734952 04.10.24 12:41 Сейчас в теме
(6) Такое тоже делала
ВЫБРАТЬ
	НАЧАЛОПЕРИОДА(РеализацияТМЗОбороты1.Период, МЕСЯЦ) КАК Период1,
	РеализацияТМЗОбороты1.ДоговорКонтрагента.Владелец.ОсновнойМенеджерПокупателя КАК Покупатель,
	ВЫБОР
		КОГДА НЕ РеализацияТМЗОбороты1.ДоговорКонтрагента.Владелец.ИдентификационныйКодЛичности В ("200640005599", "170540014269", "190840013126", "710727402787", "101140013731", "780301401715", "730809403000")
			ТОГДА РеализацияТМЗОбороты1.СуммаОборот
		ИНАЧЕ 0
	КОНЕЦ КАК СуммаОборотПрошл
ПОМЕСТИТЬ ПрошлПериод
ИЗ
	РегистрНакопления.РеализацияТМЗ.Обороты({(&НачалоПериода1)}, {(&КонецПериода1)}, Регистратор, НЕ Номенклатура.Услуга) КАК РеализацияТМЗОбороты1
;
////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	НАЧАЛОПЕРИОДА(РеализацияТМЗОбороты.Период, МЕСЯЦ) КАК Период,
	РеализацияТМЗОбороты.ДоговорКонтрагента.Владелец.ОсновнойМенеджерПокупателя КАК Покупатель,
	ВЫБОР
		КОГДА НЕ РеализацияТМЗОбороты.ДоговорКонтрагента.Владелец.ИдентификационныйКодЛичности В ("200640005599", "170540014269", "190840013126", "710727402787", "101140013731", "780301401715", "730809403000")
			ТОГДА РеализацияТМЗОбороты.СуммаОборот
		ИНАЧЕ 0
	КОНЕЦ КАК СуммаОборотТек
ПОМЕСТИТЬ ТекПериод
ИЗ
	РегистрНакопления.РеализацияТМЗ.Обороты({(&НачалоПериода2)}, {(&КонецПериода2)}, Регистратор, НЕ Номенклатура.Услуга) КАК РеализацияТМЗОбороты
;

////////////////////////////////////////////////////////////­////////////////////// 
ВЫБРАТЬ
	ЕСТЬNULL(ТекПериод.Период,ДОБАВИТЬКДАТЕ(ПрошлПериод.Период1,ГОД,1)) КАК Период,
	ЕСТЬNULL(ТекПериод.Покупатель, ПрошлПериод.Покупатель) КАК Покупатель,
	ТекПериод.СуммаОборотТек КАК СуммаОборотТек,
	ПрошлПериод.СуммаОборотПрошл КАК СуммаОборотПрошл  
ИЗ
	ТекПериод КАК ТекПериод
		 Левое СОЕДИНЕНИЕ ПрошлПериод КАК ПрошлПериод
		 ПО ТекПериод.Покупатель = ПрошлПериод.Покупатель
Показать
Прикрепленные файлы:
8. user734952 04.10.24 12:43 Сейчас в теме
(6) Такое тоже делала соединяет но цифры, космические. По отдельности правильные, а вместе нет
9. starjevschik 04.10.24 13:23 Сейчас в теме
Левое СОЕДИНЕНИЕ ПрошлПериод КАК ПрошлПериод
         ПО ТекПериод.Покупатель = ПрошлПериод.Покупатель

ну дальше надо написать правильно запрос. Для этого надо знать и понимать, что такое таблицы базы данных, что такое соединение и тд. и т.п. Или учиться этому, или нанять того, кто уже научился.
10. пользователь 04.10.24 13:25
Сообщение было скрыто модератором.
...
11. пользователь 04.10.24 13:27
Сообщение было скрыто модератором.
...
12. пользователь 04.10.24 14:29
Сообщение было скрыто модератором.
...
13. пользователь 04.10.24 17:46
Сообщение было скрыто модератором.
...
14. пользователь 04.10.24 18:21
Сообщение было скрыто модератором.
...
15. пользователь 04.10.24 19:41
Сообщение было скрыто модератором.
...
16. user734952 05.10.24 19:47 Сейчас в теме
Получилось так идеально как мне и нужно, помогло по ссылке https://forum.infostart.ru/forum9/topic82853/, делюсь кодом своим может кому то же поможет (результат тоже прикрепляю):
ВЫБРАТЬ
	НАЧАЛОПЕРИОДА(РеализацияТМЗОбороты.Период, МЕСЯЦ) КАК Период,
	РеализацияТМЗОбороты.ДоговорКонтрагента.Владелец.ОсновнойМенеджерПокупателя КАК Покупатель,
	ВЫБОР
		КОГДА НЕ РеализацияТМЗОбороты.ДоговорКонтрагента.Владелец.ИдентификационныйКодЛичности В ("200640005599", "170540014269", "190840013126", "710727402787", "101140013731", "780301401715", "730809403000")
			ТОГДА РеализацияТМЗОбороты.СуммаОборот
		ИНАЧЕ 0
	КОНЕЦ КАК СуммаОборотПрошл
ПОМЕСТИТЬ ДанныеПрошлогоГода
ИЗ
	РегистрНакопления.РеализацияТМЗ.Обороты({(&НачалоПериода1)},{(&КонецПериода1)}, Регистратор, НЕ Номенклатура.Услуга) КАК РеализацияТМЗОбороты
; 
////////////////////////////////////////////////////////////­/////////////
ВЫБРАТЬ
	НАЧАЛОПЕРИОДА(РеализацияТМЗОбороты.Период, МЕСЯЦ) КАК Период,
	РеализацияТМЗОбороты.ДоговорКонтрагента.Владелец.ОсновнойМенеджерПокупателя КАК Покупатель,
	0 КАК СуммаОборотПрошл,
	ВЫБОР
		КОГДА НЕ РеализацияТМЗОбороты.ДоговорКонтрагента.Владелец.ИдентификационныйКодЛичности В ("200640005599", "170540014269", "190840013126", "710727402787", "101140013731", "780301401715", "730809403000")
			ТОГДА РеализацияТМЗОбороты.СуммаОборот
		ИНАЧЕ 0
	КОНЕЦ КАК СуммаОборотТек
ИЗ
	РегистрНакопления.РеализацияТМЗ.Обороты( , , Регистратор, НЕ Номенклатура.Услуга) КАК РеализацияТМЗОбороты
ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(ДанныеПрошлогоГода.Период, ГОД, 1),
    ДанныеПрошлогоГода.Покупатель, 
    ДанныеПрошлогоГода.СуммаОборотПрошл,
    0 КАК СуммаОборотТек
ИЗ
    ДанныеПрошлогоГода КАК ДанныеПрошлогоГода
Показать
Прикрепленные файлы:
17. andrew_alen 05.10.24 21:22 Сейчас в теме
(16) Параметр период надо поставить галочку "Запрещать не заполненные значения".
user734952; +1 Ответить
18. user734952 06.10.24 08:19 Сейчас в теме
Оставьте свое сообщение

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