К основному содержанию
A1sCode
Быстрый старт
Модуль A1sCode · API · сверено с исходником

A1sQ — запросы от текста до готовых данных

Создание и выполнение запросов, параметры, Query Builder, QT, временные таблицы, поиск и пакетные выборки.

Функций 88Разделов 12Зависимости A1sS, A1sDSИсходных примеров 33
1Выберите раздел

Навигация построена только по экспортным функциям исходного модуля.

2Проверьте контракт

Сигнатура и параметры сверены с объявлением функции.

3Скопируйте пример

Исходные примеры сохранены, недостающие добавлены при аудите.

Разделы модуля

01Fluent API

1 экспортная функция раздела Fluent API.

02Создание и валидация

Создание объектов Query, настройка менеджера временных таблиц и проверка текста.

03Параметры и сборка

Извлечение, построение и установка параметров запроса.

04Выполнение и скаляры

Выполнение запросов и получение первой строки, значения, количества или признака существования.

05Преобразование результатов

Выгрузка результата в таблицу, массив, структуру, соответствие и сгруппированные данные.

06Поиск и выбор

Построение поисковых запросов и данных выбора для управляемых форм.

07Query Builder

Пошаговая сборка Query и расширенные сценарии: цепочки, страницы, JSON и профилирование.

08Временные таблицы

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

09QT и условия

Короткая сборка текста запросов, LIKE-шаблоны и составные условия.

10Метаданные табличных частей

Проверка полей табличных частей и получение описаний типов.

11Тестирование

4 экспортные функции раздела Тестирование.

12Пакеты и предметные выборки

Пакетные запросы и готовые выборки документов, справочников и остатков.

Ничего не найденоИзмените поисковый запрос.

Fluent API

Экспортные операции раздела Fluent API.

Создаёт Fluent-обёртку для работы с запросами.

Полная сигнатураOn(QueryTextOrTTM = Undefined, TempTablesManager = Undefined) → DataProcessor.A1sDP_Q
ПараметрТипОписание
QueryTextOrTTMVariantТекст запроса (String) или TempTablesManager. По умолчанию: Undefined.
TempTablesManagerTempTablesManagerМенеджер временных таблиц (если первый параметр - текст). По умолчанию: Undefined.
ВозвращаетDataProcessor.A1sDP_Q
Примерпример из исходника · сигнатура проверена1C
// Намерение: Создаёт Fluent-обёртку для работы с запросами.
// Граница: Обязательных параметров нет; все параметры необязательны (2).
// Результат: DataProcessor.A1sDP_Q.

// Способ 1: Пустая обёртка + Builder
ТЗ = A1sQ.On()
    .Select("Ссылка, Наименование")
    .From("Справочник.Номенклатура")
    .Where("НЕ ПометкаУдаления")
    .WhereEq("Родитель", РодительСсылка)
    .OrderBy("Наименование")
    .Top(100)
    .Unload();
// Способ 2: С готовым текстом запроса
ТЗ = A1sQ.On("ВЫБРАТЬ * ИЗ Справочник.Номенклатура ГДЕ Родитель = &Parent")
    .Param("Parent", РодительСсылка)
    .Unload();
// Способ 3: С TempTablesManager
TTM = A1sQ.GetTemps();
A1sQ.On(TTM)
    .Text("ВЫБРАТЬ * ПОМЕСТИТЬ ВТ_Данные ИЗ Справочник.Номенклатура")
    .Execute();
ВТ_Данные = A1sQ.UnloadTemp(TTM, "ВТ_Данные");
// Способ 4: Проверка существования
Если A1sQ.On()
    .Select("Ссылка")
    .From("Справочник.Номенклатура")
    .WhereEq("Наименование", "Товар")
    .Exists() Тогда ...
// Способ 5: Получение скаляра
Количество = A1sQ.On()
// … пример сокращён; полная сигнатура и контракт сохранены

Создание и валидация

Создание объектов Query, настройка менеджера временных таблиц и проверка текста.

Создаёт объект Query и задаёт текст и менеджер временных таблиц.

Полная сигнатураCreateQ(QueryText = Undefined, TempTablesManager = Undefined) → Query
ПараметрТипОписание
QueryTextStringТекст запроса. По умолчанию: Undefined.
TempTablesManagerTempTablesManagerМенеджер временных таблиц. По умолчанию: Undefined.
ВозвращаетQuery
Примерпример из исходника · сигнатура проверена1C
// Намерение: Создаёт объект Query и задаёт текст и менеджер временных таблиц.
// Граница: Обязательных параметров нет; все параметры необязательны (2).
// Результат: Query.

q = A1sQ.CreateQ("SELECT * FROM Справочник.Номенклатура");

Создаёт объект Query, устанавливает текст, менеджер временных таблиц и параметры. При включенном AutoTemps создаёт TempTablesManager, если в тексте запроса есть ключевые слова (например, ПОМЕСТИТЬ или INTO).

Полная сигнатураNewQ(QueryText = Undefined, TempTablesManager = Undefined, Value1 = Undefined, Value2 = Undefined, Value3 = Undefined, Value4 = Undefined, Value5 = Undefined, Value6 = Undefined, Value7 = Undefined, Value8 = Undefined, AutoTemps = False) → Query
ПараметрТипОписание
QueryTextStringТекст запроса. По умолчанию: Undefined.
TempTablesManagerTempTablesManagerМенеджер временных таблиц. По умолчанию: Undefined.
Value1VariantПараметры запроса. По умолчанию: Undefined.
Value2VariantПараметры запроса. По умолчанию: Undefined.
Value3VariantПараметры запроса. По умолчанию: Undefined.
Value4VariantПараметры запроса. По умолчанию: Undefined.
Value5VariantПараметры запроса. По умолчанию: Undefined.
Value6VariantПараметры запроса. По умолчанию: Undefined.
Value7VariantПараметры запроса. По умолчанию: Undefined.
Value8VariantПараметры запроса. По умолчанию: Undefined.
AutoTempsBooleanАвтоматически создавать TempTablesManager, если в запросе есть ПОМЕСТИТЬ/INTO. По умолчанию — Ложь. По умолчанию: False.
ВозвращаетQuery
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Создаёт объект Query, устанавливает текст, менеджер временных таблиц и параметры. При включенном AutoTemps создаёт TempTablesManager, если в тексте запроса есть ключевые слова (например, ПОМЕСТИТЬ или INTO).
// Граница: Обязательных параметров нет; все параметры необязательны (11).
// Результат: Query.

Результат = A1sQ.NewQ();

Упрощённая обёртка для NewQ с автоматическим TempTablesManager (если есть ПОМЕСТИТЬ/INTO).

Полная сигнатураQ(QueryText, Value1 = Undefined, Value2 = Undefined, Value3 = Undefined, Value4 = Undefined, Value5 = Undefined, Value6 = Undefined, Value7 = Undefined, Value8 = Undefined) → Query
ПараметрТипОписание
QueryTextStringТекст запроса.
Value1VariantПараметры запроса. По умолчанию: Undefined.
Value2VariantПараметры запроса. По умолчанию: Undefined.
Value3VariantПараметры запроса. По умолчанию: Undefined.
Value4VariantПараметры запроса. По умолчанию: Undefined.
Value5VariantПараметры запроса. По умолчанию: Undefined.
Value6VariantПараметры запроса. По умолчанию: Undefined.
Value7VariantПараметры запроса. По умолчанию: Undefined.
Value8VariantПараметры запроса. По умолчанию: Undefined.
ВозвращаетQuery
Примерпример из исходника · сигнатура проверена1C
// Намерение: Упрощённая обёртка для NewQ с автоматическим TempTablesManager (если есть ПОМЕСТИТЬ/INTO).
// Граница: Обязательные параметры: QueryText
// Результат: Query.

Простое создание
q = A1sQ.NewQ("ВЫБРАТЬ * ИЗ Справочник.Номенклатура");
Пример 2: С параметром
q = A1sQ.NewQ("ВЫБРАТЬ * ИЗ Справочник.Номенклатура ГДЕ Ссылка = &Ref", , RefValue);
Пример 3: Авто TempTablesManager по ключевым словам
q = A1sQ.NewQ("ВЫБРАТЬ ... ПОМЕСТИТЬ ВТ_Товары", , , , , , , , , Истина);
Пример 4: Использование короткой обёртки Q
q = A1sQ.Q("ВЫБРАТЬ ... ПОМЕСТИТЬ ВТ_Результат", Параметр);
Пример 5: Явное указание TempTablesManager
tmp = A1sQ.GetTemps();
q = A1sQ.NewQ("ВЫБРАТЬ * ИЗ ВТ_Данные ГДЕ Поле = &Value", tmp, "TestValue");
Пример 6: Несколько параметров
q = A1sQ.NewQ("ВЫБРАТЬ * ИЗ Таблица ГДЕ Поле1 = &P1 И Поле2 = &P2", , Value1, Value2);

Быстрая проверка синтаксиса запроса через QueryWizard.

Полная сигнатураIsValid(QueryText) → Boolean
ПараметрТипОписание
QueryTextStringТекст запроса.
ВозвращаетBoolean
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Быстрая проверка синтаксиса запроса через QueryWizard.
// Граница: Обязательные параметры: QueryText
// Результат: Boolean.

Успешно = A1sQ.IsValid("ВЫБРАТЬ Ссылка ИЗ Справочник.Номенклатура");

Проверяет запрос с выводом ошибки при необходимости.

Полная сигнатураValidate(QueryText, ShowError = True) → Boolean
ПараметрТипОписание
QueryTextStringТекст запроса.
ShowErrorBooleanПоказать ошибку. По умолчанию: True.
ВозвращаетBoolean
Примерпример из исходника · сигнатура проверена1C
// Намерение: Проверяет запрос с выводом ошибки при необходимости.
// Граница: Обязательные параметры: QueryText
// Результат: Boolean.

использования:
If A1sQ.Validate("ВЫБРАТЬ * ИЗ Справочник.Номенклатура") Then
    A1sS.Print("Запрос корректен");
Else
    A1sS.Print("Запрос содержит ошибки");
EndIf;

Создаёт Query с автоматическим созданием TempTablesManager.

Полная сигнатураCreateQWithTemps(QueryText = Undefined, CreateTempManager = True) → Query
ПараметрТипОписание
QueryTextStringТекст запроса. По умолчанию: Undefined.
CreateTempManagerBooleanСоздать новый менеджер временных таблиц. По умолчанию: True.
ВозвращаетQuery
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Создаёт Query с автоматическим созданием TempTablesManager.
// Граница: Обязательных параметров нет; все параметры необязательны (2).
// Результат: Query.

Результат = A1sQ.CreateQWithTemps();

Создаёт Query, использующий существующий TempTablesManager из другого Query.

Полная сигнатураCreateAndLoad(QueryText, SourceQuery) → Query
ПараметрТипОписание
QueryTextStringТекст запроса.
SourceQueryQueryQuery, у которого берем TempTablesManager.
ВозвращаетQuery
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Создаёт Query, использующий существующий TempTablesManager из другого Query.
// Граница: Обязательные параметры: QueryText, SourceQuery
// Результат: Query.

