Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Переделываю обработку с 7-ки, ошибка- Scr = СоздатьОбъект("MSScriptControl.ScriptControl")

Переделываю обработку с 7-ки, ошибка- Scr = СоздатьОбъект("MSScriptControl.ScriptControl")
Я
   SkillUp
 
15.07.20 - 12:08
Здравствуйте, переделываю обрабоку с 7-ки на 8-ку (обычные формы), ошибка на строке Scr = СоздатьОбъект("MSScriptControl.ScriptControl"). Переделываю на Scr = Новый COMОбъект("MSScriptControl.ScriptControl"), так же ошибка :{ВнешняяОбработка.ОтгрузкаКонстар.Форма.Форма.Форма(23)}: Ошибка при вызове конструктора (COMОбъект)
        Scr = Новый COMОбъект("MSScriptControl.ScriptControl");
по причине:
-2147024891(0x80070005): Отказано в доступе.)

Сам код:
    WinHttp = Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
    WinHttp.Open("GET", СсылкаНаФайлDropbox, 0);
    WinHttp.Send();
    
    Если WinHttp.Status = 200 Тогда
        Scr = СоздатьОбъект("MSScriptControl.ScriptControl");
        Scr.Language = "vbscript";
        ТекстМодуля = "
        |Sub SaveToFile(ByRef FileName, ByRef WinHttp)
        |    Set Stream = CreateObject(""ADODB.Stream"")
        |    Stream.Type = 1
        |    Stream.Mode = 3
        |    Stream.Open
        |    Stream.Write WinHttp.responseBody
        |    Stream.SaveToFile FileName, 2
        |    Stream.Close
        |End Sub";
        
        Scr.AddCode(ТекстМодуля);
        Scr.Run("SaveToFile",ИмяФ, WinHttp);
    Иначе  
        Сообщить("Ошибка!");
        Возврат;
    КонецЕсли;

Подскажите из-за чего? Задача - получить и сохранить экселевский файл на диск, с Dropbox.
   Tatitutu
 
1 - 15.07.20 - 12:09
   SkillUp
 
2 - 15.07.20 - 12:24
(1) Ок, сп.
   Ёпрст
 
3 - 15.07.20 - 12:25
(0) ну как бэ, в снеговике, для этого ни MSScriptControl, ни WinHttpRequest ни разу не упал (ну разве что в 8.1 и ранее)
   fisher
 
4 - 15.07.20 - 12:26
Странно. Если ОФ и с клиента, то на права ругаться не должно, ибо запускается под твоими правами. Неужели серверный модуль, типа задание регламентное или еще что?
А вообще, по-идее это должно переписываться на нативное HTTP-соединение
   Ёпрст
 
5 - 15.07.20 - 12:28
+3 смотри HTTPСщединение и его методы
Получить(<HTTPЗапрос>, <ИмяВыходногоФайла>)
   SkillUp
 
6 - 15.07.20 - 12:34
(5) (4) (3) (1)  Решил проблемы так, может куому-то пригодиться:

    Если WinHttp.Status = 200 Тогда
        StreamOut = Новый COMОбъект("ADODB.Stream");
        StreamOut.Type = 1;
        StreamOut.Mode = 3;
        StreamOut.Open();
        StreamOut.Write(WinHttp.ResponseBody);
        //РежимДиалога = РежимДиалогаВыбораФайла.Открытие;

        //Диалог = Новый ДиалогВыбораФайла(РежимДиалога);

        StreamOut.SaveToFile(ИмяФ, 2);
        StreamOut.Close();
        StreamOut = Неопределено;
    Иначе  
        Сообщить("Ошибка!");
        Возврат;
    КонецЕсли;

Список тем форума
Рекламное место пустует  Рекламное место пустует
Ошибка? Это не ошибка, это системная функция.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.