A1sQ.QuerySeparator
Назначение: вставлять безопасный и заметный разделитель между операторами в пакетном QueryText.
Состав: явный ; (разделение операторов) + пустая строка + «жирная» строка‑комментарий вида //… + пустая строка.
Состав: явный ; (разделение операторов) + пустая строка + «жирная» строка‑комментарий вида //… + пустая строка.
Сигнатура
Function QuerySeparator() Export
Что возвращает (дословно из кода)
Return "
|;
|
|////////////////////////////////////////////////////////////////////////////////
|";
Здесь символ | — стандартный префикс многострочного текста запроса в 1С. Линия из косых черт начинается с //, то есть это корректный комментарий языка запросов.
Зачем это нужно
- Надёжное разделение операторов при склейке фрагментов (исключает ошибки наподобие «Ожидался ;»).
- Читаемость — толстая коммент‑линия визуально отделяет блоки в большом пакетном запросе.
- Унификация — единый формат разделителя во всех местах, где собирается QueryText программно.
Примеры
1) Ручная сборка пакетного запроса
QT = "
|ПОМЕСТИТЬ ВТ_Ссылки КАК
|ВЫБРАТЬ Ссылка ИЗ Справочник.Номенклатура";
QT = QT + A1sQ.QuerySeparator() + "
|ВЫБРАТЬ * ИЗ ВТ_Ссылки";
2) В связке с CombineQT / BuildByQT
QT = A1sQ.CombineQT(
"ВЫБРАТЬ ...",
A1sQ.QuerySeparator(),
"ПОМЕСТИТЬ ВТ AS ВЫБРАТЬ ...",
A1sQ.QuerySeparator(),
"ВЫБРАТЬ * ИЗ ВТ"
);
3) Между логическими этапами
QT = Шапка + A1sQ.QuerySeparator() + Тело + A1sQ.QuerySeparator() + Итог;
Примечание: строка‑комментарий начинается с двух косых черт, поэтому не влияет на выполнение. Сам разделитель добавляет ровно один символ ; перед комментарием — для безопасной стыковки операторов.
Связанные функции
- CombineQT — склейка нескольких фрагментов QueryText.
- BuildByQT — сборка Запрос из набора частей (QT).
- CreateQ / ExecuteBatch — создать/выполнить пакет.
- QT — помощь для оформления многострочных фрагментов.