|
Разница двух пустых дат | ☑ | ||
---|---|---|---|---|
0
Роспатнюк Сергей Сер
15.08.19
✎
10:10
|
Наткнулся на то что если к Дата(00.00.0000 00:00:00) + 1 = 30.11.0002 00:00:01, а если к Дата(01.01.0001 00:00:00) + 1 = 01.01.0001 00:00:01, подскажите в чем отличие этих двух на вид пустых дат ?
|
|||
1
mikecool
15.08.19
✎
10:11
|
первая дата не пустая
|
|||
2
palsergeich
15.08.19
✎
10:11
|
01.01.0001 00:00:01, с точки зрения 1с это не пустая дата.
А первая секунда 1 года |
|||
3
palsergeich
15.08.19
✎
10:13
|
(2) Дата(00.00.0000 00:00:00) и да это тоже не пустая дата с точки зрения 1с доки
|
|||
4
palsergeich
15.08.19
✎
10:13
|
(3) пустая дата это Дата (1,1,1,0,0,0)
|
|||
5
palsergeich
15.08.19
✎
10:14
|
Дай угадаю - ты читаешь xml
|
|||
6
Роспатнюк Сергей Сер
15.08.19
✎
10:15
|
(5) не не угадал
|
|||
7
Роспатнюк Сергей Сер
15.08.19
✎
10:16
|
просто встретил такую конструкцию и она мне выдала такое значение в пофигураторе стало интерестно
|
|||
8
Роспатнюк Сергей Сер
15.08.19
✎
10:17
|
(3) Дата(00.00.0000 00:00:00) но почему когда к такой дате прибавляешь секунду получается 11 месяц второго года ?
|
|||
9
palsergeich
15.08.19
✎
10:19
|
(8) потому что грабли.
Исходя из стандарта датавремя xml пустая дата 00010101 и исходя из этого писался остальной код. А запись в виде 0000000 что то сломала |
|||
10
НЕА123
15.08.19
✎
10:20
|
Дата("00.00.0000 00:00:00")=30.11.0002 0:00:00
|
|||
11
palsergeich
15.08.19
✎
10:21
|
(9) можно написать на партнерку, по идее должно быть исключение невозможности преобразования типа
|
|||
12
Роспатнюк Сергей Сер
15.08.19
✎
10:22
|
(11) что странно пытаюсь сейчас так посмотреть выдает эту ошибку но 15 мин назад преобразовывало без проблем )))
|
|||
13
Роспатнюк Сергей Сер
15.08.19
✎
10:24
|
(12) ой не реально Дата("00.00.0000 00:00:00")=30.11.0002 0:00:00, кавычку пропустил ))
|
|||
14
vova1122
15.08.19
✎
10:24
|
(8) если считать правильно то даты ("00.00.0000 00:00:00") в природе не существует, вот и 1с преобразовывает с "потолка"
|
|||
15
Волшебник
15.08.19
✎
10:26
|
Кстати, настоящая пустая дата вот: '00010101' (в апострофах пишется литерал даты)
И дата '00010101'+0.001 тоже не совсем пустая дата, хотя выглядит как пустая, потому что если вычесть из неё пустую дату ('00010101'+0.001 - '00010101'), то получим 0.001. Я об этом говорил Нуралиеву, он сам был слегка обескуражен. |
|||
16
НЕА123
15.08.19
✎
10:26
|
(11)
недокументированная возможность. |
|||
17
Роспатнюк Сергей Сер
15.08.19
✎
10:26
|
(14) ну почему бы не преобразовывать в 01.01.0001.00:00:01 а не в 30.11.0002 0:00:00 почему именно эта дат 0_0
|
|||
18
sitex
naïve
15.08.19
✎
10:28
|
(15) Тогда что в остатки 0.001 ? Что это дата ? Число ? Рудимент даты?
|
|||
19
vova1122
15.08.19
✎
10:28
|
(17) Нуралиев не предусмотрел этот вариант...
|
|||
20
Волшебник
15.08.19
✎
10:32
|
(18) Вероятно, в нутрях 1С даты хранятся в виде дробного числа с точностью до тысячной.
|
|||
21
Роспатнюк Сергей Сер
15.08.19
✎
10:33
|
(20) тогда уже до десятитысячной так как 0.0001 он тоже жрет
|
|||
22
Волшебник
15.08.19
✎
10:39
|
(21) согласен
|
|||
23
ptiz
15.08.19
✎
10:42
|
Очень не хватает возможности хранить тысячные доли в дате документов, чтобы в одну секунду запихнуть несколько документов в нужной последовательности :(
|
|||
24
Роспатнюк Сергей Сер
15.08.19
✎
10:43
|
(22) наверн на всякий случай для возможности создания 1С Ядерные реакции
|
|||
25
Волшебник
15.08.19
✎
10:44
|
(24) Думаю, всё гораздо проще. Надо же как-то упорядочивать документы в пределах одной секунды. Есть такое понятие МоментВремени, это дата+документ. Скорее всего именно там используются дробные доли секунды.
|
|||
26
Роспатнюк Сергей Сер
15.08.19
✎
10:48
|
(25) может еще отладчик с его точностю замеров времени выполнения кода юзает эту фичю
|
|||
27
vova1122
15.08.19
✎
10:48
|
(25) Но ДатаДок1-ДатаДок2 этого не покажет?
|
|||
28
Волшебник
15.08.19
✎
10:50
|
Вопросы, загадки... Такого не расскажут на РенТВ...
|
|||
29
Роспатнюк Сергей Сер
15.08.19
✎
11:07
|
Закрываем, загадки будем в другом месте решать)
|
|||
30
unregistered
15.08.19
✎
11:50
|
(23) >> не хватает возможности хранить тысячные доли в дате документов, чтобы в одну секунду запихнуть несколько документов в нужной последовательности.
В чем смысл ограничения в тысячных? Почему не миллионные, миллиардные, или ещё более мелкие дробные? Или просто - закладка на будущие грабли, чтобы пораньше столкнуться с заложенным ограничением? |
|||
31
Роспатнюк Сергей Сер
15.08.19
✎
12:07
|
(30) замер производительности выдает время с точностью до 6 знаков после запятой не факт что ограничение есть в нутрях, а вот в пофигураторе вполне может быть.
|
|||
32
vova1122
15.08.19
✎
12:28
|
(31) Проверил. ДатаПлюс=ПровДата+0.123456;
Сообщить(ДатаПлюс-ПровДата); плучается разница=0,1235 (система округляет до 4 знаков) |
|||
33
dezss
15.08.19
✎
12:48
|
Пасхалка от 1с.
|
|||
34
dezss
15.08.19
✎
12:56
|
(33) 30 ноября
Международный день защиты информации |
|||
35
Вафель
15.08.19
✎
13:29
|
Ви фсе врете
http://ximage.ru/index.php?id=1565864949 |
|||
36
dezss
15.08.19
✎
14:13
|
||||
37
1Сергей
15.08.19
✎
14:28
|
(35) (36) платформы назовите
|
|||
38
Lama12
15.08.19
✎
14:29
|
(37) Сейчас окажется что SAP и Axapta
|
|||
39
НадюшаЯ
15.08.19
✎
14:57
|
||||
40
Роспатнюк Сергей Сер
15.08.19
✎
15:08
|
(37) 8.3.13.1513
|
|||
41
dezss
15.08.19
✎
15:49
|
(37) 8.3.8.2088
|
|||
42
sitex
naïve
15.08.19
✎
15:57
|
(37) На 8.3.14.1630 то же "30.11.0002 0:00:01"
|
|||
43
vova1122
15.08.19
✎
16:15
|
?(Дата("30.11.0002 00:00:00")=Дата("00.00.0000 00:00:00"),"Да","Нет") Возвращает "Да" 1С 8.3 (8.3.11.2867)
|
|||
44
lodger
15.08.19
✎
16:40
|
(42) (43) (41) (40) а теперь напишите у кого файловая, у кого мсскл, пострги и еще черта лысого.
|
|||
45
Роспатнюк Сергей Сер
15.08.19
✎
16:46
|
(44) мсскл
|
|||
46
palsergeich
15.08.19
✎
17:24
|
8.3.14.1565
MSSQL, файловая. Клиент, сервер УФ ОФ Везде ?(Дата("30.11.0002 00:00:00")=Дата("00.00.0000 00:00:00"),"Да","Нет") Возвращает "Да" |
|||
47
dezss
15.08.19
✎
17:30
|
(44) чиво?
А это нафига, если обращений к базе нет. О_О |
|||
48
НадюшаЯ
15.08.19
✎
17:34
|
(47) ну вот с веб клиентом результаты разные в зависимости от директивы на клиенте и на сервере, для последней платформы
|
|||
49
palsergeich
15.08.19
✎
17:58
|
(48) А ты молодец)
Действительно на веб клиенте ?(Дата("30.11.0002 00:00:00")=Дата("00.00.0000 00:00:00"),"Да","Нет") Возвращает "Нет" |
|||
50
Сияющий в темноте
15.08.19
✎
23:20
|
веб клиент код от 1с в javascript переводит,а там дата до секунд и честно считается,вот его и не проведешь.
вообще,1с использует линуксовую нотацию даты,а четыре знака после запятой как бы намекают,что внутри тип Currency из восьми байт со смещением. |
|||
51
НадюшаЯ
15.08.19
✎
23:30
|
(50) ну я бы не сказала что честно) он ее как 01 01 2000 воспринимает)
|
|||
52
Сияющий в темноте
16.08.19
✎
00:06
|
в javascript дата,это обьект с полями.
|
|||
53
dezss
16.08.19
✎
10:32
|
(48) ну там был вопрос не про вариант запуска, а про тип субд.
|
|||
54
НадюшаЯ
16.08.19
✎
10:33
|
(53) это я просто поделилась наблюдениями)
|
|||
55
dezss
16.08.19
✎
10:34
|
(54) Они ценны, бузусловно. :)
|
|||
56
Роспатнюк Сергей Сер
16.08.19
✎
10:44
|
(32) https://yadi.sk/i/i8fgrx5BOp-hEg вот если обратить внимание на столбец Врем.(чистое) то увидим 6 знаков после запятой, отсюда вопрос а точно ли тип Currency.
|
|||
57
Lama12
16.08.19
✎
10:47
|
(40), (41) Я могу ошибаться, но вроде как раз между этими релизами, примерно в 8.3.10 1С сменило используемый компилятор. Они об этом писали в описании к платформам. Видимо реализация типа "дата" сменилась.
|
|||
58
dezss
16.08.19
✎
11:20
|
(57) Так у ТС тот же результат, что и у меня. Это (35) выбился из колеи. Может у него как раз (48)?
|
|||
59
Роспатнюк Сергей Сер
16.08.19
✎
11:28
|
(57) ну раз дошло до этого было бы интересно почитать какой используемый компилятор на какой поменяли и в каком релизе в описании 8.3.10 ничего такого не увидел.
|
|||
60
Роспатнюк Сергей Сер
16.08.19
✎
12:28
|
up
|
|||
61
Вафель
16.08.19
✎
13:11
|
время в 1с содержит милисекунду. в бд правда записать нельзя
|
|||
62
Роспатнюк Сергей Сер
16.08.19
✎
13:59
|
(61) если к дате можно прибавить 0.0001 от 1 секунды а это = 0.1 мс = 100 мкс, тогда получается что в микросекундах
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |