НастройкиОбработкиОшибокПриЗапуске.АдресСервисаОбработкиОшибокПриЗапуске

Свойства · ErrorOnStartupProcessingServiceAddress

Тип: Строка. Адрес, по которому будет осуществлен GET-запрос дополнительной информации. Запрос содержит следующие заголовки, которые можно использовать для анализа: errorDescr – полный текст ошибки, appName – имя приложения, appVersion – версия клиентского приложения, clientID – идентификатор клиента, additionalInfo – дополнительная информация из настроек обработки ошибок. В ответ ожидается JSON-документ со следующей структурой: { userMessage:string userMessageEndTime:string } Где: userMessage – строка, которая может содержать теги <b> и <a href=…> userMessageEndTime – строка даты в формате ISO 8601. Если адрес не пуст и на запрос был получен валидный ответ, то полученная строка отобразится на форме ошибке (ниже строки, указанной в <ТекстПомощи>), если текущее время на клиенте меньше userMessageEndTime. Если userMessageEndTime не задан, то строка отобразится без учета текущего времени. Значение по умолчанию: Пустая строка.

Полное описание, параметры и ограничения

НастройкиОбработкиОшибокПриЗапуске.АдресСервисаОбработкиОшибокПриЗапуске (ErrorOnStartupProcessingSettings.ErrorOnStartupProcessingServiceAddress)

НастройкиОбработкиОшибокПриЗапуске (ErrorOnStartupProcessingSettings)

АдресСервисаОбработкиОшибокПриЗапуске (ErrorOnStartupProcessingServiceAddress)

Доступен, начиная с версии 8.3.21.

Использование:
Чтение и запись.
Описание:
Тип: Строка.
Адрес, по которому будет осуществлен GET-запрос дополнительной информации.
Запрос содержит следующие заголовки, которые можно использовать для анализа:
errorDescr – полный текст ошибки,

appName – имя приложения,

appVersion – версия клиентского приложения,

clientID – идентификатор клиента,

additionalInfo – дополнительная информация из настроек обработки ошибок.

В ответ ожидается JSON-документ со следующей структурой:

{
userMessage:string
userMessageEndTime:string
}

Где:
userMessage – строка, которая может содержать теги <b> и <a href=…>

userMessageEndTime – строка даты в формате ISO 8601.

Если адрес не пуст и на запрос был получен валидный ответ, то полученная строка отобразится на форме ошибке (ниже строки, указанной в <ТекстПомощи>), если текущее время на клиенте меньше userMessageEndTime. Если userMessageEndTime не задан, то строка отобразится без учета текущего времени.
Значение по умолчанию: Пустая строка.
Доступность:

Сервер, толстый клиент.

Использование в версии:

Доступен, начиная с версии 8.3.21.

Методическая информация

Практические примеры

Разобрать помощь при ошибке входа без перехода по ссылке

Настройки при запуске отличаются от отчёта об уже работающем сеансе. Читаем четыре поля, но не выполняем GET сервиса, не открываем справочную страницу и не выводим дополнительные заголовки.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Учебная копия базы 8.5.1.1343: серверный общий модуль УчебныеЗадачи, процедура ВыполнитьПример() Экспорт. Каждый код без директив вставляйте в тело отдельно.

  2. Текущий учебный пользователь должен иметь Администрирование данных для чтения общих настроек. Не обходите отказ в доступе привилегированным режимом.

  3. ПолучитьНастройкиПользователя вызывается без имени: исследуется только текущий пользователь, не произвольный сотрудник.

  4. Задания только читают. Не вызывайте УстановитьНастройкиПользователя/УстановитьОбщиеНастройки, не имитируйте падение 1С и не отправляйте отчёт во внешние сервисы.

  5. Значения зависят от учебной базы. Диагностический вывод не доказывает отправку отчёта, получение согласия пользователя или доступность сервиса.

Помощь = ОбработкаОшибок.ПолучитьНастройкиОбработкиОшибокПриЗапуске();
ЕстьСервис = Помощь.АдресСервисаОбработкиОшибокПриЗапуске <> "";
ЕстьСсылка = Помощь.НавигационнаяСсылкаПомощи <> "";
Сообщить("Адрес сервиса дополнительной информации задан: " + Строка(ЕстьСервис));
Сообщить("Навигационная ссылка помощи задана: " + Строка(ЕстьСсылка));
Сообщить("Длина дополнительной информации запроса: " + Строка(СтрДлина(Помощь.ДополнительнаяИнформацияЗапроса)));
Сообщить("Длина текста помощи: " + Строка(СтрДлина(Строка(Помощь.ТекстПомощи))));
Если ЕстьСервис Тогда
    Сообщить("Платформа может использовать GET при ошибке входа; этот диагностический код GET не выполняет");
КонецЕсли;
Если ЕстьСсылка Тогда
    Сообщить("Есть настройка внешней помощи; фактический показ кнопки/доступность страницы здесь не проверяются");
КонецЕсли;

Разбор по шагам

  1. ПолучитьНастройкиОбработкиОшибокПриЗапуске требует Администрирование данных; код не повышает права.

  2. Сервис дополнительной информации, внешняя ссылка и текст помощи имеют разные роли.

  3. ДополнительнаяИнформацияЗапроса помещается платформой в заголовок соответствующего запроса; выводим только длину.

  4. Не проверяем внешнюю страницу, не инициируем неудачный вход и не меняем четыре поля.

Как проверить результат

  1. Всегда четыре диагностические строки: два наличия и две длины; значения зависят от собственной учебной базы.

  2. В выводе нет URL, заголовков, текста помощи и содержимого страницы; никаких запросов или запусков браузера.

Ожидаемый результат

Получен безопасный паспорт справочных настроек ошибки входа.

На что обратить внимание

  1. Настроенный URL не доказывает доступность сервиса и не заменяет исправление причины отказа входа.

  2. Этот объект не является НастройкиОбработкиОшибок для обычных отчётов сеанса.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.