Стандартная консоль запросов с небольшими доработками: возможность выбора группы в параметрах, возможность использовать Уникальный идентификатор в параметрах.
Начиная с платформы 8.3.22 в запросах можно использовать новые функции и операторы:
УНИКАЛЬНЫЙИДЕНТИФИКАТОР(Ссылка) - Возвращает значение типа УникальныйИдентификатор. Если NULL, то возвращает NULL
Строка(String) – преобразует значение в примитивного типа в строку с учетом национальных установок.
Тригонометрические функции Sin, Cos, Tan, ASin, ACos, ATan (все вычисления производятся в радианах)
Exp - вычисляет результат возведения основания натурального логарифма (числа e) в степень
Log - вычисляет натуральный логарифм числа.
Log10 - вычисляет десятичный логарифм числа.
Pow - вычисляет возведение в степень.
Sqrt – вычисляет квадратный корень.
Окр(Round) - округляет исходное число до нужной разрядности
Цел(Int) - вычисляет целую часть переданного числа, полностью отсекая дробную часть.
ДлинаСтроки(StringLength) – вычисляет длину строки.
СокрЛ(TrimL) – отбрасывает незначащие пробелы слева.
СокрП(TrimR) – отбрасывает незначащие пробелы справа.
СокрЛП(TrimAll) – отбрасывает незначащие пробелы слева и справа.
Лев(Left) – получает первые слева символы строки.
Прав(Right) – получает первые справа символы строки.
СтрНайти(StrFind) – находит первую позицию подстроки в строке (без учета регистра).
ВРег(Upper) – преобразует все символы строки в верхний регистр.
НРег(Lower) – преобразует все символы строки в нижний регистр.
СтрЗаменить(StrReplace) – заменяет все вхождения подстроки на другую подстроку (без учета регистра).
РазмерХранимыхДанных(StoredDataSize) – возвращает размер данных в байтах, которые занимают данные параметра.
АВТОНОМЕРЗАПИСИ() - возвращает номер записи в запросе. Работает только в временных таблицах.
Нашел запрос, который сначала мне показался странным, но потом, при внимательном рассмотрении, вполне рабочим:
ВЫБРАТЬ
Сотрудники.ФизическоеЛицо КАК ФизЛицо
ИЗ
РегистрСведений.Сотрудники КАК Сотрудники
СГРУППИРОВАТЬ ПО
Сотрудники.ФизическоеЛицо
ИМЕЮЩИЕ
КОЛИЧЕСТВО(Сотрудники.ФизическоеЛицо) > 1
ФизическоеЛицо - это измерение регистра сведений Сотрудники. Получается группируем по измерению и тут же отбираем записи, количество которых больше 1.
Запрос перестает казаться странным, если "КОЛИЧЕСТВО(Сотрудники.ФизическоеЛицо)" перенести в блок "Выбрать":
ВЫБРАТЬ
Сотрудники.ФизическоеЛицо КАК ФизЛицо, КОЛИЧЕСТВО(Сотрудники.ФизическоеЛицо) КАК КоличествоФЛ
ИЗ
РегистрСведений.Сотрудники КАК Сотрудники
СГРУППИРОВАТЬ ПО
Сотрудники.ФизическоеЛицо
ИМЕЮЩИЕ
КОЛИЧЕСТВО(Сотрудники.ФизическоеЛицо) > 1
Если в конфигурации используется БСП, то при отладке нужно вычислять функцию "ОбщегоНазначения.ЗапросВСтрокуXML(Запрос)". Скопировать полученный тест XML и вставить его в консоли запросов (Все действия / Заполнить из XML)
Во время использования отладки для начала вычисляем список временных таблиц, Запрос.МенеджерВременныхТаблиц.Таблицы. Таким образом мы можем получить список таблиц, сформированный выполняемым запросом:
2. Получаем временную таблицу для отладки. Затем мы обращаемся к нужной нам для отладки временной таблице, добавляя Получить(<Индекс таблицы>)
3. Получаем непосредственно данные
Использование метода ПолучитьДанные() позволяет получить коллекцию РезультатЗапроса непосредственно для выбранной временной таблицы.
Далее, применяя метод Выгрузить() — получаем таблицу значений, содержащую непосредственно отлаживаемые данные.
В случае отладки непосредственно таблицы с индексом 0 (как известно, индексы и нумерация в 1С начинается с нуля) получение данных выполняется с помощью вычисления следующей строки: Запрос.МенеджерВременныхТаблиц.Таблицы.Получить(0).ПолучитьДанные().Выгрузить()