Одна случайная метка связывает две стадии учебного расчёта. Выгружаем максимум 10 записей только этого события и только четыре диагностические колонки.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Создайте НОВУЮ отдельную пустую файловую базу на 8.5.1.1343. Корневое имя конфигурации УчебныйЖурнал85. Рабочий журнал УТ/КА2/УНФ/БП не используйте.
Запускайте серверный ВыполнитьПример() Экспорт собственного учебного модуля с правом просмотра журнала. Для уроков записи в настройках журнала собственной базы должен быть разрешён уровень Информация.
Фрагмент вставьте в тело процедуры; каждый урок запускайте отдельно. Код НЕ включает регистрацию автоматически и НЕ меняет настройки журнала.
Уроки с ЗаписьЖурналаРегистрации оставляют собственные события в журнале учебной базы. Это реальная диагностическая запись, не запись прикладного документа. Очистка/сокращение журнала не выполняются.
В тексты/Данные не добавляйте токены, пароли, персональные сведения или полные ответы сервисов. Выгрузка ограничена собственным случайным именем события и безопасными колонками, XML-файл не создаётся.
Уровни = ПолучитьИспользованиеЖурналаРегистрации();
Если Уровни.Найти(УровеньЖурналаРегистрации.Информация) = Неопределено Тогда
ВызватьИсключение "В собственной учебной базе уровень Информация не разрешён. Настройки кодом не менялись";
КонецЕсли;
ИмяСобытия = "УчебныйЖурнал85.Расчет." + Строка(Новый УникальныйИдентификатор);
ЗаписьЖурналаРегистрации(ИмяСобытия, УровеньЖурналаРегистрации.Информация, , ,
"Старт: собственные количество 3 и цена 200");
Сумма = 3 * 200;
ЗаписьЖурналаРегистрации(ИмяСобытия, УровеньЖурналаРегистрации.Информация, , ,
"Завершение: учебная сумма " + Строка(Сумма));
Отбор = Новый Структура("Событие", ИмяСобытия);
События = Новый ТаблицаЗначений;
ВыгрузитьЖурналРегистрации(События, Отбор, "Дата,Уровень,Событие,Комментарий", , 10);
Сообщить(События.Количество() = 2);
Сообщить(События.Колонки.Количество() = 4);
ЕстьСтарт = Ложь;
ЕстьЗавершение = Ложь;
Для Каждого Событие Из События Цикл
Если Событие.Событие <> ИмяСобытия Тогда
ВызватьИсключение "В выборку попало не собственное событие";
КонецЕсли;
Если Событие.Комментарий = "Старт: собственные количество 3 и цена 200" Тогда
ЕстьСтарт = Истина;
КонецЕсли;
Если Событие.Комментарий = "Завершение: учебная сумма 600" Тогда
ЕстьЗавершение = Истина;
КонецЕсли;
Сообщить(Событие.Комментарий);
КонецЦикла;
Сообщить(ЕстьСтарт И ЕстьЗавершение);Разбор по шагам
Проверяем разрешённый уровень. Если Информация выключена, урок останавливается без автоматического включения.
Имя содержит собственный префикс и новый UUID; запрещённые системные сочетания _$ и $_ не используются.
Две записи диагностируют только вычисление 3 × 200. Документ, ссылка на рабочие данные и пользовательские секреты не передаются.
Приёмник — таблица значений. Отбор ограничивает конкретное имя события, список колонок исключает пользователей/компьютеры/данные/порты.
Пятый параметр 10 ограничивает число событий. 0 означал бы отсутствие ограничения.
Проверяем наличие двух комментариев без зависимости от порядка событий с одинаковой секундой.
Как проверить результат
Три логические проверки дают Истина при разрешённом уровне и доступном журнале.
В таблице только собственные комментарии «Старт…» и «Завершение…600». В журнале учебной базы эти две записи останутся.
Ожидаемый результат
Получена ограниченная диагностическая цепочка собственного расчёта без полной выгрузки журнала.
На что обратить внимание
Если события не видны, проверьте настройки/права/доступность журнала; не заменяйте проверку количества выдуманным результатом.
Это не лог настоящего платежа и не доказательство записи документа.
Даже ограниченный вывод журнала может содержать чувствительные сведения в другой задаче; используйте минимальные колонки и отбор.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.