Результат = A1sQ.CreateAndLoad("ВЫБРАТЬ Ссылка ИЗ Справочник.Номенклатура", SourceQuery);

Улучшенная версия CreateQ с дополнительными проверками TempTablesManager.

Полная сигнатураCreateQEnhanced(QueryText = Undefined, TempTablesManager = Undefined, AutoCreateTemps = False) → Query
ПараметрТипОписание
QueryTextStringТекст запроса. По умолчанию: Undefined.
TempTablesManagerTempTablesManagerМенеджер временных таблиц. По умолчанию: Undefined.
AutoCreateTempsBooleanАвтоматически создать менеджер, если не передан. По умолчанию: False.
ВозвращаетQuery
Примерпример из исходника · сигнатура проверена1C
// Намерение: Улучшенная версия CreateQ с дополнительными проверками TempTablesManager.
// Граница: Обязательных параметров нет; все параметры необязательны (3).
// Результат: Query.

Автоматическое создание TempTablesManager
q1 = A1sQ.CreateQWithTemps("SELECT 1 AS Field INTO TempTable");
Пример 2: Разделение TempTablesManager между запросами
q1 = A1sQ.CreateQWithTemps("SELECT 1 AS ID INTO TempTable");
q2 = A1sQ.CreateAndLoad("SELECT * FROM TempTable", q1);
Пример 3: Улучшенное создание с автоматическим менеджером
q = A1sQ.CreateQEnhanced("SELECT * FROM TempTable", , True);

Создаёт Query с предварительной проверкой синтаксиса запроса.

Полная сигнатураCreateQSafe(QueryText = Undefined, TempTablesManager = Undefined, ValidateFirst = True) → Query
ПараметрТипОписание
QueryTextStringТекст запроса. По умолчанию: Undefined.
TempTablesManagerTempTablesManagerМенеджер временных таблиц. По умолчанию: Undefined.
ValidateFirstBooleanПроверять синтаксис перед созданием. По умолчанию: True.
ВозвращаетQuery
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Создаёт Query с предварительной проверкой синтаксиса запроса.
// Граница: Обязательных параметров нет; все параметры необязательны (3).
// Результат: Query.

Результат = A1sQ.CreateQSafe();

Параметры и сборка

Извлечение, построение и установка параметров запроса.

Возвращает массив параметров у Query.

Полная сигнатураGetParams(Query, PrintParams = False) → Array
ПараметрТипОписание
QueryQueryЗапрос для анализа.
PrintParamsBooleanПоказать параметры через A1sS.Print. По умолчанию: False.
ВозвращаетArray
Примерпример из исходника · сигнатура проверена1C
// Намерение: Возвращает массив параметров у Query.
// Граница: Обязательные параметры: Query
// Результат: Array.

q = A1sQ.CreateQ("SELECT * FROM Таблица WHERE Поле = &Val");
q = A1sQ.NewQ("SELECT * FROM Таблица WHERE Поле = &Val");
params = A1sQ.GetParams(q, True);

Извлекает имена параметров из текста запроса (&Param).

Полная сигнатураGetQParams(QueryText) → Structure
ПараметрТипОписание
QueryTextStringТекст запроса.
ВозвращаетStructure
Примерпример из исходника · сигнатура проверена1C
// Намерение: Извлекает имена параметров из текста запроса (&Param).
// Граница: Обязательные параметры: QueryText
// Результат: Structure.

txt = "SELECT * FROM Т WHERE x=&X AND y=&Y";
st = A1sQ.GetQParams(txt);
// st содержит {X:Undefined, Y:Undefined}

Формирует структуру параметров по списку ключей и до 8 значений.

Полная сигнатураParseParams(KeyString, Value1 = Undefined, Value2 = Undefined, Value3 = Undefined, Value4 = Undefined, Value5 = Undefined, Value6 = Undefined, Value7 = Undefined, Value8 = Undefined) → Structure
ПараметрТипОписание
KeyStringStringЗапятая-разделённый список ключей.
Value1VariantЗначения параметров. По умолчанию: Undefined.
Value2VariantЗначения параметров. По умолчанию: Undefined.
Value3VariantЗначения параметров. По умолчанию: Undefined.
Value4VariantЗначения параметров. По умолчанию: Undefined.
Value5VariantЗначения параметров. По умолчанию: Undefined.
Value6VariantЗначения параметров. По умолчанию: Undefined.
Value7VariantЗначения параметров. По умолчанию: Undefined.
Value8VariantЗначения параметров. По умолчанию: Undefined.
ВозвращаетStructure
Примерпример из исходника · сигнатура проверена1C
// Намерение: Формирует структуру параметров по списку ключей и до 8 значений.
// Граница: Обязательные параметры: KeyString
// Результат: Structure.

st = A1sQ.ParseParams("X,Y","a","b");
// st={X:"a", Y:"b"}

Устанавливает в Query параметры из структуры.

Полная сигнатураSetQParams(Query, Parameters = Undefined) → Query
ПараметрТипОписание
QueryQueryЗапрос.
ParametersStructureКлюч->значение. По умолчанию: Undefined.
ВозвращаетQuery
Примерпример из исходника · сигнатура проверена1C
// Намерение: Устанавливает в Query параметры из структуры.
// Граница: Обязательные параметры: Query
// Результат: Query.

q = A1sQ.CreateQ(txt);
q2 = A1sQ.SetQParams(q, Новый Структура("X,Y",1,2));

Создаёт Query, анализирует параметры и присваивает им значения.

Полная сигнатураBuildQByParams(QueryText, KeyString, Value1 = Undefined, Value2 = Undefined, Value3 = Undefined, Value4 = Undefined, Value5 = Undefined, Value6 = Undefined, Value7 = Undefined, Value8 = Undefined) → Query
ПараметрТипОписание
QueryTextStringТекст запроса.
KeyStringStringПараметр публичной сигнатуры.
Value1VariantПараметры. По умолчанию: Undefined.
Value2VariantПараметры. По умолчанию: Undefined.
Value3VariantПараметры. По умолчанию: Undefined.
Value4VariantПараметры. По умолчанию: Undefined.
Value5VariantПараметры. По умолчанию: Undefined.
Value6VariantПараметры. По умолчанию: Undefined.
Value7VariantПараметры. По умолчанию: Undefined.
Value8VariantПараметры. По умолчанию: Undefined.
ВозвращаетQuery
Примерпример из исходника · сигнатура проверена1C
// Намерение: Создаёт Query, анализирует параметры и присваивает им значения.
// Граница: Обязательные параметры: QueryText, KeyString
// Результат: Query.

@example.1.A1sQ.BuildQ {
q = A1sQ.BuildQ("SELECT * FROM T WHERE f=&F",123);
}
@example.2.A1sQ.BuildQ {
q = A1sQ.BuildQ("SELECT * FROM T WHERE a=&A AND b=&B",1,2);
}

Выполняет запрос и возвращает выборку.

Полная сигнатураBuildQ(QueryText, Value1 = Undefined, Value2 = Undefined, Value3 = Undefined, Value4 = Undefined, Value5 = Undefined, Value6 = Undefined, Value7 = Undefined, Value8 = Undefined) → Selection
ПараметрТипОписание
QueryTextStringТекст запроса.
Value1VariantПараметры. По умолчанию: Undefined.
Value2VariantПараметры. По умолчанию: Undefined.
Value3VariantПараметры. По умолчанию: Undefined.
Value4VariantПараметры. По умолчанию: Undefined.
Value5VariantПараметры. По умолчанию: Undefined.
Value6VariantПараметры. По умолчанию: Undefined.
Value7VariantПараметры. По умолчанию: Undefined.
Value8VariantПараметры. По умолчанию: Undefined.
ВозвращаетSelection
Примерпример из исходника · сигнатура проверена1C
// Намерение: Выполняет запрос и возвращает выборку.
// Граница: Обязательные параметры: QueryText
// Результат: Selection.

@example.1.A1sQ.BuildQ {
/ Текст запроса
QueryText =
"ВЫБРАТЬ
|	АктивностьСеансовПользователей.ИдентификаторЗаданияДляОстановки КАК ИдентификаторЗаданияДляОстановки,
|	АктивностьСеансовПользователей.ДатаПоследнейАктивностиУниверсальная КАК ДатаПоследнейАктивностиУниверсальная
|ИЗ
|	РегистрСведений.АктивностьСеансовПользователей КАК АктивностьСеансовПользователей
|ГДЕ
|	АктивностьСеансовПользователей.Организация = &Организация
|	И АктивностьСеансовПользователей.Пользователь = &Пользователь";
/ Создание запроса с параметрами
Query = BuildQ(QueryText, Источник.Организация, ТекущийПользователь);
/ Выполнение запроса
Выборка = Query.Выполнить().Выбрать();
@example.1.A1sQ.BuildQ }

Автоматически определяет необходимость экранирования параметров в запросе.

Полная сигнатураProcessQueryParams(QueryText, Parameters, AutoEscape = True) → Structure
ПараметрТипОписание
QueryTextStringТекст запроса.
ParametersStructureСтруктура параметров.
AutoEscapeBooleanАвтоматическое экранирование для LIKE/ПОДОБНО. По умолчанию: True.
ВозвращаетStructure
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Автоматически определяет необходимость экранирования параметров в запросе.
// Граница: Обязательные параметры: QueryText, Parameters
// Результат: Structure.

Данные = A1sQ.ProcessQueryParams("ВЫБРАТЬ Ссылка ИЗ Справочник.Номенклатура", Параметры);

Выполнение и скаляры

Выполнение запросов и получение первой строки, значения, количества или признака существования.

Выполняет запрос и возвращает выборку.

Полная сигнатураExecuteQ(QueryText, Value1 = Undefined, Value2 = Undefined, Value3 = Undefined, Value4 = Undefined, Value5 = Undefined, Value6 = Undefined, Value7 = Undefined, Value8 = Undefined) → Selection
ПараметрТипОписание
QueryTextStringТекст запроса.
Value1VariantПараметры. По умолчанию: Undefined.
Value2VariantПараметры. По умолчанию: Undefined.
Value3VariantПараметры. По умолчанию: Undefined.
Value4VariantПараметры. По умолчанию: Undefined.
Value5VariantПараметры. По умолчанию: Undefined.
Value6VariantПараметры. По умолчанию: Undefined.
Value7VariantПараметры. По умолчанию: Undefined.
Value8VariantПараметры. По умолчанию: Undefined.
ВозвращаетSelection
Примерпример из исходника · сигнатура проверена1C
// Намерение: Выполняет запрос и возвращает выборку.
// Граница: Обязательные параметры: QueryText
// Результат: Selection.

@example.1.A1sQ.ExecuteQ {
/ Текст запроса
QueryText =
"ВЫБРАТЬ
|	АктивностьСеансовПользователей.ИдентификаторЗаданияДляОстановки КАК ИдентификаторЗаданияДляОстановки,
|	АктивностьСеансовПользователей.ДатаПоследнейАктивностиУниверсальная КАК ДатаПоследнейАктивностиУниверсальная
|ИЗ
|	РегистрСведений.АктивностьСеансовПользователей КАК АктивностьСеансовПользователей
|ГДЕ
|	АктивностьСеансовПользователей.Организация = &Организация
|	И АктивностьСеансовПользователей.Пользователь = &Пользователь";
/ Выполнение запроса с параметрами
Выборка = ExecuteQ(QueryText, Источник.Организация, ТекущийПользователь);
@example.1.A1sQ.ExecuteQ }

Возвращает первую строку из выборки запроса.

Полная сигнатураFirstRow(Selection) → Variant
ПараметрТипОписание
SelectionSelectionОбъект ВыборкаИзРезультатаЗапроса.
ВозвращаетVariant
Примерпример из исходника · сигнатура проверена1C
// Намерение: Возвращает первую строку из выборки запроса.
// Граница: Обязательные параметры: Selection
// Результат: Variant.

s = A1sQ.ExecuteQ("ВЫБРАТЬ 1 КАК Число"); //▶️
r = A1sS.FirstRow(s); //▶️
If r <> Undefined Then //⚡
    A1sS.Print("Первое значение: " + r.Число); //▶️
EndIf;

Выполняет запрос и возвращает первую строку выборки или Undefined.

Полная сигнатураFirstRowQ(QueryText, Value1 = Undefined, Value2 = Undefined, Value3 = Undefined, Value4 = Undefined, Value5 = Undefined, Value6 = Undefined, Value7 = Undefined, Value8 = Undefined) → Selection
ПараметрТипОписание
QueryTextStringТекст запроса.
Value1VariantПараметры. По умолчанию: Undefined.
Value2VariantПараметры. По умолчанию: Undefined.
Value3VariantПараметры. По умолчанию: Undefined.
Value4VariantПараметры. По умолчанию: Undefined.
Value5VariantПараметры. По умолчанию: Undefined.
Value6VariantПараметры. По умолчанию: Undefined.
Value7VariantПараметры. По умолчанию: Undefined.
Value8VariantПараметры. По умолчанию: Undefined.
ВозвращаетSelection
Примерпример из исходника · сигнатура проверена1C
// Намерение: Выполняет запрос и возвращает первую строку выборки или Undefined.
// Граница: Обязательные параметры: QueryText
// Результат: Selection.

row = A1sQ.FirstRowQ("ВЫБРАТЬ ПЕРВЫЕ 1 Ссылка ИЗ Справочник.Пользователи ГДЕ ИдентификаторПользователяИБ = &UID", UserUID);
Пользователь = ?(row = Undefined, Справочники.Пользователи.ПустаяСсылка(), row.Ссылка);

Выполняет запрос и возвращает единственное значение из первой строки и первого столбца.

Полная сигнатураValueQ(QueryText, DefaultValue = Undefined, Value1 = Undefined, Value2 = Undefined, Value3 = Undefined, Value4 = Undefined, Value5 = Undefined, Value6 = Undefined, Value7 = Undefined, Value8 = Undefined) → Variant
ПараметрТипОписание
QueryTextStringТекст запроса.
DefaultValueVariantЗначение по умолчанию. По умолчанию: Undefined.
Value1VariantПараметры. По умолчанию: Undefined.
Value2VariantПараметры. По умолчанию: Undefined.
Value3VariantПараметры. По умолчанию: Undefined.
Value4VariantПараметры. По умолчанию: Undefined.
Value5VariantПараметры. По умолчанию: Undefined.
Value6VariantПараметры. По умолчанию: Undefined.
Value7VariantПараметры. По умолчанию: Undefined.
Value8VariantПараметры. По умолчанию: Undefined.
ВозвращаетVariant
Примерпример из исходника · сигнатура проверена1C
// Намерение: Выполняет запрос и возвращает единственное значение из первой строки и первого столбца.
// Граница: Обязательные параметры: QueryText
// Результат: Variant.

Count = A1sQ.ValueQ("ВЫБРАТЬ КОЛИЧЕСТВО(*) ИЗ Справочник.Номенклатура", 0);
MaxDate = A1sQ.ValueQ("ВЫБРАТЬ МАКСИМУМ(Дата) ИЗ Документ.Продажа", '00010101');

Безопасное выполнение запроса с автоэкранированием.

Полная сигнатураExecuteQSafe(QueryText, Parameters = Undefined, AutoEscape = True) → Selection
ПараметрТипОписание
QueryTextStringТекст запроса.
ParametersStructureПараметры запроса. По умолчанию: Undefined.
AutoEscapeBooleanАвтоматическое экранирование. По умолчанию: True.
ВозвращаетSelection
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Безопасное выполнение запроса с автоэкранированием.
// Граница: Обязательные параметры: QueryText
// Результат: Selection.

Результат = A1sQ.ExecuteQSafe("ВЫБРАТЬ Ссылка ИЗ Справочник.Номенклатура");

Безопасная выгрузка с автоэкранированием.

Полная сигнатураUnloadSafe(QueryText, Parameters = Undefined, AutoEscape = True) → ValueTable
ПараметрТипОписание
QueryTextStringТекст запроса.
ParametersStructureПараметры запроса. По умолчанию: Undefined.
AutoEscapeBooleanАвтоматическое экранирование. По умолчанию: True.
ВозвращаетValueTable
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Безопасная выгрузка с автоэкранированием.
// Граница: Обязательные параметры: QueryText
// Результат: ValueTable.

Таблица = A1sQ.UnloadSafe("ВЫБРАТЬ Ссылка ИЗ Справочник.Номенклатура");

Проверяет существование записей по запросу (оптимизированная версия IsNotEmptyResult).

Полная сигнатураExistsQ(QueryText, Value1 = Undefined, Value2 = Undefined, Value3 = Undefined, Value4 = Undefined, Value5 = Undefined, Value6 = Undefined, Value7 = Undefined, Value8 = Undefined) → Boolean
ПараметрТипОписание
QueryTextStringТекст запроса.
Value1VariantПараметры. По умолчанию: Undefined.
Value2VariantПараметры. По умолчанию: Undefined.
Value3VariantПараметры. По умолчанию: Undefined.
Value4VariantПараметры. По умолчанию: Undefined.
Value5VariantПараметры. По умолчанию: Undefined.
Value6VariantПараметры. По умолчанию: Undefined.
Value7VariantПараметры. По умолчанию: Undefined.
Value8VariantПараметры. По умолчанию: Undefined.
ВозвращаетBoolean
Примерпример из исходника · сигнатура проверена1C
// Намерение: Проверяет существование записей по запросу (оптимизированная версия IsNotEmptyResult).
// Граница: Обязательные параметры: QueryText
// Результат: Boolean.

If A1sQ.ExistsQ("ВЫБРАТЬ * ИЗ Справочник.Номенклатура ГДЕ Наименование = &Name", "Товар") Then
    Message("Товар найден");
EndIf;

Выполняет запрос подсчета количества записей.

Полная сигнатураCountQ(QueryText, Condition = "", Value1 = Undefined, Value2 = Undefined, Value3 = Undefined, Value4 = Undefined, Value5 = Undefined, Value6 = Undefined, Value7 = Undefined, Value8 = Undefined) → Number
ПараметрТипОписание
QueryTextStringТекст запроса или имя таблицы.
ConditionStringУсловие WHERE. По умолчанию: "".
Value1VariantПараметры. По умолчанию: Undefined.
Value2VariantПараметры. По умолчанию: Undefined.
Value3VariantПараметры. По умолчанию: Undefined.
Value4VariantПараметры. По умолчанию: Undefined.
Value5VariantПараметры. По умолчанию: Undefined.
Value6VariantПараметры. По умолчанию: Undefined.
Value7VariantПараметры. По умолчанию: Undefined.
Value8VariantПараметры. По умолчанию: Undefined.
ВозвращаетNumber
Примерпример из исходника · сигнатура проверена1C
// Намерение: Выполняет запрос подсчета количества записей.
// Граница: Обязательные параметры: QueryText
// Результат: Number.

По имени таблицы
Count = A1sQ.CountQ("Справочник.Номенклатура", "НЕ ПометкаУдаления");
Пример 2: По готовому запросу
Count = A1sQ.CountQ("ВЫБРАТЬ КОЛИЧЕСТВО(*) ИЗ Справочник.Номенклатура ГДЕ Родитель = &Parent", , ParentRef);

Преобразование результатов

Выгрузка результата в таблицу, массив, структуру, соответствие и сгруппированные данные.

Получает структуру полей таблицы или временной таблицы через запрос без строк.

Полная сигнатураGetTableStructure(TableName, TTManager = Неопределено) → ValueTable
ПараметрТипОписание
TableNameStringПараметр публичной сигнатуры.
TTManagerTempTablesManagerПараметр публичной сигнатуры. По умолчанию: Неопределено.
ВозвращаетValueTable
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Получает структуру полей таблицы или временной таблицы через запрос без строк.
// Граница: Обязательные параметры: TableName
// Результат: ValueTable.

Таблица = A1sQ.GetTableStructure("Справочник.Номенклатура");

Возвращает СписокЗначений из результата запроса.

Полная сигнатураValuesQ(QueryText, ValueField = "Ссылка", PresentationField = "", Value1 = Undefined, Value2 = Undefined, Value3 = Undefined, Value4 = Undefined, Value5 = Undefined, Value6 = Undefined, Value7 = Undefined, Value8 = Undefined) → ValueList
ПараметрТипОписание
QueryTextStringТекст запроса.
ValueFieldStringИмя поля значения. По умолчанию: "Ссылка".
PresentationFieldStringИмя поля представления (необязательно). По умолчанию: "".
Value1VariantПараметры запроса. По умолчанию: Undefined.
Value2VariantПараметры запроса. По умолчанию: Undefined.
Value3VariantПараметры запроса. По умолчанию: Undefined.
Value4VariantПараметры запроса. По умолчанию: Undefined.
Value5VariantПараметры запроса. По умолчанию: Undefined.
Value6VariantПараметры запроса. По умолчанию: Undefined.
Value7VariantПараметры запроса. По умолчанию: Undefined.
Value8VariantПараметры запроса. По умолчанию: Undefined.
ВозвращаетValueList
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Возвращает СписокЗначений из результата запроса.
// Граница: Обязательные параметры: QueryText
// Результат: ValueList.

Результат = A1sQ.ValuesQ("ВЫБРАТЬ Ссылка ИЗ Справочник.Номенклатура");

Выполняет запрос и выгружает выбранную колонку в массив.

Полная сигнатураArrayQ(QueryText, ColumnName = "", Value1 = Undefined, Value2 = Undefined, Value3 = Undefined, Value4 = Undefined, Value5 = Undefined, Value6 = Undefined, Value7 = Undefined, Value8 = Undefined) → Array
ПараметрТипОписание
QueryTextStringТекст запроса.
ColumnNameStringИмя колонки (если пусто - первая колонка). По умолчанию: "".
Value1VariantПараметры запроса. По умолчанию: Undefined.
Value2VariantПараметры запроса. По умолчанию: Undefined.
Value3VariantПараметры запроса. По умолчанию: Undefined.
Value4VariantПараметры запроса. По умолчанию: Undefined.
Value5VariantПараметры запроса. По умолчанию: Undefined.
Value6VariantПараметры запроса. По умолчанию: Undefined.
Value7VariantПараметры запроса. По умолчанию: Undefined.
Value8VariantПараметры запроса. По умолчанию: Undefined.
ВозвращаетArray
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Выполняет запрос и выгружает выбранную колонку в массив.
// Граница: Обязательные параметры: QueryText
// Результат: Array.

Массив = A1sQ.ArrayQ("ВЫБРАТЬ Ссылка ИЗ Справочник.Номенклатура");

Выполняет запрос и формирует структуру ключ → значение.

Полная сигнатураStructureQ(QueryText, KeyField = "", ValueField = "", Value1 = Undefined, Value2 = Undefined, Value3 = Undefined, Value4 = Undefined, Value5 = Undefined, Value6 = Undefined, Value7 = Undefined, Value8 = Undefined) → Structure
ПараметрТипОписание
QueryTextStringТекст запроса.
KeyFieldStringИмя поля ключа (если пусто - первая колонка). По умолчанию: "".
ValueFieldStringИмя поля значения (если пусто - вторая колонка). По умолчанию: "".
Value1VariantПараметры запроса. По умолчанию: Undefined.
Value2VariantПараметры запроса. По умолчанию: Undefined.
Value3VariantПараметры запроса. По умолчанию: Undefined.
Value4VariantПараметры запроса. По умолчанию: Undefined.
Value5VariantПараметры запроса. По умолчанию: Undefined.
Value6VariantПараметры запроса. По умолчанию: Undefined.
Value7VariantПараметры запроса. По умолчанию: Undefined.
Value8VariantПараметры запроса. По умолчанию: Undefined.
ВозвращаетStructure
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Выполняет запрос и формирует структуру ключ → значение.
// Граница: Обязательные параметры: QueryText
// Результат: Structure.

Данные = A1sQ.StructureQ("ВЫБРАТЬ Ссылка ИЗ Справочник.Номенклатура");

Выполняет запрос и формирует соответствие ключ → значение.

Полная сигнатураMapQ(QueryText, KeyField = "", ValueField = "", Value1 = Undefined, Value2 = Undefined, Value3 = Undefined, Value4 = Undefined, Value5 = Undefined, Value6 = Undefined, Value7 = Undefined, Value8 = Undefined) → Map
ПараметрТипОписание
QueryTextStringТекст запроса.
KeyFieldStringИмя поля ключа. По умолчанию: "".
ValueFieldStringИмя поля значения. По умолчанию: "".
Value1VariantПараметры запроса. По умолчанию: Undefined.
Value2VariantПараметры запроса. По умолчанию: Undefined.
Value3VariantПараметры запроса. По умолчанию: Undefined.
Value4VariantПараметры запроса. По умолчанию: Undefined.
Value5VariantПараметры запроса. По умолчанию: Undefined.
Value6VariantПараметры запроса. По умолчанию: Undefined.
Value7VariantПараметры запроса. По умолчанию: Undefined.
Value8VariantПараметры запроса. По умолчанию: Undefined.
ВозвращаетMap
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Выполняет запрос и формирует соответствие ключ → значение.
// Граница: Обязательные параметры: QueryText
// Результат: Map.

Данные = A1sQ.MapQ("ВЫБРАТЬ Ссылка ИЗ Справочник.Номенклатура");

Группирует строки результата по значению указанного поля.

Полная сигнатураGroupedQ(QueryText, GroupField, Value1 = Undefined, Value2 = Undefined, Value3 = Undefined, Value4 = Undefined, Value5 = Undefined, Value6 = Undefined, Value7 = Undefined, Value8 = Undefined) → Structure
ПараметрТипОписание
QueryTextStringТекст запроса.
GroupFieldStringПоле для группировки.
Value1VariantПараметры запроса. По умолчанию: Undefined.
Value2VariantПараметры запроса. По умолчанию: Undefined.
Value3VariantПараметры запроса. По умолчанию: Undefined.
Value4VariantПараметры запроса. По умолчанию: Undefined.
Value5VariantПараметры запроса. По умолчанию: Undefined.
Value6VariantПараметры запроса. По умолчанию: Undefined.
Value7VariantПараметры запроса. По умолчанию: Undefined.
Value8VariantПараметры запроса. По умолчанию: Undefined.
ВозвращаетStructure
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Группирует строки результата по значению указанного поля.
// Граница: Обязательные параметры: QueryText, GroupField
// Результат: Structure.

Данные = A1sQ.GroupedQ("ВЫБРАТЬ Ссылка ИЗ Справочник.Номенклатура", "Наименование");

Выполняет несколько независимых запросов последовательно и возвращает результаты в структуре. Внимание: запросы выполняются по отдельности, временные таблицы между ними не доступны! Для выполнения настоящих пакетных запросов (с ВТ) используйте UnloadBatch.

Полная сигнатураUnloadMultiple(QueriesMap, CommonParams = Undefined) → Structure
ПараметрТипОписание
QueriesMapStructureСтруктура "Ключ" -> "Текст запроса".
CommonParamsStructureОбщие параметры для всех запросов. По умолчанию: Undefined.
ВозвращаетStructure
Примерпример из исходника · сигнатура проверена1C
// Намерение: Выполняет несколько независимых запросов последовательно и возвращает результаты в структуре. Внимание: запросы выполняются по отдельности, временные таблицы между ними не доступны! Для выполнения настоящих пакетных запросов (с ВТ) используйте UnloadBatch.
// Граница: Обязательные параметры: QueriesMap
// Результат: Structure.

Queries = New Structure;
Queries.Insert("Товары", "ВЫБРАТЬ * ИЗ Справочник.Номенклатура ГДЕ Родитель = &Parent");
Queries.Insert("Услуги", "ВЫБРАТЬ * ИЗ Справочник.Номенклатура ГДЕ ЭтоГруппа = ЛОЖЬ И ВидНоменклатуры = &ServiceType");

Params = New Structure;
Params.Insert("Parent", ParentRef);
Params.Insert("ServiceType", ServiceTypeRef);

Results = A1sQ.UnloadMultiple(Queries, Params);
// Results.Товары - таблица товаров
// Results.Услуги - таблица услуг

Проверяет, что результат запроса пуст.

Полная сигнатураIsEmptyResult(QueryText, Value1 = Undefined, Value2 = Undefined, Value3 = Undefined, Value4 = Undefined, Value5 = Undefined, Value6 = Undefined, Value7 = Undefined, Value8 = Undefined) → Boolean
ПараметрТипОписание
QueryTextStringПараметр публичной сигнатуры.
Value1ArbitraryПараметр публичной сигнатуры. По умолчанию: Undefined.
Value2ArbitraryПараметр публичной сигнатуры. По умолчанию: Undefined.
Value3ArbitraryПараметр публичной сигнатуры. По умолчанию: Undefined.
Value4ArbitraryПараметр публичной сигнатуры. По умолчанию: Undefined.
Value5ArbitraryПараметр публичной сигнатуры. По умолчанию: Undefined.
Value6ArbitraryПараметр публичной сигнатуры. По умолчанию: Undefined.
Value7ArbitraryПараметр публичной сигнатуры. По умолчанию: Undefined.
Value8ArbitraryПараметр публичной сигнатуры. По умолчанию: Undefined.
ВозвращаетBoolean
Примерпример из исходника · сигнатура проверена1C
// Намерение: Проверяет, что результат запроса пуст.
// Граница: Обязательные параметры: QueryText
// Результат: Boolean.

If IsEmptyResult("ВЫБРАТЬ ПЕРВЫЕ 1 * ИЗ Справочник.Номенклатура ГДЕ Наименование = &Наименование", "Тестовая номенклатура") Then
   // Выборка пуста, записи не найдены
   Сообщить("Записи с таким наименованием не найдены.");
Else
   // Выборка содержит данные
   Сообщить("Записи с таким наименованием найдены.");
EndIf

Проверяет, что результат запроса не пуст.

Полная сигнатураIsNotEmptyResult(QueryText, Value1 = Undefined, Value2 = Undefined, Value3 = Undefined, Value4 = Undefined, Value5 = Undefined, Value6 = Undefined, Value7 = Undefined, Value8 = Undefined) → Boolean
ПараметрТипОписание
QueryTextStringПараметр публичной сигнатуры.
Value1ArbitraryПараметр публичной сигнатуры. По умолчанию: Undefined.
Value2ArbitraryПараметр публичной сигнатуры. По умолчанию: Undefined.
Value3ArbitraryПараметр публичной сигнатуры. По умолчанию: Undefined.
Value4ArbitraryПараметр публичной сигнатуры. По умолчанию: Undefined.
Value5ArbitraryПараметр публичной сигнатуры. По умолчанию: Undefined.
Value6ArbitraryПараметр публичной сигнатуры. По умолчанию: Undefined.
Value7ArbitraryПараметр публичной сигнатуры. По умолчанию: Undefined.
Value8ArbitraryПараметр публичной сигнатуры. По умолчанию: Undefined.
ВозвращаетBoolean
Примерпример из исходника · сигнатура проверена1C
// Намерение: Проверяет, что результат запроса не пуст.
// Граница: Обязательные параметры: QueryText
// Результат: Boolean.

If IsNotEmptyResult("ВЫБРАТЬ ПЕРВЫЕ 1 * ИЗ Справочник.Номенклатура ГДЕ Наименование = &Наименование", "Тестовая номенклатура") Then
   // Выборка не пуста, записи найдены
   Сообщить("Записи с таким наименованием найдены.");
Else
   // Выборка пуста, записи не найдены
   Сообщить("Записи с таким наименованием не найдены.");
EndIf

Выполняет запрос и выгружает таблицу значений.

Полная сигнатураUnload(QueryText, Value1 = Undefined, Value2 = Undefined, Value3 = Undefined, Value4 = Undefined, Value5 = Undefined, Value6 = Undefined, Value7 = Undefined, Value8 = Undefined) → ValueTable
ПараметрТипОписание
QueryTextStringТекст запроса.
Value1VariantПараметры. По умолчанию: Undefined.
Value2VariantПараметры. По умолчанию: Undefined.
Value3VariantПараметры. По умолчанию: Undefined.
Value4VariantПараметры. По умолчанию: Undefined.
Value5VariantПараметры. По умолчанию: Undefined.
Value6VariantПараметры. По умолчанию: Undefined.
Value7VariantПараметры. По умолчанию: Undefined.
Value8VariantПараметры. По умолчанию: Undefined.
ВозвращаетValueTable
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Выполняет запрос и выгружает таблицу значений.
// Граница: Обязательные параметры: QueryText
// Результат: ValueTable.

Таблица = A1sQ.Unload("ВЫБРАТЬ Ссылка ИЗ Справочник.Номенклатура");

Проверяет, пуста ли ТаблицаЗначений.

Полная сигнатураIsEmptyTable(Data) → Boolean
ПараметрТипОписание
DataValueTableТаблицаЗначений для проверки.
ВозвращаетBoolean
Примерпример из исходника · сигнатура проверена1C
// Намерение: Проверяет, пуста ли ТаблицаЗначений.
// Граница: Обязательные параметры: Data
// Результат: Boolean.

Пустая таблица
vt = Новый ТаблицаЗначений;
A1sS.Print(IsEmptyTable(vt)); // TRUE
Пример 2: Таблица с данными
vt = Новый ТаблицаЗначений;
vt.Колонки.Добавить("Число");
r = vt.Добавить(); r.Число = 1;
A1sS.Print(IsEmptyTable(vt)); // FALSE

Выгружает из результата запроса один столбец в массив.

Полная сигнатураUnloadColumn(QueryText, ColumnName, Value1 = Undefined, Value2 = Undefined, Value3 = Undefined, Value4 = Undefined, Value5 = Undefined, Value6 = Undefined, Value7 = Undefined, Value8 = Undefined) → Array
ПараметрТипОписание
QueryTextStringПараметр публичной сигнатуры.
ColumnNameStringПараметр публичной сигнатуры.
Value1ArbitraryПараметр публичной сигнатуры. По умолчанию: Undefined.
Value2ArbitraryПараметр публичной сигнатуры. По умолчанию: Undefined.
Value3ArbitraryПараметр публичной сигнатуры. По умолчанию: Undefined.
Value4ArbitraryПараметр публичной сигнатуры. По умолчанию: Undefined.
Value5ArbitraryПараметр публичной сигнатуры. По умолчанию: Undefined.
Value6ArbitraryПараметр публичной сигнатуры. По умолчанию: Undefined.
Value7ArbitraryПараметр публичной сигнатуры. По умолчанию: Undefined.
Value8ArbitraryПараметр публичной сигнатуры. По умолчанию: Undefined.
ВозвращаетArray
Примерпример из исходника · сигнатура проверена1C
// Намерение: Выгружает из результата запроса один столбец в массив.
// Граница: Обязательные параметры: QueryText, ColumnName
// Результат: Array.

/ Текст запроса
QueryText =
"ВЫБРАТЬ
|  Хозрасчетный.Ссылка КАК СчетУчета
|ИЗ
|  ПланСчетов.Хозрасчетный КАК Хозрасчетный
|ГДЕ
|  НЕ Хозрасчетный.ЗапретитьИспользоватьВПроводках
|  И Хозрасчетный.Ссылка В ИЕРАРХИИ(&СчетаУчета)
|  И НЕ Хозрасчетный.Ссылка В ИЕРАРХИИ (&СчетаИсключений)
|
|УПОРЯДОЧИТЬ ПО
|  Хозрасчетный.Порядок";
/ Выгрузка колонки
ColumnValues = UnloadColumn(QueryText, "СчетУчета", СчетаУчета, СчетаИсключений);
/ Пример использования результата
Для Каждого Значение Из ColumnValues Цикл
   Сообщить(Значение);
КонецЦикла;

Поиск и выбор

Построение поисковых запросов и данных выбора для управляемых форм.

Универсальная функция поиска с автоматическим построением условий.

Полная сигнатураBuildSearchQuery(TableName, SearchFields, SearchString, SearchMode = "Contains", TopCount = 20, AdditionalConditions = "", OrderBy = "") → Structure
ПараметрТипОписание
TableNameStringИмя таблицы для поиска.
SearchFieldsStringПоля для поиска (через запятую).
SearchStringStringСтрока поиска.
SearchModeStringРежим поиска: "Contains", "StartsWith", "EndsWith", "Exact". По умолчанию: "Contains".
TopCountNumberКоличество записей. По умолчанию: 20.
AdditionalConditionsStringДополнительные условия WHERE. По умолчанию: "".
OrderByStringПоля сортировки. По умолчанию: "".
ВозвращаетStructure
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Универсальная функция поиска с автоматическим построением условий.
// Граница: Обязательные параметры: TableName, SearchFields, SearchString
// Результат: Structure.

Данные = A1sQ.BuildSearchQuery("Справочник.Номенклатура", "Наименование", "молоко");

Выполняет поиск и возвращает ValueList для выбора.

Полная сигнатураSearchForChoice(TableName, SearchFields, ValueField, PresentationField, SearchString, SearchMode = "Contains", TopCount = 20, AdditionalConditions = "") → ValueList
ПараметрТипОписание
TableNameStringИмя таблицы.
SearchFieldsStringПоля поиска.
ValueFieldStringПоле значения (обычно "Ссылка").
PresentationFieldStringПоле представления.
SearchStringStringСтрока поиска.
SearchModeStringРежим поиска. По умолчанию: "Contains".
TopCountNumberКоличество записей. По умолчанию: 20.
AdditionalConditionsStringДополнительные условия. По умолчанию: "".
ВозвращаетValueList
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Выполняет поиск и возвращает ValueList для выбора.
// Граница: Обязательные параметры: TableName, SearchFields, ValueField, PresentationField, SearchString
// Результат: ValueList.

Результат = A1sQ.SearchForChoice("Справочник.Номенклатура", "Наименование", "Наименование", "Наименование", "молоко");

Автоматизированная функция для ОбработкаПолученияДанныхВыбора.

Полная сигнатураAutoChoiceData(TableName, SearchFields, ValueField = "Ссылка", PresentationFields, SearchParams, AdditionalConditions = "НЕ ПометкаУдаления") → ValueList
ПараметрТипОписание
TableNameStringИмя таблицы.
SearchFieldsStringПоля поиска.
ValueFieldStringПоле значения. По умолчанию: "Ссылка".
PresentationFieldsStringПоля для представления (через запятую).
SearchParamsStructureПараметры поиска (СтрокаПоиска, СпособПоискаСтроки).
AdditionalConditionsStringДополнительные условия WHERE. По умолчанию: "НЕ ПометкаУдаления".
ВозвращаетValueList
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Автоматизированная функция для ОбработкаПолученияДанныхВыбора.
// Граница: Обязательные параметры: TableName, SearchFields, PresentationFields, SearchParams
// Результат: ValueList.

Результат = A1sQ.AutoChoiceData("Справочник.Номенклатура", "Наименование", "Наименование", Параметры);

Упрощённая функция для стандартной ОбработкаПолученияДанныхВыбора. Использовать в процедуре: ДанныеВыбора = A1sQ.StandardChoiceProcessing(Параметры, "Справочник.Номенклатура", "Наименование", "Наименование, Артикул");

Полная сигнатураStandardChoiceProcessing(Parameters, TableName, SearchFields, PresentationFields, ValueField = "Ссылка", AdditionalConditions = "НЕ ПометкаУдаления") → ValueList
ПараметрТипОписание
ParametersStructureСтандартные параметры от платформы.
TableNameStringИмя таблицы/справочника.
SearchFieldsStringПоля для поиска.
PresentationFieldsStringПоля для отображения.
ValueFieldStringПоле значения. По умолчанию: "Ссылка".
AdditionalConditionsStringДополнительные условия. По умолчанию: "НЕ ПометкаУдаления".
ВозвращаетValueList
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Упрощённая функция для стандартной ОбработкаПолученияДанныхВыбора. Использовать в процедуре: ДанныеВыбора = A1sQ.StandardChoiceProcessing(Параметры, "Справочник.Номенклатура", "Наименование", "Наименование, Артикул");
// Граница: Обязательные параметры: Parameters, TableName, SearchFields, PresentationFields
// Результат: ValueList.

Результат = A1sQ.StandardChoiceProcessing(Параметры, "Справочник.Номенклатура", "Наименование", "Наименование");

Быстрый поиск по справочнику с минимальными параметрами.

Полная сигнатураQuickCatalogSearch(CatalogName, SearchString, SearchMode = "Contains") → ValueList
ПараметрТипОписание
CatalogNameStringИмя справочника без "Справочник.".
SearchStringStringСтрока поиска.
SearchModeStringРежим поиска. По умолчанию: "Contains".
ВозвращаетValueList
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Быстрый поиск по справочнику с минимальными параметрами.
// Граница: Обязательные параметры: CatalogName, SearchString
// Результат: ValueList.

Результат = A1sQ.QuickCatalogSearch("Номенклатура", "молоко");

Быстрый поиск по документу.

Полная сигнатураQuickDocumentSearch(DocumentName, SearchString, SearchMode = "Contains") → ValueList
ПараметрТипОписание
DocumentNameStringИмя документа без "Документ.".
SearchStringStringСтрока поиска.
SearchModeStringРежим поиска. По умолчанию: "Contains".
ВозвращаетValueList
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Быстрый поиск по документу.
// Граница: Обязательные параметры: DocumentName, SearchString
// Результат: ValueList.

Результат = A1sQ.QuickDocumentSearch("РеализацияТоваровУслуг", "молоко");

Примеры использования новых функций поиска.

Полная сигнатураShowSearchExamples() → —

Параметров нет.

Возвращает
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Примеры использования новых функций поиска.
// Граница: Параметров нет.
// Результат: —.

A1sQ.ShowSearchExamples();

Query Builder

Пошаговая сборка Query и расширенные сценарии: цепочки, страницы, JSON и профилирование.

Цепочка запросов с передачей TempTablesManager между ними.

Полная сигнатураChainQ(Queries, ReturnResults = False) → Array
ПараметрТипОписание
QueriesArrayМассив структур {Text, Params}.
ReturnResultsBooleanВозвращать результаты всех запросов. По умолчанию: False.
ВозвращаетArray
Примерпример из исходника · сигнатура проверена1C
// Намерение: Цепочка запросов с передачей TempTablesManager между ними.
// Граница: Обязательные параметры: Queries
// Результат: Array.

QueriesArray = New Array;
QueriesArray.Add(New Structure("Text", "ВЫБРАТЬ * ИЗ Справочник.Номенклатура ПОМЕСТИТЬ ВТ_Товары"));
QueriesArray.Add(New Structure("Text,Params", "ВЫБРАТЬ * ИЗ ВТ_Товары ГДЕ Родитель = &Parent", New Structure("Parent", ParentRef)));
Results = A1sQ.ChainQ(QueriesArray, True);

Конструктор запросов в fluent-стиле.

Полная сигнатураSelect(Fields) → QueryBuilder
ПараметрТипОписание
FieldsStringПоля для выборки.
ВозвращаетQueryBuilder
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Конструктор запросов в fluent-стиле.
// Граница: Обязательные параметры: Fields
// Результат: QueryBuilder.

Построитель = A1sQ.Select("Ссылка, Наименование");

Устанавливает источник данных для QueryBuilder.

Полная сигнатураFrom(Builder, TableName) → QueryBuilder
ПараметрТипОписание
BuilderQueryBuilderПараметр публичной сигнатуры.
TableNameStringПараметр публичной сигнатуры.
ВозвращаетQueryBuilder
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Устанавливает источник данных для QueryBuilder.
// Граница: Обязательные параметры: Builder, TableName
// Результат: QueryBuilder.

Построитель = A1sQ.From(Построитель, "Справочник.Номенклатура");

Добавляет условие WHERE для QueryBuilder.

Полная сигнатураWhere(Builder, Condition) → QueryBuilder
ПараметрТипОписание
BuilderQueryBuilderПараметр публичной сигнатуры.
ConditionStringПараметр публичной сигнатуры.
ВозвращаетQueryBuilder
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Добавляет условие WHERE для QueryBuilder.
// Граница: Обязательные параметры: Builder, Condition
// Результат: QueryBuilder.

Построитель = A1sQ.Where(Построитель, "НЕ ПометкаУдаления");

Добавляет параметр для QueryBuilder.

Полная сигнатураWithParam(Builder, ParamName, ParamValue) → QueryBuilder
ПараметрТипОписание
BuilderQueryBuilderПараметр публичной сигнатуры.
ParamNameStringПараметр публичной сигнатуры.
ParamValueArbitraryПараметр публичной сигнатуры.
ВозвращаетQueryBuilder
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Добавляет параметр для QueryBuilder.
// Граница: Обязательные параметры: Builder, ParamName, ParamValue
// Результат: QueryBuilder.

Построитель = A1sQ.WithParam(Построитель, "Родитель", Родитель);

Добавляет сортировку для QueryBuilder.

Полная сигнатураOrderBy(Builder, OrderFields) → QueryBuilder
ПараметрТипОписание
BuilderQueryBuilderПараметр публичной сигнатуры.
OrderFieldsStringПараметр публичной сигнатуры.
ВозвращаетQueryBuilder
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Добавляет сортировку для QueryBuilder.
// Граница: Обязательные параметры: Builder, OrderFields
// Результат: QueryBuilder.

Построитель = A1sQ.OrderBy(Построитель, "Наименование");

Добавляет ограничение ПЕРВЫЕ для QueryBuilder.

Полная сигнатураTop(Builder, Count) → QueryBuilder
ПараметрТипОписание
BuilderQueryBuilderПараметр публичной сигнатуры.
CountNumberПараметр публичной сигнатуры.
ВозвращаетQueryBuilder
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Добавляет ограничение ПЕРВЫЕ для QueryBuilder.
// Граница: Обязательные параметры: Builder, Count
// Результат: QueryBuilder.

Построитель = A1sQ.Top(Построитель, 20);

Строит и выполняет запрос из QueryBuilder.

Полная сигнатураBuild(Builder) → Query
ПараметрТипОписание
BuilderQueryBuilderПараметр публичной сигнатуры.
ВозвращаетQuery
Примерпример из исходника · сигнатура проверена1C
// Намерение: Строит и выполняет запрос из QueryBuilder.
// Граница: Обязательные параметры: Builder
// Результат: Query.

fluent-стиля:
Query = A1sQ.Select("Ссылка, Наименование")
           .From("Справочник.Номенклатура")
           .Where("НЕ ПометкаУдаления")
           .Where("Родитель = &Parent")
           .WithParam("Parent", ParentRef)
           .OrderBy("Наименование")
           .Top("10")
           .Build();

Result = Query.Execute().Unload();

Постраничное выполнение запроса.

Полная сигнатураPagedUnload(QueryText, PageSize, PageNumber, Value1 = Undefined, Value2 = Undefined, Value3 = Undefined, Value4 = Undefined, Value5 = Undefined, Value6 = Undefined, Value7 = Undefined, Value8 = Undefined) → Structure
ПараметрТипОписание
QueryTextStringТекст запроса.
PageSizeNumberРазмер страницы.
PageNumberNumberНомер страницы (начиная с 1).
Value1VariantПараметры. По умолчанию: Undefined.
Value2VariantПараметры. По умолчанию: Undefined.
Value3VariantПараметры. По умолчанию: Undefined.
Value4VariantПараметры. По умолчанию: Undefined.
Value5VariantПараметры. По умолчанию: Undefined.
Value6VariantПараметры. По умолчанию: Undefined.
Value7VariantПараметры. По умолчанию: Undefined.
Value8VariantПараметры. По умолчанию: Undefined.
ВозвращаетStructure
Примерпример из исходника · сигнатура проверена1C
// Намерение: Постраничное выполнение запроса.
// Граница: Обязательные параметры: QueryText, PageSize, PageNumber
// Результат: Structure.

Page = A1sQ.PagedUnload(
    "ВЫБРАТЬ Ссылка, Наименование ИЗ Справочник.Номенклатура ГДЕ НЕ ПометкаУдаления",
    20,  // размер страницы
    1    // первая страница
);

Message("Найдено записей: " + Page.Total);
Message("Есть еще страницы: " + Page.HasMore);
// Page.Data содержит ValueTable с результатами

Экспорт результата запроса в JSON.

Полная сигнатураUnloadToJSON(QueryText, Value1 = Undefined, Value2 = Undefined, Value3 = Undefined, Value4 = Undefined, Value5 = Undefined, Value6 = Undefined, Value7 = Undefined, Value8 = Undefined) → String
ПараметрТипОписание
QueryTextStringТекст запроса.
Value1VariantПараметры. По умолчанию: Undefined.
Value2VariantПараметры. По умолчанию: Undefined.
Value3VariantПараметры. По умолчанию: Undefined.
Value4VariantПараметры. По умолчанию: Undefined.
Value5VariantПараметры. По умолчанию: Undefined.
Value6VariantПараметры. По умолчанию: Undefined.
Value7VariantПараметры. По умолчанию: Undefined.
Value8VariantПараметры. По умолчанию: Undefined.
ВозвращаетString
Примерпример из исходника · сигнатура проверена1C
// Намерение: Экспорт результата запроса в JSON.
// Граница: Обязательные параметры: QueryText
// Результат: String.

JSON = A1sQ.UnloadToJSON("ВЫБРАТЬ Ссылка, Наименование ИЗ Справочник.Валюты ГДЕ НЕ ПометкаУдаления");
A1sS.Print(JSON);

Профилировщик запросов - измеряет время выполнения.

Полная сигнатураProfiledUnload(QueryText, ProfileName = "", Value1 = Undefined, Value2 = Undefined, Value3 = Undefined, Value4 = Undefined, Value5 = Undefined, Value6 = Undefined, Value7 = Undefined, Value8 = Undefined) → Structure
ПараметрТипОписание
QueryTextStringТекст запроса.
ProfileNameStringИмя для логирования. По умолчанию: "".
Value1VariantПараметры. По умолчанию: Undefined.
Value2VariantПараметры. По умолчанию: Undefined.
Value3VariantПараметры. По умолчанию: Undefined.
Value4VariantПараметры. По умолчанию: Undefined.
Value5VariantПараметры. По умолчанию: Undefined.
Value6VariantПараметры. По умолчанию: Undefined.
Value7VariantПараметры. По умолчанию: Undefined.
Value8VariantПараметры. По умолчанию: Undefined.
ВозвращаетStructure
Примерпример из исходника · сигнатура проверена1C
// Намерение: Профилировщик запросов - измеряет время выполнения.
// Граница: Обязательные параметры: QueryText
// Результат: Structure.

Profile = A1sQ.ProfiledUnload(
    "ВЫБРАТЬ * ИЗ Справочник.Номенклатура ГДЕ Родитель = &Parent",
    "LoadNomenclature",
    ParentRef
);

If Profile.Duration > 1000 Then
    Message("Медленный запрос: " + Profile.Duration + "мс");
EndIf;

Временные таблицы

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

Выгружает из TempTablesManager одну временную таблицу по имени.

Полная сигнатураUnloadTemp(TempManager, TableName) → ValueTable
ПараметрТипОписание
TempManagerTempTablesManagerПараметр публичной сигнатуры.
TableNameStringПараметр публичной сигнатуры.
ВозвращаетValueTable
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Выгружает из TempTablesManager одну временную таблицу по имени.
// Граница: Обязательные параметры: TempManager, TableName
// Результат: ValueTable.

Таблица = A1sQ.UnloadTemp(МенеджерВТ, "Справочник.Номенклатура");

Выгружает все временные таблицы из TempTablesManager в структуру.

Полная сигнатураUnloadAllTemps(TempManager) → Structure
ПараметрТипОписание
TempManagerTempTablesManagerМенеджер временных таблиц.
ВозвращаетStructure
Примерпример из исходника · сигнатура проверена1C
// Намерение: Выгружает все временные таблицы из TempTablesManager в структуру.
// Граница: Обязательные параметры: TempManager
// Результат: Structure.

@example.1.A1sQ.Unload {
/ Текст запроса
QueryText =
"ВЫБРАТЬ
|	АктивностьСеансовПользователей.ИдентификаторЗаданияДляОстановки КАК ИдентификаторЗаданияДляОстановки,
|	АктивностьСеансовПользователей.ДатаПоследнейАктивностиУниверсальная КАК ДатаПоследнейАктивностиУниверсальная
|ИЗ
|	РегистрСведений.АктивностьСеансовПользователей КАК АктивностьСеансовПользователей
|ГДЕ
|	АктивностьСеансовПользователей.Организация = &Организация
|	И АктивностьСеансовПользователей.Пользователь = &Пользователь";
/ Выполнение запроса с параметрами и выгрузка данных
ТаблицаЗначений = Unload(QueryText, Источник.Организация, ТекущийПользователь);
@example.1.A1sQ.Unload }

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

Полная сигнатураGetTemps() → TempTablesManager

Параметров нет.

ВозвращаетTempTablesManager
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Возвращает новый менеджер временных таблиц для использования в нескольких запросах.
// Граница: Параметров нет.
// Результат: TempTablesManager.

МенеджерВТ = A1sQ.GetTemps();

Создаёт временную таблицу из ТаблицыЗначений и возвращает её имя.

Полная сигнатураTT_Create(TTManager, Table, OptionalName = "") → String | Undefined
ПараметрТипОписание
TTManagerTempTablesManagerПараметр публичной сигнатуры.
TableValueTable | StringПараметр публичной сигнатуры.
OptionalNameStringПараметр публичной сигнатуры. По умолчанию: "".
ВозвращаетString | Undefined
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Создаёт временную таблицу из ТаблицыЗначений и возвращает её имя.
// Граница: Обязательные параметры: TTManager, Table
// Результат: String | Undefined.

Результат = A1sQ.TT_Create(МенеджерВТ, Таблица);

Возвращает пустую ТаблицуЗначений со схемой колонок временной таблицы.

