16.12.2013 17:32
Сегодня в первый раз "наткнулся" на такую ошибку.

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

Стал искать.
Выяснилось, что нужно уходить от КонецДня, потому как
Цитата:
Сию проблему описывал уважаемый Господин Гилев в одном из своих видео уроков. Делов том, что КонецДня(Дата) берет время на начало секунды 23:59:59, а Граница(КонецДня(ДатаОтчета), ВидГраницы.Включая) на конец этой секунды. В этом и разница
Поменяв для исходящего остатка параметр с:
Цитата:
ЗапросОстатки.УстановитьПараметр("Дата", КонецДня(Отчет.ДатаЗавершения));
на:
Цитата:
ГраницаКНД = Новый Граница(КонецДня(Отчет.ДатаЗавершения), ВидГраницы.Включая);
ЗапросОстатки.УстановитьПараметр("Дата", ГраницаКНД);
получил верный результат.

Вывод - тщательнее надо...
Часовой пояс GMT +3, время: 19:48.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.