0. YPermitin 3281 01.04.19 08:29 Сейчас в теме

О времени и 1С

Основы и особенности работы со временем в 1С. Как избавиться от боли при работе в разных часовых поясах. Что такое момент времени. И другое.

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. 3vs 01.04.19 09:15 Сейчас в теме
А если пользователь летает на МКС, или на Луне, к примеру, какой часовой пояс выставлять?
bulpi; CyberCerber; Ганс; YPermitin; +4 Ответить
3. YPermitin 3281 01.04.19 09:19 Сейчас в теме
(1) знатно посмеялся. 1С на МКС?)))

Надо писать фоновое задание, которое будет менять часовой пояс сеанса в зависимости от геолокации!
Прикрепленные файлы:
YoungHero; mark_oilbass; +2 Ответить
5. YPermitin 3281 01.04.19 09:23 Сейчас в теме
(3) хотя фоновое не пойдет. Обработчиком ожидания! =D
6. CyberCerber 301 01.04.19 10:25 Сейчас в теме
(3) Ну а чего смеетесь, вот новость на днях была:
https://infostart.ru/journal/news/mir-1s/firma-1s-predstavila-konfiguratsiyu-dlya-upravleniya-resursami-v-kosmose_1030907/
Gendelf; Алексей_mir2mb; the1; wowik; for_sale; YPermitin; +6 Ответить
7. YPermitin 3281 01.04.19 10:30 Сейчас в теме
(6) раз серьёзно, то надо UTC использовать :)
Алексей_mir2mb; +1 Ответить
10. 3vs 01.04.19 12:49 Сейчас в теме
(7)Да, уж, 1С шутить не любит! :-)
Раз Дональд дал задачу американцам первыми во второй раз высадиться на Луне,
чтобы следы первого посещения не затоптали, значит 1С надо подсуетиться и первым
выпустить продукт для Луны! :-)
CyberCerber; wowik; mark_oilbass; YPermitin; +4 Ответить
11. YPermitin 3281 01.04.19 12:50 Сейчас в теме
(10) жжете товарищи! Огонь))))
8. erutan 50 01.04.19 11:03 Сейчас в теме
(1) с Луной в "Артемиде" Энди Вейра решалось очень просто - кто колонию основал на луне, того и часовой пояс :3
bulpi; YPermitin; +2 Ответить
9. Darklight 19 01.04.19 12:15 Сейчас в теме
(1)Будет время ЦУПа - причём, на МКС в Российском и Американском модулях будет своё время!
Aggressorak; YPermitin; +2 Ответить
2. kuzyara 775 01.04.19 09:17 Сейчас в теме
При использовании явной установки ссылки для объектов также не гарантируется последовательность генерации GUID'ов. Речь идет о таком методе явной установки ссылки.

Если быть точнее, то установка явно сгененированных гуидов _гарантирует_ случайную последовательность ссылок (в пределах секунды).
Для Сч = 1 По 5 Цикл
	ИдентификаторСсылка = Новый УникальныйИдентификатор;	
	НоваяСсылка = Документы.РеализацияТоваровУслуг.ПолучитьСсылку(ИдентификаторСсылка);
	Сообщить(XMLСтрока(НоваяСсылка));
КонецЦикла;
// fb0bc5ff-ebea-417a-9aef-0142ed881c84
// 575fee83-4c35-4e72-b5f3-7c5d4be8771c
// 35315176-d1d2-46ea-8eaa-7312a41bee87
// 7ffae9bb-9fbe-4f7e-99d3-1128e10c26d1
// cae1078c-3714-4f00-b6ee-c6a66864100c
Показать

rfc4122, пункт 4.1.4:
For UUID version 4, the timestamp is a randomly or pseudo-randomly
generated 60-bit value, as described in Section 4.4.


А статья хороша.
YPermitin; +1 Ответить
4. YPermitin 3281 01.04.19 09:22 Сейчас в теме
(2) спасибо!

Все так. Наверное, в случае полного описания по уникальным идентификатор лучше обращаться к вашей публикации.

https://infostart.ru/public/635159/

Все доходчиво описано!
12. Serj1C 475 01.04.19 13:15 Сейчас в теме
Я немного бегло пробежал статью, но не нашел про Линукс время (которое может использоваться на сайтах или ява скрипте)
Это количество секунд прошедших с 1 января 1970 года

Функция ВремяЛинукс(unixtime)
Возврат Дата(1970, 1, 1, 0, 0, 0) + unixtime;
КонецФункции
creatermc; YPermitin; +2 Ответить
13. YPermitin 3281 01.04.19 13:21 Сейчас в теме
(12) не знаю где в публикации об этом упомянуть, но интересно.

