Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Выполнение JavaScript в фоновом задании
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
kosalex
Здравствуйте! Реализую подключение к API которое использует шифрование SHA512. На просторах интернета нашел такое решение
Секрет = Константы.Секрет.Получить();
    Текст = Новый COMОбъект("System.Text.UTF8Encoding");
    Криптография = Новый COMОбъект("System.Security.Cryptography.HMACSHA512");
    Криптография.Key = Текст.GetBytes_4(Секрет);
    ХешБайт = Криптография.ComputeHash_2(Текст.GetBytes_4(Запись.Значение)).Выгрузить();
    HTML = Новый COMОбъект("htmlfile");
    HTML.Open("text/html");
    HTML.Write("<script>TransformString = function(x,y){return x.toString(y?y:16)}</script>");
    ЯваСкрипт = HTML.documentElement.document.Script;
    
    Хеш = "";
    Для Каждого Байт Из ХешБайт Цикл
        Символ = ЯваСкрипт.TransformString(Байт);
        Хеш = Хеш + ?(СтрДлина(Символ) = 2, Символ, "0"+Символ);
    КонецЦикла;


Проблема заключается в следующем, если запустить этот код не в фоновом задании то строка "ЯваСкрипт = HTML.documentElement.document.Script;" отрабатывает нормально, "Script" существует. А вот когда запускается в фоне, то вылетает с ошибкой что "Script" нет такого. Подскажите как быть, что делать?
sava1
Попробуйте запускать под пользователем, если база клиент- сервере, то вдобавок с соответствующими правами.
kosalex
sava1 @ Сегодня, 22:08 необходимо зарегистрироваться для просмотра ссылки ,
Вы имеете ввиду открыть еще одну копию программы ?

У меня обработка, которая запускает фоновое задание. В обработке есть цикл который постоянно мониторит таблицу. Фоновое задание выполняет анализ данных и пишет в РС. В обработке выборка из этого РС и в таблицу.


sava1 @ Сегодня, 22:08 необходимо зарегистрироваться для просмотра ссылки ,
база у меня файловая.

sava1 @ Сегодня, 22:08 необходимо зарегистрироваться для просмотра ссылки ,
и запускаю через "Запустить от имени администратора" сам конфигуратор и далее F5

kosalex @ Сегодня, 21:19 необходимо зарегистрироваться для просмотра ссылки ,

а что делает этот скрипт HTML.Write("<script>TransformString = function(x,y){return x.toString(y?y:16)}</script>"); ?
logist
Цитата(kosalex @ 23.12.17, 23:54) необходимо зарегистрироваться для просмотра ссылки
а что делает этот скрипт

Если указан "у" функция вернет число "х" строкой в шестнадцатеричном, иначе в двоичном формате.
kosalex
kosalex @ Вчера, 23:54 необходимо зарегистрироваться для просмотра ссылки ,
Решение нашел здесь необходимо зарегистрироваться для просмотра ссылки
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.