Не работает регламентное задание на сервере, выдает ошибку "Ошибка при вызове метода контекста (Получить)". Когда запускаю модуль в ручную (так-же на сервере, просто через обработку, в обработке только кнопка), то все работает. В файловой регламентное задание работает. Задание рассылает смс сообщения из записанных данных в регистре сведений. Подскажите пожалуйста как решить проблему.

```1c
    ИмяФайлаРезультата = ПолучитьИмяВременногоФайла();

    РесурсПараметры = РесурсНаСервере+"?"+_Параметры;
    Если СтрДлина(РесурсПараметры) < 2000 Тогда // GET

    Попытка
    Соединение.Получить(РесурсПараметры, ИмяФайлаРезультата);
    Соединение = Неопределено;
    Исключение
    ИнфоООшибке = ИнформацияОбОшибке().Описание;

    ЗаписьЖурналаРегистрации("Ошибка выполнения",
    УровеньЖурналаРегистрации.Ошибка, , ,
    ТекстСообщения + Символы.ПС + " Не удалось получить соединение GET" + Символы.ПС + ИнфоООшибке);
    Возврат Ложь;
    КонецПопытки;
```
---
это я понял, что скопировали.
У вас там вообще доступ в интернет через проски сервер или нет?
Подозреваю что нет. Попробуйте убрать прокси из кода вообще.
---
я же сказал, убрать Прокси совсем из кода.
---
Всем большое спасибо за помощь!
В итоге было Удалено значение прокси из создания нового HTTPСоединения.

```1c
    Попытка
    Если SMSC_HTTPS = 0 Тогда
    Соединение = Новый HTTPСоединение(Сервер, , , , , Ложь);
    //Иначе
    //Соединение = Новый HTTPСоединение(Сервер, , , , Прокси, 10, Новый ЗащищенноеСоединениеOpenSSL);
    Конецесли;
    Исключение
    ИнфоООшибке = ИнформацияОбОшибке().Описание;
    ЗаписьЖурналаРегистрации("Ошибка выполнения",
    УровеньЖурналаРегистрации.Ошибка, , ,
    ТекстСообщения + Символы.ПС + "Не удалось создать объект HTTPСоединение" + Символы.ПС + ИнфоООшибке);
    Возврат Ложь;
    КонецПопытки;
```
---
не видно как инициализируется переменная Соединение.
То что работает в файловой базе не показатель, там все выполняется в контексте клиента.
---
```1c
    Попытка
    Если SMSC_HTTPS = 0 Тогда
    Соединение = Новый HTTPСоединение(Сервер, , , , Прокси, Ложь);
    Иначе
    Соединение = Новый HTTPСоединение(Сервер, , , , Прокси, 10, Новый ЗащищенноеСоединениеOpenSSL);
    Конецесли;
```
---
смотреть на права пользователя ОС под которым запущен сервер 1С, открыт ему доступ в интернет, прокси указан правильный для работы на сервере.
---
Это тоже уже запросил, жду ответа
---
так я то что писали в 17, спрашивал же в 2, вы сказали под админом все делается ><
---
Простите подумал вы про регламентное задание )
---
когда база серверная, все регламентные задания запускает служба, виндовая служба. А виндовая служба запущена от пользователя винды. Вот про этого пользователя я и спрашивал.
---
Подскажите пожалуйста, какая там галочка должна стоять?
---
где какие галочки?
---
он там Администратор пользователей, Полные права, Право администрирования
---
а доступ в интернет то у него есть?
---
Знал бы я как это посмотреть...
---
eу админа спросить?
---
Доступ к интернету есть
---
Добрый день!
А, если в регламентной себя ставите, в "имя пользователя" - срабатывает регламентное, согласно расписанию ?
---
По поводу права доступа в интернет: спрашивали о системной учетной записи от имени которой запускается служба. В файловом варианте создается служба на компьютере где расположена база и запускается от имени пользователя Windows. В серверном варианте насколько я помню служба запускается от имени пользователя USR1CV8 который создается автоматически при установке сервера 1С и используется для запуска службы "Агент сервера 1С:Предприятия 8.3" которая в свою очередь и запускает регламентированные задания 1С на сервере 1С. Для проверки ошибки в 1С добавьте
 Исключение
  ЗаписьЖурналаРегистрации("Установка соединения",
  УровеньЖурналаРегистрации.Информация, , ,
  ОписаниеОшибки());
  Возврат;
 КонецПопытки;
а потом в журнале регистрации просто посмотрите с какой ошибкой вылетает.
---
Все просто, Сервер не имеет доступа к вашему ресурсу.
---
у пользователя под которым запущен сервер доступ в интернет есть, все сайты доступны
---
Может у пользователя из под которого запущена служба, нет прав на доступ в интернет или еще чего?
---
Запущена под админом
---
Может быть на сервере какие-то порты не открыты? Но это просто предположение.
---
Если бы порты были закрыты, то через обработку тоже бы не работало.
В свойсвте общего модуля стоит галка клиент?
---
Клиент, внешнее соединение, сервер стоят. Но регламентное задание по дефолту вроде работает на сервере.
---
Попробуйте перенести в модуль, без клиента. А лучше посмотреть в каком точно выполняется регламентное задание и перенести туда его. Ну чисто для проверки что дело не в галки клиент.
---
А лучше посмотреть в каком точно выполняется регламентное задание и перенести туда его.
Простите, вот это не очень понял
---
а забудьте, чушь сказал) найдите модуль с сервером и внешним соединением, но без клиента.
---
из того что дано могу предположить только это

```1c
    ИмяФайлаРезультата = ПолучитьИмяВременногоФайла();
```

вручную при запуске оно у вас одно, в регламентном оно другое
но это так, пальцем в небо
---
Да он всегда вроде с разным именем, да и файловой базе регламентное работает
---
в файловой базе у вас задание выполняется локально на машине
при ручном запуске у вас клиент тоже локально на машине
и только при регламентном весь код исполняется на сервере

понятно что временный файл всегда разное имя
я про то что возможно какие то проблемы с этим именем на сервере
---
сейчас вот проверяю что он там пишет
---
ну имя вроде нормальное C:\Users\1c_admin\AppData\Local\Temp\v8_5C36_55.tmp
---
оно всегда разное.
---
Вот такое нашел, подскажите нужен прокси или нет? И если нужен то какое имя пользователя писать? От компьютера или Имя пользователя под которым сервер запускается?

```1c
    // соединение с параметрами по умолчанию
    Соединение = Новый HTTPСоединение("www.mysite.ru");

    // сервер использует порт 8080
    Соединение = Новый HTTPСоединение("www.mysite.ru", 8080);

    // сервер использует защищенное соединение (https),
    // для подключения к серверу используется прокси
    ПроксиСервер = Новый интернетПрокси;
    ПроксиСервер.Пользователь = имяПользователя;
    ПроксиСервер.Пароль = парольПользователя;

    Соединение = Новый HTTPСоединение("www.mysite.ru",,,, ПроксиСервер, Истина);
```
---
я так понимаю просто скопипастили код?
Прокси и имя пользователи и пароль от прокси сервера, через который осуществляется доступ в интернет. А он вообще есть и требует доступ по паролю?
---
https://helpf.pro/faq/view/1805.html
---
это я понял, что скопировали.
У вас там вообще доступ в интернет через проски сервер или нет?
Подозреваю что нет. Попробуйте убрать прокси из кода вообще.
---
наоборот добавил, думал поможет, не помогло
---
Сейчас у меня так:

```1c
    Прокси = Неопределено;
    Попытка
    Если SMSC_HTTPS = 0 Тогда
    Соединение = Новый HTTPСоединение(Сервер, , , , Прокси, Ложь);
    Иначе
    Соединение = Новый HTTPСоединение(Сервер, , , , Прокси, 10, Новый ЗащищенноеСоединениеOpenSSL);
    Конецесли;
    Исключение
```
---
я же сказал, убрать Прокси совсем из кода.
---
полный текст ошибки?
---
Ошибка при вызове метода контекста (Получить)
но возникает это тут:

