|
Не работает рассылка отчетов при запросе через HTTP-сервис. | ☑ | ||
---|---|---|---|---|
0
dark70
29.03.22
✎
07:24
|
Есть отчет, в нем формируется текст запроса, выполняется в текущей базе и точно такой же отправляется на HTTP-сервис удаленной базы, а оттуда получает результат.
Если этот отчет формировать вручную, все работает. Если же через рассылку, то выдает ошибку, что отчет не сформирован. Хотя логин и пароль при подключении к удаленной базе вбиты в самом модуле отчета и не меняются хоть вручную подключаюсь, хоть через рассылку. Методом научного тыка дошел до строки ОтветHTTP = Соединение2.ОтправитьДляОбработки(Запрос); Если эту строку закомментировать и все, что дальше, то рассылка отрабатывает. Понятно, что отчет не получил данные из удаленной базы. Не могу понять, что этой рассылке нужно ? Вручную работает отчет, через рассылку валится на запросе к удаленной базе. Но ведь подключение к ней идет с одними и теми же логином и паролем. |
|||
1
dark70
29.03.22
✎
08:03
|
Странно, что даже не заходит в отладчике в HTTP-сервис удаленной базы.
Валится вот на этой строке Соединение2.ОтправитьДляОбработки(Запрос); |
|||
2
acht
29.03.22
✎
08:42
|
(0) > подключение к ней идет
С разных физических машин, с разными настройками сети, из под разных пользователей ОС. |
|||
3
dark70
29.03.22
✎
08:58
|
Все делается на локальном домашнем компе.
Базы файловые, лежат на одном диске. |
|||
4
Лирик
29.03.22
✎
10:15
|
Стесняюсь спросить, а какой тип имеет переменная "Запрос"?
|
|||
5
dark70
29.03.22
✎
10:24
|
Запрос = Новый HTTPЗапрос;
Запрос.УстановитьТелоИзСтроки(СтрокаJSON, "UTF-8"); Суть проблемы в том, что если этот же отчет формировать интерактивно, то все нормально. Если же его подключить к рассылке, то валится. |
|||
6
acht
29.03.22
✎
10:39
|
(5) > валится
Текст ошибки секретен? |
|||
7
dark70
29.03.22
✎
11:05
|
Рассылка отчетов не выполнена, так как отчеты пустые или не сформированы из-за ошибок.
|
|||
8
acht
29.03.22
✎
11:07
|
(7) Это Соединение2.ОтправитьДляОбработки(Запрос) такую ошибку пишет?
|
|||
9
dark70
29.03.22
✎
11:23
|
Соединение2.ОтправитьДляОбработки(Запрос) никакой ошибки не пишет.
Я же уже писал "ОтветHTTP = Соединение2.ОтправитьДляОбработки(Запрос); Если эту строку закомментировать и все, что дальше, то рассылка отрабатывает" "Рассылка отчетов не выполнена, так как отчеты пустые или не сформированы из-за ошибок." это в ЖР. |
|||
10
Kassern
29.03.22
✎
11:23
|
(5) ну так интерактивно вы под собой запускаете и имеете нужные права, а рассылка уже не под вами скорее всего запускается и нет прав
|
|||
11
Kassern
29.03.22
✎
11:24
|
(9) под кем запускается рассылка?
|
|||
12
dark70
29.03.22
✎
11:27
|
(10) Нет.
Подключение к удаленной базе под одним и тем же пользователем. Все параметры жестко прописаны в самом модуле отчета. ИмяКомпьютера = "localhost"; Пользователь = "Администратор"; Пароль = "1111"; Запрос = Новый HTTPЗапрос; Запрос.АдресРесурса = "/GetAnyRequest"; //адрес ресурса HTTP-сервиса в конфигураторе; Запрос.УстановитьТелоИзСтроки(СтрокаJSON, "UTF-8"); ИмяHTTP_сервиса = "Exchange"; ПутьКБазе = "Buh" ; Соединение2 = Новый HTTPСоединение(ИмяКомпьютера+"/"+ПутьКБазе+"/hs/"+ИмяHTTP_сервиса+"",,Пользователь, Пароль); ОтветHTTP = Соединение2.ОтправитьДляОбработки(Запрос); |
|||
13
dark70
29.03.22
✎
11:30
|
(11) Я сижу под Администратором в текущей базе. Открываю из дополнительных свой отчет. Кликаю по "Сформировать".
Все нормально работает. Тут же, не выходя из базы кликаю по "Выполнить сейчас". В ответ "Рассылка отчетов не выполнена, так как отчеты пустые или не сформированы из-за ошибок." |
|||
14
Kassern
29.03.22
✎
11:38
|
(13) вы не поняли меня... Вы когда нажили "Сформировать" вы это сделали под юзером Админ, с полными правами. А когда жмякнули "Выполнить сейчас" это уже запускается фоновое/регламентное задание, которое не факт что от админа запускается.
|
|||
15
Kassern
29.03.22
✎
11:40
|
в скульных базах регламентные задания еще и под юзвером службы агента 1с запускаются, если мне не изменяет память, а для него может и не быть права стучаться по http и что-то там запрашивать.
|
|||
16
Kassern
29.03.22
✎
11:42
|
как там в файловых базах организовано уже не помню, давно с ними не возился
|
|||
17
Kassern
29.03.22
✎
11:43
|
текст ошибки хоть какой?
|
|||
18
acht
29.03.22
✎
11:45
|
(9) > эту строку закомментировать и все, что дальше,
Ну начинается... И что там еще закоммиентировано "все, что дальше"? |
|||
19
dark70
29.03.22
✎
11:46
|
(17) Как таковой ошибки при выполнении нет. Есть только сообщение , что отчет не отправлен и запись в журнале регистраций.
"Рассылка отчетов не выполнена, так как отчеты пустые или не сформированы из-за ошибок." |
|||
20
dark70
29.03.22
✎
11:46
|
(18) спасибо, что поднимаете тему :)
|
|||
21
Kassern
29.03.22
✎
11:48
|
(19) И что в записи журнала регистрации?
|
|||
22
Kassern
29.03.22
✎
11:49
|
если там ничего не найдете, то сами оберните в попытку исключение эту строчку с ошибкой и зафиксируйте куда нибудь текст ошибки.
|
|||
23
acht
29.03.22
✎
11:56
|
(20) Давай-ка ты дальше сам
|
|||
24
dark70
29.03.22
✎
12:15
|
(21) В ЖР.
Пользователь Админ Фоновое задание Событие Рассылка отчетов. Запуск по требованию Комментарий Рассылка отчетов не выполнена, так как отчеты пустые или не сформированы из-за ошибок. |
|||
25
Kassern
29.03.22
✎
12:40
|
||||
26
dark70
29.03.22
✎
14:43
|
Добрался до ошибки.
Значение не является значением объектного типа (ПолучитьТелоКакСтроку) Ошибка в HTTP-методе POST JSON_Struktura = Запрос.ПолучитьТелоКакСтроку("UTF-8"); Сам HTTP-сервис находится в расширении удаленной базы. |
|||
27
dark70
29.03.22
✎
16:01
|
(25) почитал. На компе я один пользователь, права админские. Антивируса нет, только виндовый брандмауэр с настройками по умолчанию. Прокси нет.
Понятно, что надо как-то с правами решать, но не пойму куда лезть. |
|||
28
dark70
29.03.22
✎
17:23
|
Все, победил :)
Не работало если был адрес localhost. Переделал на 127.0.0.1 и все наладилось. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |