Тип: Строка. Произвольная дополнительная информация, которая будет добавлена в отчет. Если в настройках для пользователя пустая строка, то значение параметра будет получено из общих настроек. Данная строка может содержать имя/код базы и/или области, либо любую другую указанную разработчиком информацию.
Полное описание, параметры и ограничения
НастройкиОбработкиОшибок.ДополнительнаяИнформацияОтчета (ErrorProcessingSettings.AdditionalReportInformation)
НастройкиОбработкиОшибок (ErrorProcessingSettings)
ДополнительнаяИнформацияОтчета (AdditionalReportInformation)
Доступен, начиная с версии 8.3.17.
Использование:
Чтение и запись.
Описание:
Тип: Строка.
Произвольная дополнительная информация, которая будет добавлена в отчет.
Если в настройках для пользователя пустая строка, то значение параметра будет получено из общих настроек.
Данная строка может содержать имя/код базы и/или области, либо любую другую указанную разработчиком информацию.
Доступность:
Сервер, толстый клиент.
Использование в версии:
Доступен, начиная с версии 8.3.17.
Описание изменено в версии 8.3.18.
Методическая информация
Практические примеры
Отправить учебный отчёт только в свой заранее настроенный сервис
Полный пример отправки проверяет собственную конфигурацию, совпадение адреса, режим вопроса пользователю и запрет чувствительных категорий. Успех вызова не выдаётся за приём отчёта сервисом.
Где и как запускать
Полный модуль собственной управляемой формы: клиентская команда и клиентская функция создания контролируемого отчёта. В последнем уроке есть также серверная проверка политики.
Подготовка
Используйте собственную пустую учебную базу УчебнаяКонфигурацияСинтаксиса и отдельного учебного пользователя. Создайте управляемую обработку с командой ВыполнитьПример. Полный код каждого урока вставляйте в отдельную копию модуля формы.
Запускайте в тонком клиенте Windows или поддерживаемом толстом клиенте. Здесь не пример мобильного сервера: методы записи/отправки отчёта по справке клиентские.
Создаётся только контролируемое исключение с учебным сообщением. Не провоцируйте аварийное завершение 1С и не подменяйте его реальной рабочей ошибкой, содержащей персональные данные.
Отчёт автоматически использует настройки пользователя. До опыта вручную настройте в собственной базе запрет включения имени пользователя, сведений базы, подробного текста, системной информации и снимков. Просматривайте интерактивный отчёт перед сохранением/отправкой; сам конструктор не является анонимизацией.
Это необязательное упражнение с реальной сетью. Выполняйте только если вы самостоятельно подготовили и проверили принадлежащий вам учебный сервис приёма отчётов платформы. Не используйте чужой URL, рабочую поддержку, случайный HTTP-обработчик или фиктивный домен.
В собственной форме создайте строковые реквизиты УчебныйАдресСервиса и ПодтверждениеОтправки с полями ввода; изначально оба пустые. Настройки адреса/политики выставьте вручную только своему учебному пользователю. Общие дополнительные сведения должны быть пустыми.
Для чтения общих настроек учебный пользователь должен иметь Администрирование данных. Код не меняет политику, не обходит отказ в доступе и не включает привилегированный режим.
Перед запуском введите адрес своего сервиса и точную фразу ОТПРАВИТЬ УЧЕБНЫЙ ОТЧЕТ В МОЙ СЕРВИС. В открывшейся форме просмотрите все категории, адресата и окончательно подтвердите либо отмените. Отдельно проверьте журнал собственного получателя.
&НаКлиенте
Процедура ВыполнитьПример(Команда)
Если ПодтверждениеОтправки <> "ОТПРАВИТЬ УЧЕБНЫЙ ОТЧЕТ В МОЙ СЕРВИС" Тогда
ВызватьИсключение "Нужно явное подтверждение учебной отправки";
КонецЕсли;
Если ПустаяСтрока(УчебныйАдресСервиса) Тогда
ВызватьИсключение "Укажите адрес своего заранее настроенного учебного сервиса";
КонецЕсли;
ПроверитьСвойУчебныйСервисНаСервере(УчебныйАдресСервиса);
Отчет = СоздатьСобственныйУчебныйОтчет();
Отчет.Описание = "Собственный учебный отчёт: книга guide-book, количество 3";
Отчет.ДополнительныеДанные = Новый Структура("Ключ,Количество", "guide-book", 3);
Если Отчет.ДополнительныеФайлы.Количество() <> 0 Тогда
ВызватьИсключение "Есть неожиданные вложения; отправка запрещена";
КонецЕсли;
ПодтверждениеОтправки = "";
Отчет.Отправить(Истина);
Сообщить("Метод вернул управление. Это не подтверждение согласия, сетевой доставки или принятия отчёта сервисом");
КонецПроцедуры
&НаСервереБезКонтекста
Процедура ПроверитьСвойУчебныйСервисНаСервере(ОжидаемыйАдрес)
Настройки = ОбработкаОшибок.ПолучитьНастройкиПользователя();
Общие = ОбработкаОшибок.ПолучитьОбщиеНастройки();
Если Настройки.АдресСервисаОбработкиОшибок <> ОжидаемыйАдрес Тогда
ВызватьИсключение "Адрес текущего пользователя не совпал с вашим учебным сервисом; наследование здесь запрещено";
КонецЕсли;
Если Настройки.ОтправлятьОтчетНаКлиенте <> РежимОтправкиИнформацииОбОшибке.СпрашиватьПользователя Тогда
ВызватьИсключение "Для упражнения требуется режим СпрашиватьПользователя";
КонецЕсли;
Запрет = РежимОтправкиИнформацииОбОшибке.НеОтправлять;
Если Настройки.ВключатьИмяПользователяВОтчетНаКлиенте <> Запрет
Или Настройки.ВключатьПодробныйТекстОшибкиВОтчетНаКлиенте <> Запрет
Или Настройки.ВключатьСведенияОбИнформационнойБазеВОтчетНаКлиенте <> Запрет
Или Настройки.ВключатьИнформациюОСистемеВОтчетНаКлиенте <> Запрет
Или Настройки.ВключатьСнимокОконВОтчетНаКлиенте <> Запрет Тогда
ВызватьИсключение "Чувствительные категории не запрещены явно; отправка запрещена";
КонецЕсли;
Если Не ПустаяСтрока(Настройки.ДополнительнаяИнформацияОтчета)
Или Не ПустаяСтрока(Общие.ДополнительнаяИнформацияОтчета) Тогда
ВызватьИсключение "Дополнительная информация пользователя/общих настроек не пуста";
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Функция СоздатьСобственныйУчебныйОтчет()
Попытка
ВызватьИсключение "Учебная ошибка проверки книги guide-book";
Исключение
Информация = ИнформацияОбОшибке();
Возврат Новый ОтчетОбОшибке(Информация);
КонецПопытки;
КонецФункцииРазбор по шагам
Клиентская команда требует непустой адрес и собственное явно введённое подтверждение. Пустое значение по умолчанию не инициирует отправку.
Серверная процедура проверяет имя своей конфигурации, точный пользовательский адрес без наследования и режим СпрашиватьПользователя. Она только читает текущие настройки.
Пять чувствительных категорий должны быть явно НеОтправлять. Авто не принимается за анонимизацию. Дополнительная строка пользователя и общих настроек обязана быть пустой.
Конструктор получает нашу контролируемую ошибку, а не реальный аварийный дамп. Проверка пустых вложений предшествует Отправить.
Отправить(Истина) открывает интерактивную форму. Метод не возвращает доказательство доставки; запрет/отсутствие адресата могут означать отсутствие действий, а отмена пользователя — отсутствие отправки.
Фраза сбрасывается перед вызовом, чтобы повторный запуск требовал нового намеренного подтверждения. Проверка настроек не защищает от их конкурентного изменения и не является полноценной системой безопасности.
Как проверить результат
При пустом адресе, неверной фразе, неподходящей политике или чужой конфигурации отправка не вызывается.
На собственном настроенном сервисе подтвердите учебный отчёт и проверьте факт приёма по его журналу. Отмена окна не должна выдаваться за доставку.
В тесте не используются рабочие сведения, снимки, вложения или токены. Сам код в данном руководстве в 1С и по сети не проверялся.
Ожидаемый результат
Подготовлен полный добровольный пример отправки с проверками и отдельным подтверждением реальной доставки.
На что обратить внимание
Реальная отправка — внешнее действие. Без своего проверенного сервиса пропустите запуск этого упражнения, сохранив пример для изучения.
Проверка имени конфигурации не доказывает владение адресатом; это обеспечивается вашей подготовкой и контролем собственного сервиса.
Не публикуйте JSON или содержимое отчёта только потому, что учебные поля безопасны: автоматические поля требуют отдельного просмотра.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Проверить наследование адреса отчётов, не печатая URL и сведения базы
Пустой адрес в настройках пользователя наследуется из общих. Общий пустой адрес означает отсутствие адресата для этого отчёта; дополнительная информация наследуется отдельно.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Учебная копия базы 8.5.1.1343: серверный общий модуль УчебныеЗадачи, процедура ВыполнитьПример() Экспорт. Каждый код без директив вставляйте в тело отдельно.
Текущий учебный пользователь должен иметь Администрирование данных для чтения общих настроек. Не обходите отказ в доступе привилегированным режимом.
ПолучитьНастройкиПользователя вызывается без имени: исследуется только текущий пользователь, не произвольный сотрудник.
Задания только читают. Не вызывайте УстановитьНастройкиПользователя/УстановитьОбщиеНастройки, не имитируйте падение 1С и не отправляйте отчёт во внешние сервисы.
Значения зависят от учебной базы. Диагностический вывод не доказывает отправку отчёта, получение согласия пользователя или доступность сервиса.
Настройки = ОбработкаОшибок.ПолучитьНастройкиПользователя();
Общие = ОбработкаОшибок.ПолучитьОбщиеНастройки();
Если Настройки.АдресСервисаОбработкиОшибок = "" Тогда
ЭффективныйАдрес = Общие.АдресСервисаОбработкиОшибок;
Сообщить("Адрес берётся из общих настроек");
Иначе
ЭффективныйАдрес = Настройки.АдресСервисаОбработкиОшибок;
Сообщить("Адрес задан в настройках текущего пользователя");
КонецЕсли;
Сообщить("Адрес задан: " + Строка(ЭффективныйАдрес <> ""));
Если ЭффективныйАдрес = "" Тогда
Сообщить("Нет адреса пользовательского сервиса; этим кодом отчёт не отправляется");
КонецЕсли;
Если Настройки.ДополнительнаяИнформацияОтчета = "" Тогда
ДополнительнаяИнформация = Общие.ДополнительнаяИнформацияОтчета;
Сообщить("Дополнительная информация берётся из общих настроек");
Иначе
ДополнительнаяИнформация = Настройки.ДополнительнаяИнформацияОтчета;
Сообщить("Дополнительная информация задана для текущего пользователя");
КонецЕсли;
Сообщить("Длина дополнительной строки: " + Строка(СтрДлина(ДополнительнаяИнформация)));Разбор по шагам
Читаем пользовательские и общие настройки отдельно.
Выбираем адрес по точной пустой строке согласно справке; не выполняем HTTP-запрос по нему.
Для дополнительной информации применяем её собственное правило наследования.
Выводим только источник/наличие адреса и длину дополнительной строки; URL, коды баз и значения строки не попадают в сообщения.
Как проверить результат
Источник двух строк соответствует непустым/пустым полям текущей учебной базы.
При пустом общем и пользовательском адресе диагностическое Адрес задан: Нет; это не проверка отдельного сервиса регистрации аварий 1С.
В выводе нет самого URL, его query-параметров, имени базы или дополнительного текста.
Ожидаемый результат
Определены источники двух параметров отчёта без внешней отправки и вывода их содержимого.
На что обратить внимание
Непустой адрес не доказывает доступность, доверенность сервиса или успешную отправку.
Не объединяйте URL пользовательского сервиса с отдельной настройкой отправки аварий фирме 1С.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.