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

О времени и 1С

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

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

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

Надо писать фоновое задание, которое будет менять часовой пояс сеанса в зависимости от геолокации!
Прикрепленные файлы:
YoungHero; mark_oilbass; +2 Ответить
5. YPermitin 3917 01.04.19 09:23 Сейчас в теме
(3) хотя фоновое не пойдет. Обработчиком ожидания! =D
6. CyberCerber 306 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 3917 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 3917 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 785 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 3917 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 3917 01.04.19 13:21 Сейчас в теме
(12) не знаю где в публикации об этом упомянуть, но интересно.

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

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

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

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

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

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

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

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


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

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

Счастливчики!:)
24. bulpi 156 02.04.19 15:33 Сейчас в теме
(22)
Что-то я туплю. Что значит "результат для текущего документа" ? А остальные не вернут для текущего документа? Это слишком расплывчатая и многозначная фраза. Имхо, результат такого запроса зависит от того , как построен документ. Что выбрано в конфигураторе в параметре "удаление движений". Что написано в модуле проведения до того (чистятся ли наборы записей, записываются ли они перед запросом).
25. YPermitin 3917 02.04.19 15:39 Сейчас в теме
23. acanta 64 02.04.19 12:59 Сейчас в теме
26. pun4er 02.04.19 19:11 Сейчас в теме
Спасибо за интересный и развернутый материал, читать было достаточно интересно!
YPermitin; +1 Ответить
27. frkbvfnjh 556 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 3917 03.04.19 10:44 Сейчас в теме
(28) честно сказать, никогда не пользовался. Если действительно работает, то позже добавлю в саму статью.
36. YPermitin 3917 06.04.19 10:30 Сейчас в теме
(28) добавил исправление в публикации. Еще раз спасибо!
37. cartograph 06.04.19 19:58 Сейчас в теме
Спасибо. Интересная статья.
YPermitin; +1 Ответить
38. YPermitin 3917 06.04.19 20:29 Сейчас в теме
(37) спасибо на добром слове!
39. ids79 3748 08.04.19 07:55 Сейчас в теме
Спасибо, Юрий.
Интересная статья.
YPermitin; +1 Ответить
40. YPermitin 3917 08.04.19 08:03 Сейчас в теме
43. ghostaz 135 06.06.19 22:36 Сейчас в теме
Отличная статья, прям пособие по времени в 1с. Самое обидное, что не задумывался об этом, когда писал конфу с нуля.
Возможно стоит описать работу с летним временем, сейчас хоть и не актуально, но само явление делало жизнь программиста еще сложнее. Сейчас уже не помню, учитывала ли 1с летнее время в своих функциях. Может кто помнит?
Особенность с миллисекундами уже документирована и тоже удивила.
У нас в организации много споров возникало про период день и месяц. Нужно ли месяц переводить? А если перевели, а периодичность регистров день, то все равно теряем данные? А если отчет по взаиморасчетам, а часовые пояса переводятся, то взаиморасчеты могут зависеть от расположения.
В общем не стоит забывать о времени.
YPermitin; +1 Ответить
44. YPermitin 3917 06.06.19 23:03 Сейчас в теме
(43) Спасибо :)

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

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

В любом случае, надо узнать у разработчиков что они используют для присвоения даты. :)
Есть лишь предположение, что это время по Москве.
49. aleksdiez 4 10.07.19 10:04 Сейчас в теме
К "недокументированным особенностям" : попробуйте получить дату Дата("15821005")
YPermitin; +1 Ответить
51. YPermitin 3917 10.07.19 18:17 Сейчас в теме
50. Evil Beaver 6240 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 163 31.07.19 18:13 Сейчас в теме
Интересная статья, спасибо!
YPermitin; +1 Ответить
54. list770 06.09.19 09:35 Сейчас в теме
Подскажите, в каком месте в конфигурации лучше сделать установку часового пояса сеанса? заранее спасибо
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

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

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

Руководитель проектов 1С
Санкт-Петербург
Полный день

Бизнес-архитектор 1С, ведущий консультант
Санкт-Петербург
Полный день