Каталог решений - Проверка часового пояса

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

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

В наличии

При использовании терминалок для удаленных баз, иногда при входе в базу данных необходимо исключить возможность входа пользователей с компьютеров с другим часовым поясом. Например, работают в Новосибирской базе с временем 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;
    
КонецФункции    // ПроверкаЧасовогоПояса
has been added to your cart:
Оформление заказа