Как в запросе можно получить срез данных до нужной даты или результат по двум датам

1. user1979322 26.06.24 08:25 Сейчас в теме
Имеется задача, нужно получить “Остатки на начало Периода” то есть до 01,01,2024год и “Остатки текущего Периода” то есть с 01,01,2024. Так как я не понимаю как можно получить остатки до 01,01,2024 решил поступить так беру остатки за все время (на рисунке линия 1) и вычитаю остатки с 01,01,2024 (на рисунке линия2). И опять тупик как это сделать
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
6. RustamZz 26.06.24 09:57 Сейчас в теме
(1) Используйте ОстаткиИОбороты вместо просто Остатки
22. polax 26.06.24 18:43 Сейчас в теме
(21)
однако не предоставляет возможности анализировать обороты с корреспондирующими счетами, субконто, измерениями.
Я может непонятно выразился? Именно это и имел в виду. Но в данном случае, абсолютно не волнуют побочные данные. Разве не так?

(21)
Конечный остаток вычисляется. К начальному остатку прибавляется/вычитается оборот.

И? Да плевать КАК он считается, главное правильный результат. И по теме: т.е.
(1)
решил поступить так беру остатки за все время (на рисунке линия 1) и вычитаю остатки с 01,01,2024 (на рисунке линия2).
- это не вызывает вопросов и сомнений? А вот прибавление а не вычитание оборотов - это вопрос? В чем? Остатки не верны? Затраченное время больше?
Еще раз. Ей Б-гу похоже на фильм Айболит 66 - "нормальные герои всегда идут в обход", даже когда решение с другой стороны не очень большого камня ))) Или гланды привычно вырезать через задницу? Сложностей в 1С и так с избытком, не прибавляйте их там где задача решается элементарно
23. spacecraft 26.06.24 19:03 Сейчас в теме
(22) т.е. приведенная цитата в (19), где прямо указывается, что для получения остатков эту таблицу лучше не использовать ни о чем не говорит?
Вот просто чисто вам удобно... Кстати чем? Меньше кода писать?
А вообще код не писать наверно еще удобнее?
Я бы не влез в это обсуждение, но сами нарвались, за попытку поучать не понимая механики.
Бывает.
Далее не вижу смысла это обсуждать.
24. spacecraft 26.06.24 19:07 Сейчас в теме
(22)
И? Да плевать КАК он считается, главное правильный результат.

Кстати. Вот не понимание этой механики приводит к тому, что появляются вопросы:
"Почему через таблицу Остатки получается одно значение, а при ОстаткиИОбороты Конечный остаток другой может быть на одну и туже дату."
2. user2033930 26.06.24 08:28 Сейчас в теме
3. Zevzm 26.06.24 08:29 Сейчас в теме
Вы бы Радченко хотя бы почитали... Остатки всегда на начало секунды (даты). Во втором случае добавьте секунду или используйте Границу.
Прикрепленные файлы:
Особенности использования периодов и моментов времени при получении остатков __ Реализация прикладных задач в системе «1С_Предприятие 8.2».pdf
4. user1979322 26.06.24 09:47 Сейчас в теме
Я запутался, может кто ни будь поможет разобраться, когда я указываю НачалоПериода в Параметрах, это значит с этой даты начинается загрузка данных, а как сделать что бы загрузка данных была До этой даты
5. Zevzm 26.06.24 09:49 Сейчас в теме
(4)Таблица получения остатков строится на начало даты, то есть не включая.
Для случаев, когда необходимо получить данные об остатках, включая движения, относящиеся к дате или
моменту времени, применяют значения параметра «Период» с типом значения «Граница».
Объект Граница получается посредством применения соответствующего конструктора. Именно в
конструкторе указывается вид границы.
Прочитайте pdf.
7. soft_wind 26.06.24 10:09 Сейчас в теме
просто два раза получите остатки за разные даты!

выбрать
спрНом.Ссылка как Товар,
рег1.КоличествоОстаток как Ост1,
рег2.КоличествоОстаток как Ост2,
...
из
спрНом
левое соединение РН.ВашРег.Остатки(&Дата1) рег1
по спрНом.Ссылка = Рег1.Номенклатура
...
левое соединение РН.ВашРег.Остатки(&Дата2) рег2
по спрНом.Ссылка = Рег2.Номенклатура
8. user1979322 26.06.24 11:40 Сейчас в теме
(7) У меня с псевдонимами путаница
Прикрепленные файлы:
9. Zevzm 26.06.24 12:02 Сейчас в теме
(8)Оставьте как есть. Псевдонимы в первом запросе. Если хотите делить добавьте еще одно поле, например, "Остатки на начало" Как Тип Остатков
https://www.youtube.com/playlist?list=PLFC6C17C38FCF9DA0 посмотрите, все станет проще
10. user1979322 26.06.24 12:17 Сейчас в теме
(9)
Добавил поле, но как туда записать не понимаю.
ВЫБРАТЬ
	ХозрасчетныйОстатки.Счет,
	СУММА(ХозрасчетныйОстатки.СуммаОстаток) КАК СуммаОстаток,
	NULL КАК ОстатокДо
ИЗ
	РегистрБухгалтерии.Хозрасчетный.Остатки(&НачалоПериода, Счет В (&Счет_6001, &Счет_0804), , ) КАК ХозрасчетныйОстатки

СГРУППИРОВАТЬ ПО
	ХозрасчетныйОстатки.Счет

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

ВЫБРАТЬ
	ХозрасчетныйОстатки2.Счет,
	СУММА(ХозрасчетныйОстатки2.СуммаОстаток),
	NULL
ИЗ
	РегистрБухгалтерии.Хозрасчетный.Остатки(&НачалоПериодаДлинного, Счет В (&Счет_6001, &Счет_0804), , ) КАК ХозрасчетныйОстатки2

СГРУППИРОВАТЬ ПО
	ХозрасчетныйОстатки2.Счет

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

ВЫБРАТЬ
	NULL,
	NULL,
	0

Показать
Прикрепленные файлы:
11. Zevzm 26.06.24 12:40 Сейчас в теме
(10)

ВЫБРАТЬ
ХозрасчетныйОстатки.Счет,
ХозрасчетныйОстатки.СуммаОстаток КАК СуммаОстаток,
"Остатки на начало" Как ТипОстатков
ИЗ
РегистрБухгалтерии.Хозрасчетный.Остатки(&НачалоПериода, Счет В (&Счет_6001, &Счет_0804), , ) КАК ХозрасчетныйОстатки

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

ВЫБРАТЬ
ХозрасчетныйОстатки2.Счет,
ХозрасчетныйОстатки2.СуммаОстаток,
"Остатки периода длинного"
ИЗ
РегистрБухгалтерии.Хозрасчетный.Остатки(&НачалоПериодаДлинного, Счет В (&Счет_6001, &Счет_0804), , ) КАК ХозрасчетныйОстатки2


Показать
12. spacecraft 26.06.24 13:00 Сейчас в теме
(10)
ВЫБРАТЬ
    ХозрасчетныйОстатки.Счет,
    СУММА(ХозрасчетныйОстатки.СуммаОстаток) КАК СуммаОстаток,
    0 КАК ОстатокДо
ИЗ
    РегистрБухгалтерии.Хозрасчетный.Остатки(&НачалоПериода, Счет В (&Счет_6001, &Счет_0804), , ) КАК ХозрасчетныйОстатки

СГРУППИРОВАТЬ ПО
    ХозрасчетныйОстатки.Счет

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

ВЫБРАТЬ
    ХозрасчетныйОстатки2.Счет,
    0,
    СУММА(ХозрасчетныйОстатки2.СуммаОстаток)
ИЗ
    РегистрБухгалтерии.Хозрасчетный.Остатки(&НачалоПериодаДлинного, Счет В (&Счет_6001, &Счет_0804), , ) КАК ХозрасчетныйОстатки2

СГРУППИРОВАТЬ ПО
    ХозрасчетныйОстатки2.Счет