Спасибо!
14. СергейК 51 01.04.19 20:14 Сейчас в теме
Подскажите, есть особенности установки времени база данных в случае РИБ?
YPermitin; +1 Ответить
18. YPermitin 3281 02.04.19 06:50 Сейчас в теме
(14) действуют те же самые правила. Если узел базы принадлежит организации, которая ведет учет обособлено, то для узла используется местное время. Обычно оно совпадает с временем сервера, если это конечно не облака.

В центральной базе ствится часовой пояс той организации, которая эти данные использует.

Конечно, могут быть случаи и сложнее. Но Вы сами поймете, когда стандартная схема вас не устроит. :)
41. СергейК 51 08.04.19 20:26 Сейчас в теме
(18) Т.е. в каждом узле время устанавливается автономно, как для отдельно БД. Никакой "передачи" настроек времени между узлами нет. Спасибо.
YPermitin; +1 Ответить
42. YPermitin 3281 08.04.19 20:33 Сейчас в теме
(41) да, в абсолютном большинстве случае это так.
15. ellavs 598 01.04.19 20:44 Сейчас в теме
Спасибо, интересно.
YPermitin; +1 Ответить
16. CheBurator 3392 02.04.19 01:37 Сейчас в теме
17. t278 26 02.04.19 02:13 Сейчас в теме
Как быть с терминальными пользователями, работающие в 4-х часовых поясах?
YPermitin; +1 Ответить
19. YPermitin 3281 02.04.19 07:06 Сейчас в теме
(17) думаю, сначала нужно понять нужны ли им разные часовые пояса. Они ведут учет в одной организации или в обособленных?

Если часовые пояса все же нужны, то можно модифицировать конфигурацию, устанавливая часовой пояс сеанса пользователям при запуске в коде. Тогда не важно будет какой часовой пояс у сервера 1С / сервера терминалов. Примеры в статье такие есть.
30. tanat74 30 03.04.19 19:37 Сейчас в теме
(17) Лично я - настроил проброс часового пояса в rdp. При создании критически важных документов устанавливаю дату сеанса, а сервер пишет «журналы» (например версии объектов) в едином часов поясе сервера. Проблемы возникают лишь при некорректной настройке часового пояса на компе клиента.
YPermitin; +1 Ответить
32. YPermitin 3281 03.04.19 20:32 Сейчас в теме
(30) то есть часовой пояс сеанса устанавливайте часовым поясом клиента?

Если подробнее опишите как реализовали, то будет отлично. Интересуют подробности)
34. tanat74 30 04.04.19 06:47 Сейчас в теме
(32) 1с подтягивает сама часовой пояс системы (платформа 8.3.8.2137 толстый клиент).
Проброс часового пояса в RDP разрешается через групповые политики - инструкцию находил в интернете.
Какие ещё подробности интересуют?
acanta; YPermitin; +2 Ответить
35. YPermitin 3281 04.04.19 06:49 Сейчас в теме
(34) спасибо.

Теперь понял о чем речь.
20. w.r. 360 02.04.19 11:46 Сейчас в теме
По поводу последней секунды - такая вакханалия только в виртулальной таблице остатков, а вот в таблице оборотов и остатков секунда не режется в отборе

WHERE T3._Period >= @P1 
         AND T3._Period <= @P2
YPermitin; +1 Ответить
31. YPermitin 3281 03.04.19 20:02 Сейчас в теме
(20) да, отсюда и вопрос. С остатками это все же фича, или баг :)

Хоть с оборотами все логично работает.
33. w.r. 360 03.04.19 21:45 Сейчас в теме
(31) как я понял из описания, которое даёт 1С https://its.1c.ru/db/metod8dev#content:2610:hdoc функция виртуальной таблицы остатков - сугубо прикладная и служит для получения остатков по документу, исключая момент времени самого документа. Для отчетов и другой аналитики нужно использовать таблицу остатков и оборотов
21. bulpi 155 02.04.19 12:24 Сейчас в теме
1)
из всех примеров выше только один вернет результат для текущего документа - это последний пример с границей вида "Включая"


Вот этим утверждением автор что хотел сказать ?

2)Как хорошо работать в стране, где всего 1 пояс :)
YPermitin; +1 Ответить
22. YPermitin 3281 02.04.19 12:28 Сейчас в теме
(21) ничего плохого или хорошего не хотел сказать. Просто факт, само собой разумеющееся :)

