A1sCode библиотека 1С

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 — помощь для оформления многострочных фрагментов.