```1c
    Если СтрДлина(РесурсПараметры) < 2000 Тогда // GET

    Попытка
    Соединение.Получить(РесурсПараметры, ИмяФайлаРезультата);
    Соединение = Неопределено; //При переходе на эту строку происходит отправка
    Исключение
    ИнфоООшибке = ИнформацияОбОшибке().Описание;

    ЗаписьЖурналаРегистрации("Ошибка выполнения",
    УровеньЖурналаРегистрации.Ошибка, , ,
    ТекстСообщения + Символы.ПС + " Не удалось получить соединение GET" + Символы.ПС + ИнфоООшибке + Символы.ПС + РесурсПараметры + Символы.ПС + ИмяФайлаРезультата);
    Возврат Ложь;
    КонецПопытки;
```
---
полный текст ошибки. Там после "Ошибка при вызове метода контекста (Получить) " еще должна быть причина.
---
Помимо ИнформацияОбОшибке().Описание, есть еще ИнформацияОбОшибке().Причина.
Вот ее бы хорошо увидеть.
---
ее только вечером смогу посмотреть
---
Только на сервере и только при работе регламентного задания
---
я конечно фигню сказать могу но я понял так
что когда в ручную запускаете все ровно работает?
а когда задание регламента нет?
значит скорее всего надо выставить пользователя от которого будет выполняться данная задача по крайней мере у меня было так
---
когда запускаем процедуру в ручную то все обрабатывается, а регламентное задание не работает
пользователя под которым выполняется регламентное задание менял
---
А что в журнале регистрации?
ЗаписьЖурналаРегистрации("Ошибка выполнения",
            УровеньЖурналаРегистрации.Ошибка, , ,
            ТекстСообщения + Символы.ПС + " Не удалось получить соединение GET" + Символы.ПС + ИнфоООшибке + Символы.ПС + РесурсПараметры + Символы.ПС + ИмяФайлаРезультата);
Какую ошибку здесь пишет? И где вы меняли пользователя? Я выше писал:
"служба запускается от имени пользователя USR1CV8 который создается автоматически при установке сервера 1С и используется для запуска службы "Агент сервера 1С:Предприятия 8.3" которая в свою очередь и запускает регламентированные задания 1С на сервере 1С". Если ошибка установки соединения, то нужно добавить прав на сервере пользователю от имени которого запускается служба "Агент сервера 1С:Предприятия 8.3" и перезагрузить сервер.
---
Менял пользователя примерно как в 47, в службе "Агент сервера 1С:Предприятия 8.3" прописан прописан пользователь у которого доступ к интернету есть, сайты не заблокированы
ИнфоООшибке = Ошибка при вызове метода контекста (Получить)
РесурсПараметры = /sys/send.php?login=%00%69%00%63%00%40%04%43%04%34%04%3E%04%32%04%30%04%3D­%04%38%04%35%00%20%04%33%04%3E%04%42%04%3E%04%32%04%3E%00%20­%04%3A%00%20%04%32%04%4B%04%34%04%30%04%47%04%35%00%2E%00%20­%04%1A%04%32%04%38%04%42%04%30%04%3D%04%46%04%38%04 ...........
ИмяФайлаРезультата = C:\Users\1c_admin\AppData\Local\Temp\v8_5C36_55.tmp
---
А у пользователя от которого запускается сервер 1С есть доступ к папке C:\Users\1c_admin\AppData\Local\Temp\ ?
---
там скорее всего веб сервер файловый
и скорее всего к темпу допушен пользователь из сети (забыл уже как он называеться)
---
Учитывая что - "ИнфоООшибке = Ошибка при вызове метода контекста (Получить)". Ошибка не в том что метод не найден и не указано что ошибка параметра 1 или 2 - на ошибки формата параметров метода платформа по идее должна проверять до выполнения метода. Значит ошибка возникает в процессе выполнения метода. Параметров всего два: 1 строка GET запроса - если ошибка не в ней и пользователь windows имеет право на отправку GET запроса, тогда ошибка возникает при получении ответа от сервера, ответ будет записан в файл указанный во втором параметре.
---
сейчас пытаюсь подключиться к этому пользователю
---
Если сайт Ваш, попросите того кто занимается сайтом, чтобы посмотрел: приходит ли GET запрос и что сайт отправляет в ответ. Можно ещё в качестве второго параметра указать статический путь к существующему файлу в папке к которой открыть доступ всем.
---
Не нужно подключаться, если знаете пароль этого пользователя, найдите ярлычок блокнота notepad.exe зажмите клавишу shift и нажмите правую кнопку мышки выберите "Запустить от имени другого пользователя" введите логин и пароль пользователя, нажмите файл - открыть и в проводнике диалога открытия файла Вы сможете проверить какие каталоги и с какими правами доступны этому пользователю. Конечно всё это нужно проделывать на том сервере на котором выполняется серверный код 1С.
---
восстанавливаю пароль
---
C:\Users\1c_admin\AppData\Local\Temp\
Доступ к папке есть, файлы создаются
---
Нужно посмотреть ИнформацияОбОшибке().Причина и "Если сайт Ваш, попросите того кто занимается сайтом, чтобы посмотрел: приходит ли GET запрос и что сайт отправляет в ответ"
---
Сайт не наш, ИнформацияОбОшибке().Причина смогу посмотреть только вечером.
---
Для полноты представления ошибки используйте ПодробноеПредставлениеОшибки(Ошибка). Тогда вы увидите весь стек ошибок и не нужно гадать.
---
И кстати как писал spacecraft если можно посмотреть параметр информации об ошибке "ИнформацияОбОшибке().Причина"
---
вот
---
Смотрите права пользователя под которым сервер крутится, ИмяФайлаРезультата содержит путь к временному файлу (на сервере!), скорее всего к нему нет доступа на запись, или эта переменная вообще пустая (потому что не хватило прав на его получение), а вообще уже пора заканчивать грузить диск сервера, а использовать методы HTTPОтвет-а ПолучитьТелоКакСтроку или ПолучитьТелоКакДвоичныеДанные )
---
А и стоп!
HTTPСоединение (HTTPConnection)
Получить (Get)
Синтаксис:

Получить(<HTTPЗапрос>, <ИмяВыходногоФайла>)
Параметры:

<HTTPЗапрос> (обязательный)

Тип: HTTPЗапрос.
HTTP-запрос.
<ИмяВыходногоФайла> (необязательный)

Тип: Строка.
Имя файла, в который помещаются данные полученного ресурса. Если не указан или содержит пустую строку, то тело ответа может быть получено из объекта HTTPОтвет.
Возвращаемое значение:

Тип: HTTPОтвет.

Описание:

Получает данные с HTTP-сервера, используя GET-запрос.

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

Тонкий клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).
---
Всем большое спасибо за помощь!
В итоге было Удалено значение прокси из создания нового HTTPСоединения.

```1c
    Попытка
    Если SMSC_HTTPS = 0 Тогда
    Соединение = Новый HTTPСоединение(Сервер, , , , , Ложь);
    //Иначе
    //Соединение = Новый HTTPСоединение(Сервер, , , , Прокси, 10, Новый ЗащищенноеСоединениеOpenSSL);
    Конецесли;
    Исключение
    ИнфоООшибке = ИнформацияОбОшибке().Описание;
    ЗаписьЖурналаРегистрации("Ошибка выполнения",
    УровеньЖурналаРегистрации.Ошибка, , ,
    ТекстСообщения + Символы.ПС + "Не удалось создать объект HTTPСоединение" + Символы.ПС + ИнфоООшибке);
    Возврат Ложь;
    КонецПопытки;
```