![]() |
![]() |
![]() |
|
КонецДня - не совсем конец? | ☑ | ||
---|---|---|---|---|
0
mihco
17.06.11
✎
12:12
|
Уже второй раз сталкиваюсь с проблемой - в запрос передаю параметром КонецДня(ДатаОкончания), при этом на конечное сальдо не влияют движения некоторых документов, сделанных на 23.59.59 этой конечной даты. Если параметром передавать Граница(КонецДня(ДатаОкончания), Включая), то все Ок. Это что за особенность платформы?
|
|||
1
vicof
17.06.11
✎
12:14
|
Граница (Boundary)
Граница (Boundary) Свойства: ВидГраницы (BoundaryType) Значение (Value) Конструкторы: На основании значения и вида Описание: Предназначен для получения и хранения границы некоторого интервала значений. Содержит граничное значение интервала, а также признак включения или исключения граничного значения в интервал. Используется в качестве значений свойств и параметров методов других объектов, имеющих данный тип. Граница используется в тех случаях, когда важно указание включения или исключения граничного значения, например при получении остатков и оборотов регистров накопления, срезов и значений регистров сведений, для задания интервалов запросов. Это фича. |
|||
2
zbv
17.06.11
✎
12:15
|
(1) скорее ему надо это:
Тип: Дата; МоментВремени; Граница. Момент времени, на который необходимо получить остатки. Если параметр не указан или установлен в Неопределено, то будут получены текущие остатки (на максимальную дату движений регистра). Если в качестве параметра передана Дата, то остатки будут получены на начало дня, если МоментВремени - то в остатках не будут учтены движения регистра, произошедшие в тот же момент времени. |
|||
3
Жан Пердежон
17.06.11
✎
12:15
|
Стаж 5 лет, 10 месяцев
|
|||
4
John83
17.06.11
✎
12:18
|
а в выборке точно так же работает?
|
|||
5
mihco
17.06.11
✎
12:18
|
Так в том и вопрос, что КонецДня должен работать аналогично Граница(Включая). А не работает.
|
|||
6
mihco
17.06.11
✎
12:19
|
И в типовых зачастую используется КонецДня.
|
|||
7
Sammo
17.06.11
✎
12:20
|
Самое смешное, если под конечным сальдо понимается виртуальная таблица остатков.
|
|||
8
vicof
17.06.11
✎
12:22
|
||||
9
Ненавижу 1С
гуру
17.06.11
✎
12:23
|
это гоны разработчиков платформы 1це ))
|
|||
10
Fragster
гуру
17.06.11
✎
12:23
|
Остатки - На, обороты - ПО
|
|||
11
Fragster
гуру
17.06.11
✎
12:24
|
(7) так и есть, иначе бы включало
|
|||
12
simol
17.06.11
✎
12:24
|
(0)Виртуальная таблица остатков возвращает данные на начало секунды переданной даты.
Оборотов - на конец секунды переданной даты |
|||
13
mdocs
17.06.11
✎
12:24
|
Если впадлу юзать границу - добавь секунлу.
|
|||
14
Skatal
17.06.11
✎
12:25
|
Видео урок: Серия «13 ошибок, за которые увольняют программистов»
http://www.spec8.ru/free-materials так кажется тоже про это было(12ошибка) |
|||
15
Ненавижу 1С
гуру
17.06.11
✎
12:26
|
(13) и получи граблями по хребтине?
|
|||
16
forforumandspam
17.06.11
✎
12:26
|
(12) А ОстаткиИОбороты ?
Как юзать границу в консоли отчетов/запросов? |
|||
17
mihco
17.06.11
✎
12:26
|
(12) - спасибо, буду знать.
|
|||
18
stix2010
17.06.11
✎
12:27
|
бери на 00:00:00 следующего дня, это фича
|
|||
19
mdocs
17.06.11
✎
12:28
|
(15) с чего бы, если речь только о таблице остатков?
(16) "по" |
|||
20
Sammo
17.06.11
✎
12:28
|
(17) Если что, это еще с 7.7.
P.S. Хотя даже в типовых, емнип, бывало... |
|||
21
Armando
17.06.11
✎
12:29
|
Кстати, а что говорит профайлер, когда в запрос суешь границу включая?
|
|||
22
le_
17.06.11
✎
12:31
|
А КонецПериода(&Д, День) в запросе включает границу?
|
|||
23
Jstunner
17.06.11
✎
12:33
|
(22) с каким сравнением?
|
|||
24
Defender aka LINN
17.06.11
✎
12:35
|
(22) Границу (остатки на по последюю секунду) могут включать или не включать таблицы. А "КонецПериода(&Д, День)" - это дата. НЕМНОЖКО другая вещь.
|
|||
25
le_
17.06.11
✎
12:38
|
Выходит, запрос:
ВЫБРАТЬ
даст неверный результат, если есть документы введенные последней секундой дня? |
|||
26
Defender aka LINN
17.06.11
✎
12:39
|
(25) Он даст верный результат. Неверный он даст, если у тебя итоги полетят.
|
|||
27
le_
17.06.11
✎
13:00
|
(26) Тогда не оч. понятно, от чего возникла проблема в (0).
Итоги полетели? Или КонецДня() и КОНЕЦПЕРИОДА() по-разному работают? |
|||
28
Офелия
17.06.11
✎
13:06
|
(27) Он использовал КонецДня в запросе. Вместо Границы.
|
|||
29
Defender aka LINN
17.06.11
✎
13:09
|
(27) Да читать он не умеет.
|
|||
30
MMF
17.06.11
✎
13:17
|
Разработчики языка 1С - не вполне вменяемые. Маразм с Границей еще нужно было постараться придумать.
|
|||
31
qeos
17.06.11
✎
13:23
|
(30) это не маразм, а попытка выйти из ситуации когда в одну секунду существует несколько документов.
|
|||
32
Ненавижу 1С
гуру
17.06.11
✎
13:24
|
(31) время надо было делать более дискретным (с точностью double)
|
|||
33
qeos
17.06.11
✎
13:26
|
(32) все равно возникли бы такие ситуации..
|
|||
34
Ахиллес
17.06.11
✎
13:28
|
(27) Если в запрос передавать дату, а не границу, то платформа будет понимать это как:
НачалоСекунды(КонецДня(ДатаОкончания)) А поскольку в пределах секунды порядок документов не определён, может оказаться, что существуют документы в этой секунде записанные позднее, чем на начало секунды. Вот они и не войдут в запрос. |
|||
35
MMF
17.06.11
✎
13:55
|
Ай-яй-яй, какие умные разработчики 1С, интересно, почему весь прочий мир обходится без этого бреда.
|
|||
36
Defender aka LINN
17.06.11
✎
13:57
|
(35) У всего прочего мира нет виртуальных таблиц? :)
|
|||
37
Ненавижу 1С
гуру
17.06.11
✎
14:07
|
(36) виртуальные таблицы всего лишь макросы, у многих есть stored procedure как вариант
|
|||
38
Ненавижу 1С
гуру
17.06.11
✎
14:08
|
+(35) многие обходятся только одним NULL без всяких пустых ссылок
|
|||
39
Defender aka LINN
17.06.11
✎
14:26
|
(37) Да. И этот макрос возвращает определенный, описанный в документации, результат.
|
|||
41
Тарантул
17.06.11
✎
16:36
|
а как действительно с "ОстаткиИОбороты", кто нибудь припомнит:)? На всякий случай включить границу?:)
|
|||
43
vmv
17.06.11
✎
19:27
|
Время - понятие связанное с дискретностью
Граница - понятие связанное с непрерывностью. Иначе говоря, в физическом смысле, все точки процесса во времени можно сосчитать, а границах нет. Для времени крайняя точка - это крайний вариант дикретности. Для границы крайней точки нет, но сосстояние процесса в указанной границе будет более адекватным, чем к дикретной точке приблеженной к ней. |
|||
44
vmv
17.06.11
✎
19:30
|
Эйнштейн негодует, что такие элементарные вещи непонятны, а весь остальной мир просто ленив - 1С-ники нет)
|
|||
45
Defender aka LINN
17.06.11
✎
20:21
|
(41) Учу читать документацию. Дорого. Больно. Страшно.
Обороты/ОстаткиИИобороты - включает. Остатки - не включает. |
|||
46
Snovy
17.06.11
✎
20:52
|
(13)(15) Во времена одного из релизов платформы 8.0 <граница-включая> давала неверный результат. После этого к КонцуДня стали прибавлять секунду - результат полностью прогнозируемый, граблей не наблюдали по сей день - 8.0, 8.1, 8.2... Какие грабли могут быть в принципе?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |