Автор: Andi_x2021 05.10.21, 15:11
1С 8.3 релиз 8.3.16 Пробовал на 3-х разных конфигурациях.
Обыкновенный запрос по бух.
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Остатки(&КонецПериода, , , ) КАК ХозрасчетныйОстатки
Параметры:
Запрос.Параметры.Вставить("КонецПериода",КонецДня(КонецПериода));
т.е. 30.09.2021 23:59:59
В запрос не попадает движение последнено документа, который был проведен 30.09.2021 23:59:59
Долго бился, пока не прибавил 1сек.
Запрос.Параметры.Вставить("КонецПериода",КонецДня(КонецПериода)+1);
Все заработало.
ПОЧЕМУ?
Автор: Petre 05.10.21, 15:36
Остатки здесь рассчитываются на начало периода.
Иначе необходимо передать границу времени с указанием ее вида "включая".
Автор: Vofka 05.10.21, 15:40
Цитата(Andi_x2021 @ 05.10.21, 16:11)
ПОЧЕМУ?
Потому что в таком виде движения последней секунды https://pro1c.org.ua/redirect.php?https://its.1c.ru/db/metod8dev/content/2610/hdoc.
Цитата
Параметры типа Дата и МоментВремени используются в системных функциях и виртуальных таблицах при вычислении остатков и оборотов. Остатки вычисляются на определенный момент времени. При указании момента времени для вычисления остатков, по умолчанию, считается, что момент времени задан исключительно. То есть если в качестве момента времени задана дата 21.11.2003 12:00:00, то остатки будут посчитаны на начало 12 часов 21 ноября 2003 года. Движения, сделанные в этот момент времени, не будут учтены при подсчете остатков
Для того чтобы задать момент времени включительно, нужно воспользоваться объектом Граница. У этого объекта можно явно указать, задан момент времени включительно или исключительно.
Автор: Andi_x2021 05.10.21, 15:54
Vofka @ Сегодня, 16:40
,
Спасибо! Совсем об этом забыл...