Проверка часового пояса

16.05.16

Администрирование - Информационная безопасность

При использовании терминалок для удаленных баз, иногда при входе в базу данных необходимо исключить возможность входа пользователей с компьютеров с другим часовым поясом. Например, работают в Новосибирской базе с временем UTC +6 и пытаются зайти в базу с UTC +3.

Данная ситуация возникает при размещении баз централизованно и установкой на терминальных серверах времени зоны пользователей.

Существуют следующие методы проверки:

  1. Назначение доступа средствами домена в AD (Active Directory) - работает, но при переезде системные админы часто забывают эти права назначать на определенные компьютеры. 
  2. Проверка часового пояса непосредственно при входе пользователя в 1С (используем именно ее) :

Добавляем константу   

 

Константа.ЧасовойПояс = 3 // Москва

Добавляем функцию проверки при входе в 1С, по результату проверки можно, например, завершить работу пользователя.

Функция ПроверкаЧасовогоПояса()        
    
    Перем  scr;
    Если Константа.ЧасовойПояс > 0 Тогда
        Попытка
            scr = СоздатьОбъект("MSScriptControl.ScriptControl");
            scr.language = "javascript";
            лСкрипт = "function tZone() 
            |    {
            |      nzone =  new Date().getTimezoneOffset()/60*-1;
            |      return(nzone); 
            |}";
            scr.AddCode(лСкрипт);     
            лЧасовойПояс = число(scr.Run("tZone"));
        Исключение
            Сообщить("Не удалось определить часовой пояс","i");
            Возврат 1;
        КонецПопытки;
        
        Если лЧасовойПояс <> Константа.ЧасовойПояс Тогда
            Предупреждение("Часовой пояс: +"+Константа.ЧасовойПояс+"   не соответствует системному  +"+лЧасовойПояс+", смените терминалку или обратитесь к администратору"+РазделительСтрок+
            РазделительСтрок+ "Вы нарушите время документов в базе данных!", 10);
            Возврат 0;
        Иначе        
            Сообщить("UTC +"+лЧасовойПояс);
        КонецЕсли;
        
    КонецЕсли;
    Возврат 1;
    
КонецФункции    // ПроверкаЧасовогоПояса

часовой пояс

См. также

Универсальные функции Программист Платформа 1С v7.7 Россия Абонемент ($m)

В библиотеку собраны различные функции по работе с документами, журналами, типами данных, строками, датой и временем, таблицами значений, Excel, файлами, XML, JSON, Http-сервисами, SMTP серверами и т.п.

1 стартмани

22.12.2023    1377    14    user706545_kseg1971    0    

5

Универсальные функции Программист Платформа 1С v7.7 Конфигурации 1cv7 Россия Бесплатно (free)

Получение реквизитов контрагентов из 1С:Контрагент для старых конфигураций под 1с 7.7.

25.04.2022    2344    zhenyat    7    

8

Универсальные функции Программист Платформа 1С v7.7 Россия Бесплатно (free)

Функция выводит таблицу значений в табличный документ. (v7.7) Особенно полезно при отладке. Не нужно вносить изменения в код, вызываем функцию как вычисляемое выражение при останове. Если таблица обрабатывается в несколько этапов, можно вывести её после каждого и визуально проследить эволюцию.

30.06.2021    5143    Zoltan_Black    11    

2

Универсальные функции Системный администратор Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Установка принтера по умолчанию в 1С 7.7. Обработка может быть полезна в том случае, когда нужно установить принтер по умолчанию, а доступа к рабочему столу нет (например, терминальный режим без рабочего стола или remoteApp)

1 стартмани

13.02.2019    13935    4    alsen    3    

5

Универсальные функции Программист Платформа 1С v7.7 Конфигурации 1cv7 1С:Комплексная 7.7 Абонемент ($m)

Предлагается набор функций 1с 7.7 для формирования строки json стандартными средствами.

1 стартмани

10.12.2018    10774    malovandrey    7    

19

Универсальные функции Работа с интерфейсом Программист Платформа 1С v7.7 Конфигурации 1cv7 Россия Абонемент ($m)

В статье дано описание создания индикатора на форме в среде разработки 1С:Предприятие 7.7 исключительно типовыми средствами.

1 стартмани

27.09.2016    18888    2    HAMMER_59    6    

2
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. v3rter 16.05.16 17:34 Сейчас в теме
Это для 8.0/8.1? Вроде бы как с 8.2 появилась ПолучитьЧасовойПоясИнформационнойБазы() и куча связанных функций-процедур.

[quote]ПолучитьЧасовойПоясИнформационнойБазы()
Возвращаемое значение:

Тип: Строка; Неопределено.
Список допустимых часовых поясов может быть получен методом ПолучитьДопустимыеЧасовыеПояса.
Кроме того, возможно задание часовых поясов смещением от универсального времени (часовые пояса GMT) в формате:
GMT{+/-}h[h][:mm]
где hh=0:23, mm=0:59.
Неопределено, если он не был установлен.
Описание:

Получает строку идентификатора часового пояса информационной базы.

Доступность:

Сервер, толстый клиент, внешнее соединение. [/quote]
2. kudenzov 71 16.05.16 22:50 Сейчас в теме
это код для 1с77, для 8-ки ипользуйте код для создания объектов MSScriptControl.ScriptControl
Оставьте свое сообщение