Счастливчики!:)
24. bulpi 155 02.04.19 15:33 Сейчас в теме
(22)
Что-то я туплю. Что значит "результат для текущего документа" ? А остальные не вернут для текущего документа? Это слишком расплывчатая и многозначная фраза. Имхо, результат такого запроса зависит от того , как построен документ. Что выбрано в конфигураторе в параметре "удаление движений". Что написано в модуле проведения до того (чистятся ли наборы записей, записываются ли они перед запросом).
25. YPermitin 3281 02.04.19 15:39 Сейчас в теме
23. acanta 60 02.04.19 12:59 Сейчас в теме
26. pun4er 02.04.19 19:11 Сейчас в теме
Спасибо за интересный и развернутый материал, читать было достаточно интересно!
YPermitin; +1 Ответить
27. frkbvfnjh 554 03.04.19 08:34 Сейчас в теме
Спасибо за публикацию, подЪитожил знания.
YPermitin; +1 Ответить
28. philya 77 03.04.19 09:33 Сейчас в теме
А чем вас не устроило преобразование даты к строке в запросе в варианте

ПРЕДСТАВЛЕНИЕ(ДАТАВРЕМЯ(2019, 4, 3, 12, 29, 30))?
acanta; YPermitin; +2 Ответить
29. YPermitin 3281 03.04.19 10:44 Сейчас в теме
(28) честно сказать, никогда не пользовался. Если действительно работает, то позже добавлю в саму статью.
36. YPermitin 3281 06.04.19 10:30 Сейчас в теме
(28) добавил исправление в публикации. Еще раз спасибо!
37. cartograph 06.04.19 19:58 Сейчас в теме
Спасибо. Интересная статья.
YPermitin; +1 Ответить
38. YPermitin 3281 06.04.19 20:29 Сейчас в теме
(37) спасибо на добром слове!
39. ids79 3159 08.04.19 07:55 Сейчас в теме
Спасибо, Юрий.
Интересная статья.
YPermitin; +1 Ответить
40. YPermitin 3281 08.04.19 08:03 Сейчас в теме
43. ghostaz 134 06.06.19 22:36 Сейчас в теме
Отличная статья, прям пособие по времени в 1с. Самое обидное, что не задумывался об этом, когда писал конфу с нуля.
Возможно стоит описать работу с летним временем, сейчас хоть и не актуально, но само явление делало жизнь программиста еще сложнее. Сейчас уже не помню, учитывала ли 1с летнее время в своих функциях. Может кто помнит?
Особенность с миллисекундами уже документирована и тоже удивила.
У нас в организации много споров возникало про период день и месяц. Нужно ли месяц переводить? А если перевели, а периодичность регистров день, то все равно теряем данные? А если отчет по взаиморасчетам, а часовые пояса переводятся, то взаиморасчеты могут зависеть от расположения.
В общем не стоит забывать о времени.
YPermitin; +1 Ответить
44. YPermitin 3281 06.06.19 23:03 Сейчас в теме
(43) Спасибо :)

Время наше все!
45. Serj1C 475 09.07.19 09:04 Сейчас в теме
Еще раз прочитал статью. Некоторые вещи забываются.
Раз уж подняли тему про гуиды, то рекомендую еще дополнить материал про "Как формируется GUID?" (https://infostart.ru/public/635159/)
YPermitin; +1 Ответить
46. YPermitin 3281 09.07.19 09:15 Сейчас в теме
(45) время заставляет забывать :)

Статья про гуиды отличная, я выше в комментариях уже добавлял на нее ссылку.
47. rujiy_kot 6 09.07.19 12:13 Сейчас в теме
У меня отображается первый комментарий датой: 01.04.19 09:15
Это дата - ТекущаяДата() или ТекущаяДатаСеанса()?
Если ТекущаяДата() - то на сервере или клиенте?
YPermitin; +1 Ответить
48. YPermitin 3281 09.07.19 20:23 Сейчас в теме
(47) ммм...Вы думаете, что бэкенд Инфостарта сделан на платформе 1С?

В любом случае, надо узнать у разработчиков что они используют для присвоения даты. :)
Есть лишь предположение, что это время по Москве.
49. aleksdiez 4 10.07.19 10:04 Сейчас в теме
К "недокументированным особенностям" : попробуйте получить дату Дата("15821005")
YPermitin; +1 Ответить
51. YPermitin 3281 10.07.19 18:17 Сейчас в теме
50. Evil Beaver 6199 10.07.19 18:12 Сейчас в теме
52. regint 17.07.19 09:09 Сейчас в теме
Это выражение тоже будет работать
Дата = Дата("08.03.2019 14:30:15"); // 08.03.2019 14:30:15
YPermitin; +1 Ответить
53. skv_79 156 31.07.19 18:13 Сейчас в теме
Интересная статья, спасибо!
YPermitin; +1 Ответить
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Бизнес-аналитик 1С
Москва
зарплата от 140 000 руб. до 200 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата от 120 000 руб.
Полный день

Консультант 1С (Бухгалтерия)
Санкт-Петербург
зарплата от 100 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата от 150 000 руб.
Полный день

Программист 1С
Тюмень
зарплата от 70 000 руб.
Полный день