Некорректные начальные и конечные остатки по месяцам

1. fugu 23 23.02.25 19:14 Сейчас в теме
Задача достаточно простая, но я попал в тупик.
Вот запрос
ВЫБРАТЬ
	Периоды.ДатаПериода КАК ДатаПериода
ПОМЕСТИТЬ ВТ
ИЗ
	&Периоды КАК Периоды

ИНДЕКСИРОВАТЬ ПО
	ДатаПериода
;

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

СГРУППИРОВАТЬ ПО
	ВТ.ДатаПериода,
	Долг.Категория,
	Долг.Реквизит,
	Долг.ЛицевойСчет.ГруппаСтроений,
	ВЫБОР
		КОГДА Долг.СуммНачальныйОстаток > 0
			ТОГДА Долг.СуммаНачальныйОстаток
		ИНАЧЕ 0
	КОНЕЦ,
	ВЫБОР
		КОГДА Долг.СуммаКонечныйОстаток > 0
			ТОГДА Долг.СуммаКонечныйОстаток
		ИНАЧЕ 0
	КОНЕЦ
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТОстатки.Период КАК Период,
	СУММА(ВТОстатки.Долг) КАК Долг,
	ЕСТЬNULL(Обороты.СуммаПриход, 0) КАК Приход,
	ЕСТЬNULL(Обороты.СуммаРасход, 0) КАК Расход,
	СУММА(ВТОстатки.Остаток) КАК Остаток,
	ВТОстатки.ДопРеквизит
ИЗ
	ВТОстатки КАК ВТОстатки
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Взаиморасчеты.Обороты(
				&ПериодС,
				&ПериодПо,
				Месяц,
				Категория В (&Категория
					И Реквизит.ДопРеквизит  = &ДопРеквизит) КАК Обороты
		ПО ВТОстатки.Период = Обороты.Период

СГРУППИРОВАТЬ ПО
	ВТОстатки.Период,
	ЕСТЬNULL(Обороты.СуммаПриход, 0),
	ЕСТЬNULL(Обороты.СуммаРасход, 0),
	ВТОстатки.ДопРеквизит

УПОРЯДОЧИТЬ ПО
	Период
Показать


Периоды - это месяцы.
1 месяц - остатки выбирает правильно
потом что попало,
при этом есть месяцы, в которых нет оборотов.
обороты выбирает правильно
Подскажите, как правильно выбрать остатки по месяцам?
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. miniogn 45 23.02.25 19:25 Сейчас в теме
(1) Не знаю как с остальным проблемами, но в запросах надо либо отказаться от группировки, либо суммировать суммовые поля.
5. fugu 23 23.02.25 20:24 Сейчас в теме
3. user2107191 23.02.25 19:36 Сейчас в теме
Связывать с виртуальными таблицами левым - так себе идея.
6. fugu 23 23.02.25 20:25 Сейчас в теме
(3) Поясните ,а как связывать? Периоды должны быть все, но по некоторым периодам нет движения.
9. starjevschik 23.02.25 20:50 Сейчас в теме
(6) 1с рекомендует виртуальные таблицы регистров сначала складывать во временную таблицу, а потом уже с ней связывать все остальное.
Между прочим, такая схема сильно упростит отладку. Можно будет посмотреть, что на каждом этапе получается из запроса.
VyacheslavShilov; +1 Ответить
4. user2107191 23.02.25 19:48 Сейчас в теме
То есть ты сознательно минусовые остатки приравниваешь к нулю, а потом жалуешься, что они у тебя потом с оборотами не бьются?
Да ты великий математик!
7. fugu 23 23.02.25 20:27 Сейчас в теме
(4) Да сознательно, мне нужно получить остатки приходов по определенным категориям и доп. реквизиту.
Не написал изначально.
Математика здесь не причем.

я проверяю, очень просто, беру при таких же отборах остаток прихода на определенную дату и они не совпадают с данным запросом.
8. user2107191 23.02.25 20:36 Сейчас в теме
(7)
Математика здесь не причем.
Ну да, конечно.
Ты обнулил начальный остаток периода. Пусть так.
Посчитал обормоты за период туда-сюда. Молодец.
Обнулил конченный остаток. Хозяин барин.

А теперь ожидаешь, что конченный остаток вдруг будет равен разнице обормотов? Полностью игнорируя тот факт, что вообще-то для расчета конченного остатка точкой отсчета является начальный остаток, который ты обнулил. Да и сам конечный обнулил зачем-то.

И ваще - что такое "остаток прихода"???
10. fugu 23 23.02.25 21:17 Сейчас в теме
(8)
я хочу получить только положительные остатки без отрицательных по категории, реквизиту и доп. реквизиту.
на начало и на конец месяца. Если их нет, то остаток 0.
Я не ожидаю, чтобы в отчете сошлась разница по оборотам общим и остатку.
Еще раз повторюсь, я проверяю правильность остатков, сделав отбор по дате, на начало или конец месяца только положительные.
11. user2107191 23.02.25 21:50 Сейчас в теме
(10) Ну тогда начинай переводить свои буквы
потом что попало,
на общедоступный
12. fugu 23 24.02.25 10:26 Сейчас в теме
(11) Зачем писать пустые комментарии?
13. user2107191 24.02.25 11:15 Сейчас в теме
(12) Зачем писать глупые задачи? "У меня работает как попало, как правильно? Но я никому не скажу, как надо правильно, и что такое как попало."

Возьми эксель и сам себе нарисуй как правильно. Если сумеешь - тогда и за программирование берись.
14. fugu 23 03.04.25 18:04 Сейчас в теме
(13) Прошу Вас, не участвуйте в обсуждениях моих вопросов. Для меня от Ваших комментариев нет никакой пользы.
Оставьте свое сообщение

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