Перейти к основному содержимому

Функции режима отладки

Функции, ориентированные на использование в режиме отладки. Их можно вызывать из отладчика через диалог Вычислить выражение, а также из произвольного кода через модуль УИ_.

  • Модуль: УИ_
к сведению

Доступность функций зависит от контекста выполнения. см. таблицу ниже

ФункцияОписаниеКонтекст
_От(ОбъектОтладки, ...)Отладка объекта (сохранение в БД)Любой
_ОтФ(ОбъектОтладки, ...)Отладка объекта (сохранение в файлы)Любой
_Пр(ПараметрА, ПараметрБ)Присвоить значение переменнойЛюбой
_Ду(Код, П, ...)Выполнить код в отладчикеКроме веб-клиента
_XMLОбъект(ПутьЧтения, УпроститьЭлементы)Чтение XML в простые структурыКроме веб-клиента
_ВТ(ЗапросИЛИМенеджерВременныхТаблиц)Структура временных таблицСервер / Толстый клиент
_ТЗСр(ТаблицаБазовая, ТаблицаСравнения, ...)Сравнение двух таблиц значенийСервер / Толстый клиент
_Алг(НаименованиеАлгоритма, ТекстАлгоритма, ...)Создание и выполнение алгоритмаСервер / Толстый клиент
_Алг2(ТекстАлгоритма)Формирование строки вызова _АлгСервер / Толстый клиент

_От(ОбъектОтладки, ПараметрОтладки2, ПараметрОтладки3, ПараметрОтладки4, ПараметрОтладки5)​

Запускает соответствующий инструмент отладки для переданного объекта. На толстом клиенте открывает форму консоли сразу. На сервере, тонком или веб-клиенте сохраняет данные в справочник Данные для отладки для последующего просмотра.

Параметры:

  • ОбъектОтладки — Запрос, СхемаКомпоновкиДанных, HTTPЗапрос, ЛюбаяСсылка, ТаблицаФормы. Объект для отладки.
  • ПараметрОтладки2…ПараметрОтладки5 — Неопределено, HTTPСоединение, НастройкиКомпоновкиДанных, Структура, Строка, МенеджерВременныхТаблиц. Дополнительные параметры (порядок произвольный).

Возвращаемое значение: Строка — ссылка на сохранённые данные отладки.

УИ_._От(Запрос);
УИ_._От(Запрос, "Мой запрос");
УИ_._От(СхемаКомпоновкиДанных, НастройкиСКД, ВнешниеНаборыДанных, МенеджерВременныхТаблиц);
УИ_._От(Элементы.Список, "Список товаров");
УИ_._От(СсылкаНаОбъектБД);
УИ_._От(HTTPЗапрос, СоединениеHTTP, "Получение списка задач");

_ОтФ(ОбъектОтладки, ПараметрОтладки2, ПараметрОтладки3, ПараметрОтладки4, ПараметрОтладки5)​

Аналог _От, но сохраняет данные отладки не в справочник, а в файлы во временном каталоге на сервере.

Параметры: идентичны _От.

Возвращаемое значение: Строка — ссылка на сохранённые данные отладки.

УИ_._ОтФ(Запрос, "Выгрузка остатков");
УИ_._ОтФ(СхемаКомпоновкиДанных, НастройкиСКД);
подсказка

Подробное описание и примеры использования методов _ОтФ и _От в статье об отладке.

_Пр(ПараметрА, ПараметрБ)​

Присваивает переменной ПараметрА значение ПараметрБ и возвращает его. Удобно для быстрой проверки значений в отладчике.

Параметры:

  • ПараметрА — Произвольный. Переменная, которой присваивается значение.
  • ПараметрБ — Произвольный. Присваиваемое значение.

Возвращаемое значение: Произвольный — значение ПараметрБ.

УИ_._Пр(Результат, 42); // возвращает 42, Результат = 42
УИ_._Пр(ТекДата, ТекущаяДата());

_Ду(Код, П, П2, П3, П4, П5)​

Выполняет произвольный код в отладчике. Аналог функции ДУ из ИР. Внутри выполняемого кода доступны переменные П…П5. Для возврата значения определите переменную Р.

Параметры:

  • Код — Строка. Произвольный код на встроенном языке 1С.
  • П…П5 — Произвольный. Параметры, доступные внутри кода.

Возвращаемое значение: Произвольный — значение переменной Р, определённой в коде.

УИ_._ДУ("Сообщить(П)", "Хорошо");

Сумма = 1000;
УИ_._ДУ("Сообщить(П); Р = П + П2;", Сумма, 500);
// Р = 1500

_XMLОбъект(ПутьЧтения, УпроститьЭлементы = Истина)​

Читает XML-документ и преобразует его в простые структуры данных (Структура, Соответствие, Массив).

Параметры:

  • ПутьЧтения — Строка, ЧтениеXML, Поток. Источник XML.
  • УпроститьЭлементы — Булево. При Истина убирает лишние элементы структуры.

Возвращаемое значение: Структура, Соответствие, Неопределено — результат разбора XML.

// Чтение из файла
Результат = УИ_._XMLОбъект("C:\Данные\документ.xml");

// Чтение из потока
Результат = УИ_._XMLОбъект(Поток);

// Без упрощения структур
Результат = УИ_._XMLОбъект("C:\Данные\документ.xml", Ложь);

_ВТ(ЗапросИЛИМенеджерВременныхТаблиц)​

Выполняет запрос и возвращает структуру всех временных таблиц. Если передан МенеджерВременныхТаблиц, возвращает его таблицы без выполнения запроса.

Параметры:

  • ЗапросИЛИМенеджерВременныхТаблиц — Запрос, МенеджерВременныхТаблиц.

Возвращаемое значение: Структура — ключ: имя таблицы, значение: таблица значений.

// Получить временные таблицы запроса
ВТ = УИ_._ВТ(Запрос);

// Получить таблицы из менеджера
ВТ = УИ_._ВТ(Запрос.МенеджерВременныхТаблиц);

// Обход результата
Для каждого Эл Из ВТ Цикл
Сообщить("Таблица: " + Эл.Ключ + ", строк: " + Эл.Значение.Количество());
КонецЦикла;

_ТЗСр(ТаблицаБазовая, ТаблицаСравнения, СписокКолонок = Неопределено)​

Сравнивает две таблицы значений по указанным колонкам и возвращает расхождения.

Параметры:

  • ТаблицаБазовая — ТаблицаЗначений. Первая таблица для сравнения.
  • ТаблицаСравнения — ТаблицаЗначений. Вторая таблица для сравнения.
  • СписокКолонок — Строка. Колонки для сравнения через запятую. Если не указан — сравнение по всем колонкам базовой таблицы.

Возвращаемое значение: Структура:

  • ИдентичныеТаблицы — Булево. Признак идентичности.
  • ТаблицаРасхождений — ТаблицаЗначений. Расхождения.
// Сравнение по всем колонкам
Результат = УИ_._ТЗСр(ТаблицаБазовая, ТаблицаСравнения);
Если Результат.ИдентичныеТаблицы Тогда
Сообщить("Таблицы совпадают");
КонецЕсли;

// Сравнение по выбранным колонкам
Результат = УИ_._ТЗСр(ТаблицаБазовая, ТаблицаСравнения, "Номенклатура,Количество");

_Алг(НаименованиеАлгоритма, ТекстАлгоритма, Параметр1, …, Параметр9, МассивИменПараметров)​

Создаёт или находит алгоритм по наименованию и выполняет его с переданными параметрами.

Параметры:

  • НаименованиеАлгоритма — Строка. Наименование элемента справочника Алгоритмы.
  • ТекстАлгоритма — Строка. Текст алгоритма.
  • Параметр1…Параметр9 — Произвольный. Параметры алгоритма.
  • МассивИменПараметров — Строка. Имена параметров через запятую.

Возвращаемое значение: Строка — результат выполнения.

УИ_._Алг("МойАлгоритм", "Сообщить(Параметр1)", "Привет");

_Алг2(ТекстАлгоритма)​

Формирует строку вызова функции _Алг на основе переданного текста процедуры. Упрощает подготовку вызова алгоритма из отладчика.

Параметры:

  • ТекстАлгоритма — Строка. Текст процедуры с параметрами, например Модуль.Процедура(П1, П2).

Возвращаемое значение: Строка — строка для вызова _Алг.

СтрокаВызова = УИ_._Алг2("Модуль.ОбработатьДанные(Парам1, Парам2)");
// Результат: УИ_._Алг("Модуль.ОбработатьДанные", "Модуль.ОбработатьДанные(Парам1, Парам2)", Парам1,Парам2,,,,,,, "Парам1,Парам2")

Примеры​

Отладка запроса с произвольным кодом​

Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ 1 Как Поле";
УИ_._От(Запрос, "Тестовый запрос");

Сравнение таблиц с обходом расхождений​

Результат = УИ_._ТЗСр(ТаблицаБазовая, ТаблицаСравнения, "Код,Наименование");
Если Не Результат.ИдентичныеТаблицы Тогда
Для каждого Строка Из Результат.ТаблицаРасхождений Цикл
Сообщить(Строка.ВидОперации + ": " + Строка.Код);
КонецЦикла;
КонецЕсли;

Выполнение и возврат значения через _Ду​

УИ_._ДУ("Р = П * 10 + П2", 3, 7);
// Р = 37