|
Вирт. таблица остатков и данные последней секунды дня | ☑ | ||
---|---|---|---|---|
0
eddy_n
01.02.23
✎
11:35
|
Почему приходится огород городить с использованием Границы в задании параметра даты, чтобы нормальным образом получить из этой таблицы данные, относящиеся к последней секунде дня?
|
|||
1
shuhard
01.02.23
✎
11:37
|
(0) почему кончается на у
не плоди бессмысленные темы |
|||
2
polosov
01.02.23
✎
11:37
|
(0) Ты про .Включая?
|
|||
3
Aleksey
01.02.23
✎
11:38
|
можешь сделать как в типовой, автоматически назначать время в документах.
можешь брать не конец периода, а конецпериода+1 |
|||
4
Мимохожий Однако
01.02.23
✎
11:38
|
Не городи огород) Жалобы здесь неуместны. Что считаешь нормальным?
|
|||
5
eddy_n
01.02.23
✎
11:40
|
Кто мне объяснит, почему последняя секунда не попадает в конец периода Дня? Может быть есть какое-то объяснение. Я пытаюсь понять. ЭТО НЕ ЖАЛОБА!
|
|||
6
polosov
01.02.23
✎
11:41
|
(5) Потому что 00:00:00 это начало следующего дня.
|
|||
7
eddy_n
01.02.23
✎
11:42
|
(6) Я про 23:59:59, естественно.
|
|||
8
polosov
01.02.23
✎
11:43
|
(7) Нарисуй на оси X метки 23:59:58, 23:59:59, 00:00:00 - смотри и думай.
|
|||
9
Мимохожий Однако
01.02.23
✎
11:43
|
(7) это не последняя секунда.
|
|||
10
Kassern
01.02.23
✎
11:44
|
(0) Используйте стандартный период и будет вам счастье
|
|||
11
Kassern
01.02.23
✎
11:45
|
для НачалоПериода->Период.ДатаНачала, КонецПериода->Период.ДатаОкончания
|
|||
12
eddy_n
01.02.23
✎
11:46
|
В моём понятии КОНЕЦПЕРИОДА(..., ДЕНЬ) должен подватывать 23:59:59. Почему нет?
|
|||
13
magicSan
01.02.23
✎
11:46
|
причем тут конец дня? с документом ещё понятно
|
|||
14
hockeyist
01.02.23
✎
11:48
|
(5) Потому что твой "конец периода Дня", это не конец, а начало конца
|
|||
15
eddy_n
01.02.23
✎
11:48
|
(13) При чём здесь документ. Я не собираюсь цепляться за частности.
|
|||
16
Мимохожий Однако
01.02.23
✎
11:50
|
(12) Если ты прав, что будешь делать с этим знанием на практике? Сегодня вроде среда , а не пятница. Для чего сыр-бор? Есть документация, ей и пользуйся.
|
|||
17
polosov
01.02.23
✎
11:50
|
(12) У тебя есть движения между 23:59:59 и 00:00:00?
|
|||
18
eddy_n
01.02.23
✎
11:50
|
ТАБЛИЦА ОБОРОТОВ ЭТО СЪЕДАЕТ, А ОСТАТКОВ - НЕТ.
|
|||
19
hockeyist
01.02.23
✎
11:52
|
(18) Потому что обороты это обороты, а состояние это состояние. Все логично
|
|||
20
Новый1сник2
01.02.23
✎
11:55
|
я вот тоже не понимаю, почему КонецПериода->Период.ДатаОкончания включает все документы на конец периода,
а КонецДня не включает |
|||
21
Kassern
01.02.23
✎
11:58
|
(20) Видимо дело в границе, в одном случае она используется, а в другом - нет.
|
|||
22
Новый1сник2
01.02.23
✎
12:02
|
(21) наверно так и есть, почему бы на уровне платформы, не добавить эту границу или секунду, в КонецДня?
|
|||
23
Kassern
01.02.23
✎
12:02
|
(22) Чтобы был выбор, хочешь с границей ->используй период, хочешь без -> КонецДня.
|
|||
24
hockeyist
01.02.23
✎
12:06
|
(22) А как тогда получить последнюю секунду дня?
|
|||
25
Гипервизор
01.02.23
✎
12:06
|
Вот 1С заморачивается, уточнения периодов придумывает, а народ-то оказывается наоборот, платформенное добавление секунды требует! )
|
|||
26
Новый1сник2
01.02.23
✎
12:06
|
если назвали КонецДня, то логично бы было чтобы попадали все документы на конец дня. и выбор тут один получить документы на конец дня.
|
|||
27
Новый1сник2
01.02.23
✎
12:07
|
(24) в Период.ДатаОкончания, как то реализовали
|
|||
28
Kassern
01.02.23
✎
12:07
|
(26) Документы итак будут попадать. Тут весь вопрос к виртуальным таблицам.
|
|||
29
Новый1сник2
01.02.23
✎
12:11
|
(28) вопрос не в этом, а в том что КонецДня <> КонецДня
|
|||
30
Гипервизор
01.02.23
✎
12:14
|
(0) Просто смиритесь, так работает. Таблица остатков строится на начало периода, то есть не включая. Таблица оборотов строится с включением записей, соответствующих граничным периодам.
Вот здесь с примерами: https://its.1c.ru/db/pubapplied/content/132/hdoc |
|||
31
Kassern
01.02.23
✎
12:16
|
(29) И дальше что? Тут верно сказано (30) У нас, программистов, есть множество способов решить задачу, 1с предоставила нам удобный функционал в виде стандартного периода.
|
|||
32
magicSan
01.02.23
✎
12:18
|
(15) При получение остатков:
"Момент времени" - виртуальное поле, не хранится в базе данных. Содержит объект МоментВремени (который включает в себя ДАТУ и ССЫЛКУ НА ДОКУМЕНТ) <Виртуальная> таблица остатков не хранится в БД, а строится в момент обращения к ней. 1. подбирается больший или равный значению ПАРАМЕТР момент времени, на который РАССЧИТАНЫ остатки 2. на этот момент получаются остатки из таблицы итогов 3. если момент времени, на который считаются остатки, не совпадает с моментом времени итогов, то остатки ДОСЧИТЫВАЮТСЯ по движениям. Граница: Предназначен для получения и хранения границы некоторого интервала значений. Содержит граничное значение интервала, а также признак включения или исключения граничного значения в интервал. Используется в качестве значений свойств и параметров методов других объектов, имеющих тип Граница. Граница используется в тех случаях, когда важно указание включения или исключения граничного значения, например при получении остатков и оборотов регистров накопления, срезов и значений регистров сведений, для задания интервалов запросов. https://helpf.pro/faq83/view/502.html |
|||
33
eddy_n
01.02.23
✎
12:23
|
Т.е. надо держать в уме, что ПЛАТФОРМА ОКАЗЫВАЕТСЯ НЕ МОЖЕТ ДОПОЛНИТЬ (ПРИ ПОЛУЧЕНИИ ОСТАТКОВ НА КОНЕЦ ДНЯ) таблицу остатков на 23:59:59 ДВИЖЕНИЯМИ с 23:59:59 до 0:00:00. Так что ли?
|
|||
34
Kassern
01.02.23
✎
12:24
|
(33) Просто используйте (10)
В уме нужно держать как хранятся данные в виртуальных таблицах. |
|||
35
eddy_n
01.02.23
✎
12:26
|
(34) Слушай, ну что ты заладил. ЕСТЬ КОНЕЧНО ТАКОЙ ПОДХОД - ПРИНЯТЬ КАК ДОЛЖНОЕ. Но хотелось бы понять, что происходит в другом слкчае.
|
|||
36
eddy_n
01.02.23
✎
12:30
|
На практике, это - ловушка, яма, в которую не один угодил.
|
|||
37
Kassern
01.02.23
✎
12:30
|
(35) Так вам уже описали. КонецДня просто получает дату с временем 23:59:59. В итоговых таблицах нет итогов на эту дату, только на начало периода. Что вам еще хотелось бы понять? Тут же все разжевано (30)
|
|||
38
eddy_n
01.02.23
✎
12:31
|
Это сродни той теме, когда в 7.7 чтобы нормально работал контрол ПЕРЕКЛБЧАТЕЛЬ ты должен был нормальным образом описать его обход в форме.
|
|||
39
Гипервизор
01.02.23
✎
12:32
|
(35) А поведение ОС для вас полностью прозрачное? Вы всегда можете сказать, что происходит в каком-либо случае? Подход похвальный, но так можно и до низкоуровневых языков докопаться.
|
|||
40
eddy_n
01.02.23
✎
12:33
|
(37) Почему нет итогов?
|
|||
41
eddy_n
01.02.23
✎
12:34
|
(39) Хотелось бы, чтобы неочевидных вещей было меньше - вот такой подход.
|
|||
42
Kassern
01.02.23
✎
12:36
|
(40) Потому, что своя специфика хранения данных. Вы же не задаете вопросы на тему "почему в запросе не работает сравнение <Выражение> = NULL? ", или еще не вечер?)
|
|||
43
eddy_n
01.02.23
✎
12:37
|
(42) Всему своё время.
|
|||
44
Гипервизор
01.02.23
✎
12:39
|
(41) Так-то оно так, только в справке поведение описано именно так, как и работает.
|
|||
45
magicSan
01.02.23
✎
12:40
|
(33) остатки ты получаешь из виртулаьнйо на момент времени
|
|||
46
eddy_n
01.02.23
✎
12:41
|
Ладно, ясно-понятно, что ничего не понятно. Глубинные процессы вскрывать не будем. ПРИМЕМ КАК ДОЛЖНОЕ. Неправильные глаголы никто не отменял.
|
|||
47
magicSan
01.02.23
✎
12:43
|
(46) Остатки (Balance)
Синтаксис: Остатки(<МоментВремени>, <ВидыСубконто>, <Отбор>, <Измерения>, <Ресурсы>) Параметры: <МоментВремени> (необязательный) Тип: Дата, МоментВремени, Граница. Момент времени, на который необходимо получить остатки. Если параметр не указан или установлен в Неопределено, то будут получены текущие остатки (на максимальную дату движений регистра). Если в качестве параметра передана Дата, то остатки будут получены на начало дня, если МоментВремени - то в остатках не будут учтены движения регистра, произошедшие в тот же момент времени. |
|||
48
magicSan
01.02.23
✎
12:43
|
(46) читать научись
|
|||
49
Гипервизор
01.02.23
✎
12:47
|
(48) Да скорее всего всё это ТС читал. Тут претензии, что поведение интуитивно непонятное по мнению ТС. Чем-то напоминает разборки со срезом последних.
|
|||
50
Kassern
01.02.23
✎
12:47
|
(49) +1
|
|||
51
magicSan
01.02.23
✎
13:22
|
кто нить знает как запихать документ после 23:59:59
|
|||
52
magicSan
01.02.23
✎
13:24
|
всё получилось
|
|||
53
mikecool
01.02.23
✎
14:28
|
(0) почитал бы двухтомник что-ли...
когда передаешь дату в запрос - всегда используется левая граница переданного периода, для уточнения - передают границу |
|||
54
OldCondom
01.02.23
✎
14:32
|
(53) такие вещи неплохо бы еще в радченко писать. А то позже методом тыка понимаешь такие элементарные и чрезвычайно часто используемые вещи.
|
|||
55
mikecool
01.02.23
✎
14:34
|
(54) что за Радченко? Коротко о главном?
|
|||
56
mikecool
01.02.23
✎
14:34
|
есть "библия" в двух томах, на нее и стоит ориентироваться
|
|||
57
OldCondom
01.02.23
✎
14:37
|
(55) да, оно, "Практическое пособие разработчика".
(56) Ну это как python по Лутцу изучать. Очень красиво, мощно, фундаментально, можно посты в ВК с ней выкладывать и на полку поставить. Учить - нет, отобьет желание сразу. Лучше с чего попроще и подоходчевее для новичка, типа "Практическое пособие разработчика". |
|||
58
eddy_n
01.02.23
✎
14:50
|
(53) Ещё раз. В Запросе ВИРТУАЛЬНОЙ ТАБЛИЦЫ ОСТАТКОВ фигурирует функция КОНЕЦПЕРИОДА(Дата, ДЕНЬ). Неважно какую дату я отдаю запросу. Эта функция ДОЛЖНА РАБОТАТЬ, как она работает для ВИРТУАЛЬНОЙ ТАБЛИЦЫ ОБОРОТОВ.
|
|||
59
eddy_n
01.02.23
✎
14:54
|
Я не верю, что нельзя создать механизма, который бы правильно отрабатывал. На сегодняшний день это так. ВСЁ. Тема закрыта. Пока кто-то очередной не наступит на те же самые грабли.
|
|||
60
Kassern
01.02.23
✎
14:57
|
(59) "Я не верю, что нельзя создать механизма, который бы правильно отрабатывал" - и правильно верите. Такой механизм есть и я вам его написал в самом начале. Посмотрите как пишут типовые отчеты, с обращениями к виртуальным таблицам, Много раз там видели конструкции КОНЕЦПЕРИОДА(...) в параметрах вирт. таблиц?
|
|||
61
Йохохо
01.02.23
✎
14:59
|
(59) а потом ты захочешь, чтобы 1с реализовали границу и момент времени, если не прогорит и дорастешь до таких задач
|
|||
62
eddy_n
01.02.23
✎
15:41
|
(61) Да, всё как всегда. Переход на личности. Ничего не меняется в этом мире.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |