Сегодня в первый раз "наткнулся" на такую ошибку.
Считаю в своём отчёте входящий и исходящий остаток через запрос
Цитата: ЗапросОстатки = Новый Запрос;
ЗапросОстатки.Текст = "ВЫБРАТЬ
| ХозрасчетныйОстатки.Счет,
| ХозрасчетныйОстатки.Субконто1,
| ХозрасчетныйОстатки.СуммаОстатокДт,
| ХозрасчетныйОстатки.СуммаОстатокКт,
| ХозрасчетныйОстатки.СуммаОстаток
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, Счет = &Счет, ,Организация = &Организация) КАК ХозрасчетныйОстатки
|ГДЕ
| ХозрасчетныйОстатки.Субконто1 = &Субконто1";
Для входящего остатка задаю параметры:
Цитата: ЗапросОстатки.УстановитьПараметр("Дата", НачалоДня(Отчет.ДатаНачала));
ЗапросОстатки.УстановитьПараметр("Счет", Отчет.Счет);
ЗапросОстатки.УстановитьПараметр("Организация", Отчет.Организация);
ЗапросОстатки.УстановитьПараметр("Субконто1", Отчет.РасСчет);
Для исходящего остатка меняю параметр:
Цитата: ЗапросОстатки.УстановитьПараметр("Дата", КонецДня(Отчет.ДатаЗавершения));
Говорят - "сделали отчёт за октябрь, там входящий остаток + обороты не равны исходящему остатку...."
Сделал, посмотрел цифру исходящего остатка.
Посмотрел через стандартные 1с отчёты - остаток исходящий не совпадает (обороты и входящий - совпадают)....
Стал искать.
Выяснилось, что нужно уходить от КонецДня, потому как
Цитата: Сию проблему описывал уважаемый Господин Гилев в одном из своих видео уроков. Делов том, что КонецДня(Дата) берет время на начало секунды 23:59:59, а Граница(КонецДня(ДатаОтчета), ВидГраницы.Включая) на конец этой секунды. В этом и разница
Поменяв для исходящего остатка параметр с:
Цитата: ЗапросОстатки.УстановитьПараметр("Дата", КонецДня(Отчет.ДатаЗавершения));
на:
Цитата: ГраницаКНД = Новый Граница(КонецДня(Отчет.ДатаЗавершения), ВидГраницы.Включая);
ЗапросОстатки.УстановитьПараметр("Дата", ГраницаКНД);
получил верный результат.
Вывод - тщательнее надо...