|
ТекущаяДата() | ☑ | ||
---|---|---|---|---|
0
svchernova
26.01.15
✎
08:03
|
Здравствуйте, помогите советом, пожалуйста.
У клиента многофилиальная сеть, в разных часовых поясах. 1С находится на сервере в центральном офисе, работают в онлайн режиме. Мне нужно установить контроль вводимой даты, в соответствии с текущей датой сервера. Например, вчерашний документ может быть внесен в базу с вчерашней датой, если сегодня часики не пробили 12 часов дня. Если документ вводится в филиале, расположенном в другом часовом поясе, то нужно сравнивать с датой на сервере, а ТекущаяДата() вычисляет дату клиентского компьютера. Справочник из-за этой мелочи делать не хочется. Можно ли вычислить часовой пояс в 1С? Или текущую дату и время сервера? |
|||
1
IUnknown
26.01.15
✎
08:08
|
Глобальный контекст (Global context)
ПолучитьДопустимыеЧасовыеПояса (GetAvailableTimeZones) Синтаксис: ПолучитьДопустимыеЧасовыеПояса() Возвращаемое значение: Тип: Массив. Массив содержит строки идентификаторов. Список допустимых часовых поясов может быть получен методом ПолучитьДопустимыеЧасовыеПояса. Кроме того, возможно задание часовых поясов смещением от универсального времени (часовые пояса GMT) в формате: GMT{+/-}h[h][:mm] где hh=0:23, mm=0:59. Описание: Получает массив строк допустимых идентификаторов часовых поясов. Доступность: Сервер, толстый клиент, внешнее соединение. См. также: Глобальный контекст, метод ПредставлениеЧасовогоПояса |
|||
2
DrZombi
гуру
26.01.15
✎
08:08
|
(0) >>> Мне нужно установить контроль вводимой даты, в соответствии с текущей датой сервера.
Тонкий или толстый клиенты? Какой один? Дата Документа всегда серверная. Что тут долго думать? (где сервер, та и дата) Пересчет дат в зависимости от Региона. Используй для этого часовой пояс. Это строка вида "GMT+04:00". Советую использовать её. Формат из системы мало чего говорит и вообще труден для человеческого восприятия. |
|||
3
vicof
26.01.15
✎
08:08
|
Глобальный контекст.УниверсальноеВремя (Global context.ToUniversalTime)
Глобальный контекст (Global context) УниверсальноеВремя (ToUniversalTime) Синтаксис: УниверсальноеВремя(<МестноеВремя>, <ЧасовойПояс>) Параметры: <МестноеВремя> (обязательный) Тип: Дата. Локальное время. <ЧасовойПояс> (необязательный) Тип: Строка; Неопределено. Может быть задан только в коде, исполняемом на сервере, режиме запуска "Толстый клиент" и во внешнем соединении. Идентификатор часового пояса, к которому относится местное время. Если не задан (Неопределено), то часовой пояс компьютера. Список допустимых часовых поясов может быть получен методом ПолучитьДопустимыеЧасовыеПояса. Кроме того, возможно задание часовых поясов смещением от универсального времени (часовые пояса GMT) в формате: GMT{+/-}h[h][:mm] где hh=0:23, mm=0:59. Значение по умолчанию: Неопределено Описание: Преобразует местное время в заданном часовом поясе в универсальное время. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение. См. также: Глобальный контекст, метод ПолучитьДопустимыеЧасовыеПояса Глобальный контекст, метод ТекущаяУниверсальнаяДата |
|||
4
DrZombi
гуру
26.01.15
✎
08:09
|
(1) Лучше так не делать :)
|
|||
5
DrZombi
гуру
26.01.15
✎
08:10
|
+(2) Так же храни смещение пояса в виде числа. Тогда сможешь еще и в запросах получать время региона :)
|
|||
6
svchernova
26.01.15
✎
08:15
|
всем спасибо большое, сейчас попробую, потом отпишусь, как и что. Спасибо!!
|
|||
7
IUnknown
26.01.15
✎
08:15
|
(4)ну да))) не много не то
ТекущаяДата() = МестноеВремя(ТекущаяУниверсальнаяДата(), ЧасовойПояс()) получаем истину |
|||
8
svchernova
26.01.15
✎
08:52
|
Всё получилось, всем вам спасибо большое :)
|
|||
9
yukon
26.01.15
✎
10:10
|
(0) Это читал?
http://its.1c.ru/db/v8std#content:2149184292:hdoc Главная > Разработка и администрирование > Система стандартов и методик разработки конфигураций для платформы 1С:Предприятие 8 > Работа в разных часовых поясах |
|||
10
yukon
26.01.15
✎
10:11
|
+ Твой п. 2.2:
2.2. В тех случаях, когда требуется «универсальная» отметка времени, не зависящая от часового пояса текущего сеанса пользователя, в контексте которого выполняется серверный вызов, следует использовать функцию УниверсальноеВремя. |
|||
11
Челбас
26.01.15
✎
10:17
|
а если тупо в серверном модуле написать функцию
Функция ТекущаяДатаНаСервере() Экспорт Возврат ТекущаяДата(); КонецФункции и ее вызывать? |
|||
12
DrZombi
гуру
26.01.15
✎
10:25
|
(11) Если толстый клиент, то так оно и делать :)
|
|||
13
svchernova
26.01.15
✎
12:20
|
(12) у меня тонкий клиент. делаю так, как здесь посоветовали:
ДатаАстаны = МестноеВремя(ТекущаяУниверсальнаяДата(), "GMT+06:00"); Спасибо! |
|||
14
svchernova
26.01.15
✎
12:21
|
(9) неа :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |