Допустим, нам нужно найти идентификатор текущего пользователя и проверить его корректность. Рассмотрим разные способы логирования данных.
С помощью console.log
Используем в коде функцию console.log(data), где data – данные, которые хотим вывести в консоли. Необходимо декларировать константу console.
Ограничение: Такое логирование работает только в клиентских сценариях
Клиентский сценарий:
Код:
declare const console: any;
async function searchCurrentUser(): Promise<void> {
const current_user = await System.users.getCurrentUser();
const current_user_id = current_user.id;
console.log(current_user_id);
}
С помощью Source
Предварительно на вкладке, где выполнятся сценарий, открываем инструменты разработчика. Заходим на вкладку Source. Ищем там нужный скрипт. Обычно он выглядит как файл без расширения и напоминает любой системный идентификатор ELMA365, например, 2e3cd23b-3d22-4100-b005-c220cdaf14c0. Ставим точку останова (клик по номеру строки ЛКМ или клик на строку ПКМ и выбор Add breakpoint), выполняем на вкладке нужные для запуска кода действия (например, нажатие кнопки) и находим нужные данные после запуска дебаггера.
Ограничение: выводятся в Source только клиентские сценарии.
С помощью debugger
Почти то же самое, как и предыдущем способом, но только в коде нужно прописать точку останова вручную. Пишем перед строкой, где хотим добавить точку останова, слово debugger. Открываем предварительно перед выполнением кода Инструменты разработчика.
Ограничение: Используется только в клиентских сценариях.
Клиентский сценарий:
Код:
declare const console: any;
async function searchCurrentUser(): Promise<void> {
const current_user = await System.users.getCurrentUser();
const current_user_id = current_user.id;
debugger;
console.log(current_user_id);
}
С помощью контекстной переменной
Если какое-то действие нужно выполнить в серверном скрипте, и проверить его корректность, можно использовать для логирования контекстную переменную. Далее в зависимости от ситуации проверять ее или напрямую (например в контексте БП), или в отладке функций или БП, или использовать дополнительно другие способы логирования (например, console.log(Context.data.log)).
Попробуем логировать с помощью переменной идентификатор текущего пользователя в серверном сценарии и затем проверить значение с используем консоли. Создадим переменную log с типом Текст.
Клиентский сценарий:
Код:
declare const console: any;
async function searchCurrentUser(): Promise<void> {
await Server.rpc.searchCurrentUserServer();
console.log(Context.data.log);
}
Серверный сценарий:
Код:
async function searchCurrentUserServer(): Promise<void> {
const current_user = await System.users.getCurrentUser();
const current_user_id = current_user.id;
Context.data.log = current_user_id;
}
С помощью Webhook.site
Заходим на https://webhook.site/ и получаем уникальный URL, на который нужно отправлять запросы. Например, https://webhook.site/e5bc0892-c742-48c7-bc24-eab8db844688. Далее этот URL нужно использовать в коде.
Клиентский сценарий:
Код:
async function searchCurrentUser(): Promise<void> {
await Server.rpc.searchCurrentUserServer();
}
Серверный сценарий:
Код:
const TEST_WEBHOOK_URL = "https://webhook.site/e5bc0892-c742-48c7-bc24-eab8db844688";
async function sendWebHookTest(data: string): Promise<void> {
await fetch(TEST_WEBHOOK_URL,
{
method: 'POST',
body: data,
}
)
}
async function searchCurrentUserServer(): Promise<void> {
const current_user = await System.users.getCurrentUser();
const current_user_id = current_user.id;
await sendWebHookTest("Id: " + current_user_id);
}
После выполнения нужных действий, триггерящих запуск скриптов, получаем на вебхук запрос с нужными нам данными (элемент Raw Content).
Ограничение: Нельзя отправлять какие-то секретные данные, например, ключи, логины, пароли и т.д.
Недостаток: Ограничение в 100 запросов для бесплатного использования. После 100 запросов нужно поменять URL. Получить новый URL можно по кнопке +New в правой верхней части экрана.
Последнее редактирование: 10 июн 2024