Имя: Пароль:
1C
1С v8
Про границу остатков в запросе
0 sound
 
21.01.14
13:25
Могут ли запросы в общем случае выдавать разные результаты?:

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



Кусок №2 (в параметре - начало года минус единица):
ДатаОст = '20140101000000';
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ДатаОст", НачалоДня(ДатаОст) - 1);
Запрос.Текст = "ВЫБРАТЬ
|ХозрасчетныйОстатки.Субконто1 КАК Субконто1
|ИЗ
|РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаОст, Счет.Код = ""51"", , ) КАК ХозрасчетныйОстатки";
1 Yea-Yea
 
21.01.14
13:26
да
2 sound
 
21.01.14
13:26
(1) а можно чуть подробней плиз
3 Yea-Yea
 
21.01.14
13:27
(2) в первом запросе на конец дня, во втором на начало дня. сам что думаешь?
4 Maxus43
 
21.01.14
13:28
в таблицах оборотоа по умолчанию "Включая", в остатках "Исключая"
5 sound
 
21.01.14
13:29
(3) В первом случае на конец 31.12.2013 года, а во втором на 01.01.14 минус единица
6 sound
 
21.01.14
13:32
То есть правильно ли я понимаю что для получения остатков на конец дня в запрос такую фигню как Граница передавать совсем не обязательно и вместо этого можно передать начало следущего дня минус 1?
7 Maxus43
 
21.01.14
13:42
(6) в обоих случаях у тебя не будет учитываться 59-я секунда. Передашь границу - будет учитыватся
8 Maxus43
 
21.01.14
13:43
короче читай (4), там проще некуда
9 Yea-Yea
 
21.01.14
13:46
(5) точно. не правильно посмотрел параметр.

все верно. будут отличия если у тебя есть движения с датой 31.12.2013 23:59:59
10 Yea-Yea
 
21.01.14
13:47
если хочешь получить верные остатки в виртуальной таблице остатков - передавай границу включая или начало следующего дня
11 sound
 
21.01.14
14:21
Ок, всем пасиба!
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс