|
HTTP-сервис. Ошибка при изменении кода в модуле http-сервиса... | ☑ | ||
---|---|---|---|---|
0
AnBlast
02.12.19
✎
17:45
|
День добрый...
Есть http-сервис и модуль в котором обрабатываются запросы-ответы. Добавляю туда новую функцию и все валится "Ошибка инициализации библиотеки модулей". Закомментировал код - все ок. Получается надо перепубликовать сервис на сервисе? Или как то это можно обойти? Заранее Спасибо! |
|||
1
palsergeich
02.12.19
✎
17:48
|
(0) Надо просто написать функцию так, что бы сервис не падал, перепубликация нужна только при добавлении новых сервисов.
|
|||
2
palsergeich
02.12.19
✎
17:49
|
Если бы была проблема с публикацией ты бы получил 404 ошибку
|
|||
3
palsergeich
02.12.19
✎
17:50
|
А тут по ходу используется код, который не допустимв контексте HTTPсервиса и надо перенести его в контекст сервера
|
|||
4
palsergeich
02.12.19
✎
17:57
|
Пкажи код, который приводит к падению
|
|||
5
AnBlast
02.12.19
✎
17:58
|
я вообще нигде не вызываю новую функцию. просто дописал ее - обновил конфу и фсе. или это сути дела не меняет?
|
|||
6
palsergeich
02.12.19
✎
17:59
|
(5) Не меняет, даже если не используешь, в момент вызова модуль компилируется весь.
Ну и соответственно при ошибке компиляции, даже если не используется - все падает. |
|||
7
AnBlast
02.12.19
✎
18:01
|
(6) два запроса банальных - первый выбирает список заюзанных обьектов, второй делает делает все объекты кроме полученных в первом запросе
|
|||
8
Ник080808
02.12.19
✎
18:03
|
(7) а функция случайно не в клиентском модуле?
|
|||
9
AnBlast
02.12.19
✎
18:04
|
(8) рядом с моей точно такая же функция, но написанная до меня - запрос возвращающий список
|
|||
10
AnBlast
02.12.19
✎
18:05
|
код вот такой
Функция ПолучитьКоличествоСвободныхНомеровПоКатегориям(ДатаНачала, ДатаОкончания) //ПолучимСписокЗанятых ЗапросЗанятых = Новый Запрос; ЗапросЗанятых.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | СостояниеНомеров.Номер |ИЗ | РегистрСведений.СостояниеНомеров КАК СостояниеНомеров |ГДЕ | (СостояниеНомеров.ДатаНачала МЕЖДУ &ДатаНачала И &ДатаОкончания | ИЛИ СостояниеНомеров.ДатаОкончания МЕЖДУ &ДатаНачала И &ДатаОкончания | ИЛИ (СостояниеНомеров.ДатаНачала <= &ДатаНачала | И СостояниеНомеров.ДатаОкончания >= &ДатаОкончания)) | И СостояниеНомеров.Состояние В(&СписокСостояний)"; ЗапросЗанятых.УстановитьПараметр("ДатаНачала", ДатаНачала); ЗапросЗанятых.УстановитьПараметр("ДатаОкончания", ДатаОкончания); СписокСостояний = Новый Массив; СписокСостояний.Добавить(Перечисления.СостоянияНомеров.Забронирован); СписокСостояний.Добавить(Перечисления.СостоянияНомеров.Заселен); СписокСостояний.Добавить(Перечисления.СостоянияНомеров.Выехал); ЗапросЗанятых.УстановитьПараметр("СписокСостояний", СписокСостояний); СписокЗанятыхНомеров = ЗапросЗанятых.Выполнить().Выгрузить().ВыгрузитьКолонку("Номер"); //ПолучимСписокДоступных как Все-ПолучимСписокЗанятых ЗапросСвободных = Новый Запрос; ЗапросСвободных.Текст = "ВЫБРАТЬ | СправочникОтделы.Ссылка КАК Ссылка, | СправочникОтделы.Код КАК Код, | СправочникОтделы.Наименование КАК Наименование, | СправочникОтделы.КатегорияНомера КАК КатегорияНомера, | СправочникОтделы.КодФиделио КАК КодФиделио |ИЗ | Справочник.Отделы КАК СправочникОтделы |ГДЕ | СправочникОтделы.КатегорияНомера <> ЗНАЧЕНИЕ(Справочник.КатегорииНомеровГостиницы.ПустаяСсылка) | И СправочникОтделы.ДатаНач <> ДАТАВРЕМЯ(1, 1, 1) | И НЕ СправочникОтделы.Ссылка В (&СписокЗанятыхНомеров)"; ЗапросСвободных.УстановитьПараметр("СписокЗанятыхНомеров", СписокЗанятыхНомеров); СвободныеНомера = ЗапросСвободных.Выполнить().Выгрузить(); Возврат СвободныеНомера; КонецФункции; |
|||
11
Ник080808
02.12.19
✎
18:05
|
(9) код показывай
|
|||
12
Ник080808
02.12.19
✎
18:08
|
(10) ты же тзшку возвращаешь
https://forum.infostart.ru/forum9/topic177796/ |
|||
13
Ник080808
02.12.19
✎
18:08
|
"Потратил уйму времени, ошибка была в том, что в процедуре использовался возврат значения, но проверка на синтаксис ничего не давала."
|
|||
14
AnBlast
02.12.19
✎
18:13
|
(12) я эту статью читаю уже пятый день ))
в соседней функции, которая делает то же самое, только иначе возврат Возврат Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Комната"); и все ок Поставил в моей Возврат 1; Все равно валится с той же ошибкой |
|||
15
Ник080808
02.12.19
✎
18:14
|
(14) так тут идет возврат массива, а ты тз возвращаешь
юзай Та же ситуация. Помог режим проверки *Сервер* (Параметры - Модули - Проверка). |
|||
16
AnBlast
02.12.19
✎
18:22
|
(15) а я %%%%т!! ))
Точка с запятой после КонецФункции Режим проверки помог - Спасибо! |
|||
17
palsergeich
02.12.19
✎
18:23
|
(16) Ахахахаха, я тоже этого не заметил)))
|
|||
18
palsergeich
02.12.19
✎
18:23
|
(17) А у меня с сервисом троже была такая штука)
|
|||
19
Ник080808
02.12.19
✎
18:29
|
(17) мало кто заметил. вернее заметил никто)
|
|||
20
craxx
02.12.19
✎
18:31
|
(19) Я сразу заметил.
|
|||
21
AnBlast
02.12.19
✎
18:33
|
(20) спс, что сразу помог ))
|
|||
22
craxx
02.12.19
✎
18:35
|
(21) Ну сорри, тему только сейчас открыл.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |