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

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

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

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

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

ФункцияОписаниеКонтекст
_От(ОбъектОтладки, ...)Отладка объекта (сохранение в БД)Любой
_ОтФ(ОбъектОтладки, ...)Отладка объекта (сохранение в файлы)Любой
_Пр(ПараметрА, ПараметрБ)Присвоить значение переменнойЛюбой
_Ду(Код, П, ...)Выполнить код в отладчикеКроме веб-клиента
_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