Полная сигнатураTT_Columns(TTManager, TTName) → ValueTable
ПараметрТипОписание
TTManagerTempTablesManagerПараметр публичной сигнатуры.
TTNameStringПараметр публичной сигнатуры.
ВозвращаетValueTable
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Возвращает пустую ТаблицуЗначений со схемой колонок временной таблицы.
// Граница: Обязательные параметры: TTManager, TTName
// Результат: ValueTable.

Таблица = A1sQ.TT_Columns(МенеджерВТ, "TTName");

Проверяет наличие временной таблицы в менеджере.

Полная сигнатураTT_Exists(TTManager, TTName) → Boolean
ПараметрТипОписание
TTManagerTempTablesManagerПараметр публичной сигнатуры.
TTNameStringПараметр публичной сигнатуры.
ВозвращаетBoolean
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Проверяет наличие временной таблицы в менеджере.
// Граница: Обязательные параметры: TTManager, TTName
// Результат: Boolean.

Успешно = A1sQ.TT_Exists(МенеджерВТ, "TTName");

Проверяет наличие одной колонки во временной таблице.

Полная сигнатураTT_HasColumn(TTManager, TTName, ColumnName) → Boolean
ПараметрТипОписание
TTManagerTempTablesManagerПараметр публичной сигнатуры.
TTNameStringПараметр публичной сигнатуры.
ColumnNameStringПараметр публичной сигнатуры.
ВозвращаетBoolean
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Проверяет наличие одной колонки во временной таблице.
// Граница: Обязательные параметры: TTManager, TTName, ColumnName
// Результат: Boolean.

Успешно = A1sQ.TT_HasColumn(МенеджерВТ, "TTName", "Наименование");

Проверяет наличие набора колонок во временной таблице.

Полная сигнатураTT_HasColumns(TTManager, TTName, ColumnNamesStr) → Boolean
ПараметрТипОписание
TTManagerTempTablesManagerПараметр публичной сигнатуры.
TTNameStringПараметр публичной сигнатуры.
ColumnNamesStrStringПараметр публичной сигнатуры.
ВозвращаетBoolean
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Проверяет наличие набора колонок во временной таблице.
// Граница: Обязательные параметры: TTManager, TTName, ColumnNamesStr
// Результат: Boolean.

Успешно = A1sQ.TT_HasColumns(МенеджерВТ, "TTName", "Наименование");

Гарантированно очищает (FASTTRUNCATE) одну временную таблицу.

Полная сигнатураDestroyTemp(TempManager, TableName) → Boolean
ПараметрТипОписание
TempManagerTempTablesManagerМенеджер временных таблиц.
TableNameStringИмя Temp-таблицы.
ВозвращаетBoolean
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Гарантированно очищает (FASTTRUNCATE) одну временную таблицу.
// Граница: Обязательные параметры: TempManager, TableName
// Результат: Boolean.

Успешно = A1sQ.DestroyTemp(МенеджерВТ, "Справочник.Номенклатура");

Гарантированно очищает (FASTTRUNCATE) все временные таблицы в менеджере.

Полная сигнатураDestroyAllTemps(TempManager) → Boolean
ПараметрТипОписание
TempManagerTempTablesManagerМенеджер временных таблиц.
ВозвращаетBoolean
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Гарантированно очищает (FASTTRUNCATE) все временные таблицы в менеджере.
// Граница: Обязательные параметры: TempManager
// Результат: Boolean.

Успешно = A1sQ.DestroyAllTemps(МенеджерВТ);

Очищает все временные таблицы и сбрасывает TempTablesManager, освобождая ресурсы.

Полная сигнатураResetTempManager(Знач TempManager) → —
ПараметрТипОписание
Знач TempManagerTempTablesManagerПараметр публичной сигнатуры.
Возвращает
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Очищает все временные таблицы и сбрасывает TempTablesManager, освобождая ресурсы.
// Граница: Обязательные параметры: Знач TempManager
// Результат: —.

A1sQ.ResetTempManager(МенеджерВТ);

QT и условия

Короткая сборка текста запросов, LIKE-шаблоны и составные условия.

Собирает запрос через QT и устанавливает параметры.

Полная сигнатураBuildByQT(Fields, FromWhere, Condition = "", Value1 = Undefined, Value2 = Undefined, Value3 = Undefined, Value4 = Undefined, Value5 = Undefined, Value6 = Undefined, Value7 = Undefined, Value8 = Undefined) → Query
ПараметрТипОписание
FieldsStringСписок выбираемых полей.
FromWhereStringИмя таблицы или запроса.
ConditionStringУсловие WHERE. По умолчанию: "".
Value1VariantЗначения параметров. По умолчанию: Undefined.
Value2VariantЗначения параметров. По умолчанию: Undefined.
Value3VariantЗначения параметров. По умолчанию: Undefined.
Value4VariantЗначения параметров. По умолчанию: Undefined.
Value5VariantЗначения параметров. По умолчанию: Undefined.
Value6VariantЗначения параметров. По умолчанию: Undefined.
Value7VariantЗначения параметров. По умолчанию: Undefined.
Value8VariantЗначения параметров. По умолчанию: Undefined.
ВозвращаетQuery
Примерпример из исходника · сигнатура проверена1C
// Намерение: Собирает запрос через QT и устанавливает параметры.
// Граница: Обязательные параметры: Fields, FromWhere
// Результат: Query.

q = A1sQ.BuildByQT("Ссылка", "Справочник.Номенклатура", "Наименование = &Имя", "Товар");

Выполняет запрос, собранный через QT.

Полная сигнатураExecuteByQT(Fields, FromWhere, Condition = "", Value1 = Undefined, Value2 = Undefined, Value3 = Undefined, Value4 = Undefined, Value5 = Undefined, Value6 = Undefined, Value7 = Undefined, Value8 = Undefined) → Selection
ПараметрТипОписание
FieldsStringПараметр публичной сигнатуры.
FromWhereArbitraryПараметр публичной сигнатуры.
ConditionStringПараметр публичной сигнатуры. По умолчанию: "".
Value1ArbitraryПараметр публичной сигнатуры. По умолчанию: Undefined.
Value2ArbitraryПараметр публичной сигнатуры. По умолчанию: Undefined.
Value3ArbitraryПараметр публичной сигнатуры. По умолчанию: Undefined.
Value4ArbitraryПараметр публичной сигнатуры. По умолчанию: Undefined.
Value5ArbitraryПараметр публичной сигнатуры. По умолчанию: Undefined.
Value6ArbitraryПараметр публичной сигнатуры. По умолчанию: Undefined.
Value7ArbitraryПараметр публичной сигнатуры. По умолчанию: Undefined.
Value8ArbitraryПараметр публичной сигнатуры. По умолчанию: Undefined.
ВозвращаетSelection
Примерпример из исходника · сигнатура проверена1C
// Намерение: Выполняет запрос, собранный через QT.
// Граница: Обязательные параметры: Fields, FromWhere
// Результат: Selection.

s = A1sQ.ExecuteByQT("Ссылка", "Справочник.Номенклатура", "ПометкаУдаления = ЛОЖЬ");

Выполняет QT-запрос и выгружает таблицу значений.

Полная сигнатураUnloadByQT(Fields, FromWhere, Condition = "", Value1 = Undefined, Value2 = Undefined, Value3 = Undefined, Value4 = Undefined, Value5 = Undefined, Value6 = Undefined, Value7 = Undefined, Value8 = Undefined) → ValueTable
ПараметрТипОписание
FieldsStringПараметр публичной сигнатуры.
FromWhereArbitraryПараметр публичной сигнатуры.
ConditionStringПараметр публичной сигнатуры. По умолчанию: "".
Value1ArbitraryПараметр публичной сигнатуры. По умолчанию: Undefined.
Value2ArbitraryПараметр публичной сигнатуры. По умолчанию: Undefined.
Value3ArbitraryПараметр публичной сигнатуры. По умолчанию: Undefined.
Value4ArbitraryПараметр публичной сигнатуры. По умолчанию: Undefined.
Value5ArbitraryПараметр публичной сигнатуры. По умолчанию: Undefined.
Value6ArbitraryПараметр публичной сигнатуры. По умолчанию: Undefined.
Value7ArbitraryПараметр публичной сигнатуры. По умолчанию: Undefined.
Value8ArbitraryПараметр публичной сигнатуры. По умолчанию: Undefined.
ВозвращаетValueTable
Примерпример из исходника · сигнатура проверена1C
// Намерение: Выполняет QT-запрос и выгружает таблицу значений.
// Граница: Обязательные параметры: Fields, FromWhere
// Результат: ValueTable.

ТЗ = A1sQ.UnloadByQT("Ссылка", "Справочник.Номенклатура", "Наименование = &Имя", "Товар 1");

Быстрая сборка текста запроса: SELECT WhatToSelect FROM FromWhereSelect [WHERE Condition].

Полная сигнатураQT(WhatToSelect, FromWhereSelect, Condition = Undefined) → String
ПараметрТипОписание
WhatToSelectArbitraryПараметр публичной сигнатуры.
FromWhereSelectArbitraryПараметр публичной сигнатуры.
ConditionStringПараметр публичной сигнатуры. По умолчанию: Undefined.
ВозвращаетString
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Быстрая сборка текста запроса: SELECT WhatToSelect FROM FromWhereSelect [WHERE Condition].
// Граница: Обязательные параметры: WhatToSelect, FromWhereSelect
// Результат: String.

Текст = A1sQ.QT("Ссылка, Наименование", "Справочник.Номенклатура", "НЕ ПометкаУдаления");

Экранирует специальные символы для оператора LIKE.

Полная сигнатураEscapeLike(SearchString) → String
ПараметрТипОписание
SearchStringArbitraryПараметр публичной сигнатуры.
ВозвращаетString
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Экранирует специальные символы для оператора LIKE.
// Граница: Обязательные параметры: SearchString
// Результат: String.

БезопасныйФрагмент = A1sQ.EscapeLike("100% молоко");

Формирует текст разделителя между частями запроса.

Полная сигнатураQuerySeparator() → String

Параметров нет.

ВозвращаетString
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Формирует текст разделителя между частями запроса.
// Граница: Параметров нет.
// Результат: String.

Разделитель = A1sQ.QuerySeparator();

Формирует текст оператора UNION ALL между двумя запросами.

Полная сигнатураCombineQT(QueryText1 = Undefined, QueryText2 = Undefined) → String
ПараметрТипОписание
QueryText1StringПараметр публичной сигнатуры. По умолчанию: Undefined.
QueryText2StringПараметр публичной сигнатуры. По умолчанию: Undefined.
ВозвращаетString
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Формирует текст оператора UNION ALL между двумя запросами.
// Граница: Обязательных параметров нет; все параметры необязательны (2).
// Результат: String.

Текст = A1sQ.CombineQT(ЧастиЗапроса);

Формирует шаблон LIKE с процентами и экранированием.