Показать
13. Zevzm 26.06.24 13:03 Сейчас в теме
(12) Можно у вас уточнить, зачем группировка? Вроде на курсах говорят о том, что виртуальные таблицы всегда сгруппированы... Понял, из-за объединения.
14. spacecraft 26.06.24 13:34 Сейчас в теме
(13) я просто показал как правильно объединять с разнесением полей. Группировки не анализировал - просто скопировал исходный код.
15. Zevzm 26.06.24 13:36 Сейчас в теме
16. polax 26.06.24 13:45 Сейчас в теме
Вот это трэш!!! Изобретение велосипеда идет полным ходом.
Решение дано в одном из первых ответов, конкретно в (6). Берете не остатки, а остатки и обороты. Устанавливаете Начало периода 01.01.2024 и конец периода - текущая дата. В итоге получаете остатки на начало периода (искомые 01.01.2024) и конец периода - настоящее время. И все это в одном простейшем запросе без каких-то извращений с временными таблицами, объединениями и прочее
17. Zevzm 26.06.24 14:13 Сейчас в теме
(16) Когда нам нужны остатки с двух сторон одной секунды это может и простой выход. Когда даты будут разнесены вы будете использовать самую "тяжелую" ВТ, тогда и начнется трэш.
https://infostart.ru/1c/articles/1064528/
18. polax 26.06.24 17:11 Сейчас в теме
(17) Вы либо абсолютно не понимаете что и как делаете либо неправильно ставите вопрос, т.е. вопрос не содержит нужной информации для объяснения проблемы. В том изложении, что сейчас на форуме, ваше решение - запрос к остаткам и оборотам. Всё остальное - это даже не велосипед, это костыль для того, кому он абсолютно не нужен
19. spacecraft 26.06.24 17:27 Сейчас в теме
(18)
Вы либо абсолютно не понимаете что и как делаете

https://its.1c.ru/db/pubapplied/content/199/hdoc
ВНИМАНИЕ!

Не нужно считать таблицу остатков и оборотов панацеей и использовать для построения всех отчетов. Таблица универсальна и содержит поля, необходимые во многих отчетах. Однако платой за универсальность всегда является производительность. Использование таблицы имеет смысл только в случаях, когда в одной группировке отчета требуется получение и остатков на начало, и оборотов, и остатков на конец периода. Если требуются только остатки, или только обороты, или все три составляющие, но в разных группировках строках отчета, стоит задуматься о возможности написания нескольких запросов к таблице остатков и таблице оборотов.
26. Zevzm 26.06.24 20:04 Сейчас в теме
(18)Вы сходите сдайте специалиста с получением Остатков из ВТ ОстаткиИОбороты, они там скорее всего тоже ничего абсолютно не понимают.
27. Zevzm 26.06.24 20:37 Сейчас в теме
(18)
Прикрепленные файлы:
20. polax 26.06.24 17:48 Сейчас в теме
(19) Читайте внимательно. В материале речь идет об аналитике (субконто и пр). Простая задача получить остатки на какой-то начальный период и остатки на конечный - это азбука, остатки и обороты. Сделайте свой километровый запрос с кучей ВТ, а потом просто запрос к остаткам и оборотам и сравните результаты по данным и времени.
21. spacecraft 26.06.24 17:58 Сейчас в теме
(20)
Читайте внимательно. В материале речь идет об аналитике (субконто и пр).

Ну хоть прочитать могли бы и внимательнее.
В материале идеть речь про виртуальную таблицу Остатков и оборотов.
Про все нюансы работы с ней.
Как видно из таблицы, таблица остатков и оборотов позволяет получить обороты по счету аналогично таблице оборотов, однако не предоставляет возможности анализировать обороты с корреспондирующими счетами, субконто, измерениями.

Далее. Для получения остатков на 2 даты... получать обороты.
В курсе как конечный остаток считается при использовании таблицы ОстаткиИОбороты?
Конечный остаток вычисляется. К начальному остатку прибавляется/вычитается оборот.
25. Zevzm 26.06.24 20:03 Сейчас в теме
(21) Причем для ВТ ОстаткиИОбороты оборот вычисляется по физической таблице.
28. polax 26.06.24 20:50 Сейчас в теме
Чего проще! Возьми и сделай запрос к остаткам и оборотам с указанными периодами и посмотри результат. Все собрали, ИТС, Специалиста и пр. Кроме логики и РЕАЛЬНОГО ТЗ. Все-таки неопреодолимое желание вырезать гланды через жопу, неистребимо. Сделай и посмотри, потом отпишись. Вот тогда и поговорим.
29. Zevzm 26.06.24 20:55 Сейчас в теме
(28) Работает, остатки выдает, вроде не тормозит...
Прикрепленные файлы:
30. polax 26.06.24 21:25 Сейчас в теме
(29) Ого! Вот как! Надо было 30 сообщений упрямства, чтобы все-таки попробовать и убедиться, что велосипед давно изобретен. Норм
Оставьте свое сообщение

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