Полная сигнатураLikePattern(SearchString) → String
ПараметрТипОписание
SearchStringArbitraryПараметр публичной сигнатуры.
ВозвращаетString
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Формирует шаблон LIKE с процентами и экранированием.
// Граница: Обязательные параметры: SearchString
// Результат: String.

Шаблон = A1sQ.LikePattern("молоко", "Contains");

Собирает текст условия WHERE из массива строк-условий. Фильтрует пустые строки, чтобы избежать некорректных конструкций типа "ГДЕ И ".

Полная сигнатураBuildWhere(ConditionsArray, Operator = "И", AddWhereKeyword = True) → String
ПараметрТипОписание
ConditionsArrayArrayМассив строк, каждая из которых - условие для WHERE.
OperatorStringЛогический оператор для соединения условий ("И" или "ИЛИ"). По умолчанию: "И".
AddWhereKeywordBooleanДобавлять ли ключевое слово "ГДЕ" в начало. По умолчанию: True.
ВозвращаетString
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Собирает текст условия WHERE из массива строк-условий. Фильтрует пустые строки, чтобы избежать некорректных конструкций типа "ГДЕ И ".
// Граница: Обязательные параметры: ConditionsArray
// Результат: String.

Текст = A1sQ.BuildWhere("НЕ ПометкаУдаления");

Метаданные табличных частей

Проверка полей табличных частей и получение описаний типов.

Проверяет наличие реквизита в табличной части метаданных.

Полная сигнатураTP_HasField(Metadata, TPName, FieldName) → Boolean
ПараметрТипОписание
MetadataStructure | ArbitraryПараметр публичной сигнатуры.
TPNameStringПараметр публичной сигнатуры.
FieldNameStringПараметр публичной сигнатуры.
ВозвращаетBoolean
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Проверяет наличие реквизита в табличной части метаданных.
// Граница: Обязательные параметры: Metadata, TPName, FieldName
// Результат: Boolean.

Успешно = A1sQ.TP_HasField(Параметры, "Товары", "Наименование");

Возвращает массив имён реквизитов табличной части.

Полная сигнатураTP_Fields(Metadata, TPName) → Array
ПараметрТипОписание
MetadataStructure | ArbitraryПараметр публичной сигнатуры.
TPNameStringПараметр публичной сигнатуры.
ВозвращаетArray
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Возвращает массив имён реквизитов табличной части.
// Граница: Обязательные параметры: Metadata, TPName
// Результат: Array.

Массив = A1sQ.TP_Fields(Параметры, "Товары");

Проверяет, что строка табличной части содержит все необходимые реквизиты и обязательные поля заполнены.

Полная сигнатураTP_ValidateFields(Metadata, TPName, Row, RequiredFields = Неопределено) → Boolean
ПараметрТипОписание
MetadataMetadataObjectМетаданные объекта.
TPNameStringИмя табличной части.
RowStructureСтрока табличной части для проверки.
RequiredFieldsVariantМассив или строка с именами обязательных полей. По умолчанию: Неопределено.
ВозвращаетBoolean
Примерпример из исходника · сигнатура проверена1C
// Намерение: Проверяет, что строка табличной части содержит все необходимые реквизиты и обязательные поля заполнены.
// Граница: Обязательные параметры: Metadata, TPName, Row
// Результат: Boolean.

Проверка строки с обязательными полями "Номенклатура,Количество"
Строка = Новый Структура("Номенклатура,Количество", "Товар1", 5);
Результат = A1sQ.TP_ValidateFields(Метаданные.Документы.ЗаказПокупателя, "Товары", Строка, "Номенклатура,Количество");
Ожидается Истина
Пример 2: Обязательное поле "Количество" не заполнено
Строка2 = Новый Структура("Номенклатура,Количество", "Товар1", Неопределено);
Результат2 = A1sQ.TP_ValidateFields(Метаданные.Документы.ЗаказПокупателя, "Товары", Строка2, "Номенклатура,Количество");
Ожидается Ложь
Пример 3: Отсутствует поле "Цена"
Строка3 = Новый Структура("Номенклатура,Количество", "Товар1", 10);
Результат3 = A1sQ.TP_ValidateFields(Метаданные.Документы.ЗаказПокупателя, "Товары", Строка3, "Номенклатура,Количество,Цена");
Ожидается Ложь

Возвращает описание типа реквизита табличной части.

Полная сигнатураTP_GetFieldType(Metadata, TPName, FieldName) → TypeDescription | Undefined
ПараметрТипОписание
MetadataStructure | ArbitraryПараметр публичной сигнатуры.
TPNameStringПараметр публичной сигнатуры.
FieldNameStringПараметр публичной сигнатуры.
ВозвращаетTypeDescription | Undefined
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Возвращает описание типа реквизита табличной части.
// Граница: Обязательные параметры: Metadata, TPName, FieldName
// Результат: TypeDescription | Undefined.

Результат = A1sQ.TP_GetFieldType(Параметры, "Товары", "Наименование");

Тестирование

Экспортные операции раздела Тестирование.

Выполняет тесты функций временных таблиц TT_*.

Полная сигнатураТест_TT_Функции() → —

Параметров нет.

Возвращает
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Выполняет тесты функций временных таблиц TT_*.
// Граница: Параметров нет.
// Результат: —.

A1sQ.Тест_TT_Функции();

Выполняет тесты функций метаданных табличных частей TP_*.

Полная сигнатураТест_TP_Функции() → —

Параметров нет.

Возвращает
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Выполняет тесты функций метаданных табличных частей TP_*.
// Граница: Параметров нет.
// Результат: —.

A1sQ.Тест_TP_Функции();

Выполняет тесты для A1sQ.

Полная сигнатураSelfTest() → Boolean

Параметров нет.

ВозвращаетBoolean
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Выполняет тесты для A1sQ.
// Граница: Параметров нет.
// Результат: Boolean.

Успешно = A1sQ.SelfTest();

Самотестирование функций ByQT (Build/Execute/Unload).

Полная сигнатураSelfTest_ByQT() → Boolean

Параметров нет.

ВозвращаетBoolean
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Самотестирование функций ByQT (Build/Execute/Unload).
// Граница: Параметров нет.
// Результат: Boolean.

Успешно = A1sQ.SelfTest_ByQT();

Пакеты и предметные выборки

Пакетные запросы и готовые выборки документов, справочников и остатков.

Формирует текст запроса для получения остатков по указанному бухгалтерскому регистру и дополнительному условию.

Полная сигнатураGetBalancesQueryText(WhereConditionText = Неопределено, НазваниеРегистраБухгалтерии = "Хозрасчетный") → String
ПараметрТипОписание
WhereConditionTextStringДополнительное условие WHERE (текст SQL-условия после ключевого слова WHERE). По умолчанию: Неопределено.
НазваниеРегистраБухгалтерииStringИмя регистра бухгалтерии (например, «Хозрасчетный» или «Валютный»). По умолчанию: "Хозрасчетный".
ВозвращаетString
Примерпример из исходника · сигнатура проверена1C
// Намерение: Формирует текст запроса для получения остатков по указанному бухгалтерскому регистру и дополнительному условию.
// Граница: Обязательных параметров нет; все параметры необязательны (2).
// Результат: String.

стандартный остаток за период
txt = A1sA.GetBalancesQueryText("", "Хозрасчетный");
Message(txt);
Пример 2: с дополнительным условием (по складу)
condition = "И Остатки.Склад = &Склад";
txt = A1sA.GetBalancesQueryText(condition, "Хозрасчетный");
Message(txt);

Выполняет пакет запросов и возвращает массив выборок (Selection).

Полная сигнатураExecuteBatch(QueryText, TempManager = Undefined, Params = Неопределено) → Array
ПараметрТипОписание
QueryTextStringТекст пакетного запроса.
TempManagerTempTablesManagerМенеджер временных таблиц. По умолчанию: Undefined.
ParamsStructureСтруктура параметров. По умолчанию: Неопределено.
ВозвращаетArray
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Выполняет пакет запросов и возвращает массив выборок (Selection).
// Граница: Обязательные параметры: QueryText
// Результат: Array.

Массив = A1sQ.ExecuteBatch("ВЫБРАТЬ Ссылка ИЗ Справочник.Номенклатура");

Выполняет пакет запросов и выгружает каждый результат в таблицу значений.

Полная сигнатураUnloadBatch(QueryText, TempManager = Undefined, Params = Неопределено) → Array
ПараметрТипОписание
QueryTextStringТекст пакетного запроса.
TempManagerTempTablesManagerМенеджер временных таблиц. По умолчанию: Undefined.
ParamsStructureСтруктура параметров. По умолчанию: Неопределено.
ВозвращаетArray
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Выполняет пакет запросов и выгружает каждый результат в таблицу значений.
// Граница: Обязательные параметры: QueryText
// Результат: Array.

Массив = A1sQ.UnloadBatch("ВЫБРАТЬ Ссылка ИЗ Справочник.Номенклатура");

Универсальная функция для выборки документов по сложным условиям. Позволяет получить ссылки на документы одного или нескольких видов за указанный период с дополнительными фильтрами.

Полная сигнатураSelectDocs(DocumentTypes, StartDate, EndDate, Filter = Undefined) → Array
ПараметрТипОписание
DocumentTypesStringИмя вида документа или несколько имен через запятую (","). Пример: "ПоступлениеНаРасчетныйСчет" или "СчетНаОплату, РеализацияТоваровУслуг".
StartDateDateДата начала периода.
EndDateDateДата конца периода.
FilterStructureСтруктура с дополнительными условиями фильтрации. Поддерживаемые ключи: "Проведен", "ПометкаУдаления", "Организация", "Контрагент", "СуммаБольше", "СуммаМеньше", "КомментарийСодержит". По умолчанию: Undefined.
ВозвращаетArray
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Универсальная функция для выборки документов по сложным условиям. Позволяет получить ссылки на документы одного или нескольких видов за указанный период с дополнительными фильтрами.
// Граница: Обязательные параметры: DocumentTypes, StartDate, EndDate
// Результат: Array.

Массив = A1sQ.SelectDocs(Документ, StartDate, EndDate);

Универсальная функция для выборки элементов справочника по условиям. Позволяет получить ссылки на элементы справочника с использованием гибких фильтров.

Полная сигнатураSelectCatalogItems(CatalogName, Filter = Undefined) → Array
ПараметрТипОписание
CatalogNameStringИмя справочника (например, "Номенклатура").
FilterStructureСтруктура с дополнительными условиями фильтрации. Поддерживаемые ключи: "ПометкаУдаления", "Родитель", "НаименованиеСодержит", "ЭтоГруппа", "Ссылка" (для выборки конкретного элемента). По умолчанию: Undefined.
ВозвращаетArray
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Универсальная функция для выборки элементов справочника по условиям. Позволяет получить ссылки на элементы справочника с использованием гибких фильтров.
// Граница: Обязательные параметры: CatalogName
// Результат: Array.

Массив = A1sQ.SelectCatalogItems("Номенклатура");