1
0
mirror of https://github.com/zerobig/fluent-request-schema-1c.git synced 2025-08-09 21:27:11 +02:00
This commit is contained in:
Ilya Bushin
2024-10-18 10:00:30 +03:00
parent cfc68d7757
commit 53ff814569
4 changed files with 93 additions and 6 deletions

View File

@@ -0,0 +1,34 @@
---
sidebar_position: 3
tags: [Начало]
---
# Описание выбираемых запросом полей
## Явное описание одного поля
Единичное поле можно задать передав методу `Выбрать` структуру с описанием этого поля:
```bsl
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать(СЗ_Запрос.НовоеПоле("Ссылка",, "СсылкаНоменклатуры"))
.Выбрать(СЗ_Запрос.НовоеПоле("Наименование",, "НаименованиеНоменклатуры"))
.ВТаблицуЗначений();
```
Описание включает в себя три параметра: `ИмяРеквизита`, `Источник` и `Псевдоним`. Такую структуру можно сформировать вызвав метод `НовоеПоле`, передав ему соответствующие параметры.
## Указание нескольких полей
Через тот же метод `Выбрать` возможна передача массива полей или строки, в которой перечислены поля разделённые запятыми:
```bsl
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Наименование КАК НаименованиеНоменклатуры, ЭтоГруппа
|НаименованиеПолное, ЕдиницаИзмерения КАК ЕдИзм")
.ВТаблицуЗначений();
```
## Всегда ли необходимо указывать поля в запросе?
Нет, не всегда. Если запрос строится к объекту у которого имеется поле `Ссылка` и явно не указан перечень необходимых полей, то это поле `Ссылка` будет добавлено в запрос автоматически. Такой подход позволяет сократить текст описания запроса для случаев когда необходимо получить только список ссылок.

View File

@@ -0,0 +1,53 @@
---
sidebar_position: 2
tags: [Начало]
---
# Ограничение выборки
## Первые
Позволяет задать предельное количество строк в результате запроса. Можно использовать в двух вариантах. При создании запроса:
```bsl
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура", 10)
.ВТаблицуЗначений();
```
И отдельным методом:
```bsl
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
.Первые(10)
.ВТаблицуЗначений();
```
## Различные
Можно указать, что в результат не должны попадать повторяющиеся строки. Так же доступно два варианта записи:
```bsl
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура",, Истина)
.ВТаблицуЗначений();
```
```bsl
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
.Различные()
.ВТаблицуЗначений();
```
## Разрешенные
Ограничение по правам пользователей задаётся соответствующим флагом при создании запроса или при помощи метода `Разрешенные`:
```bsl
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура",,, Истина)
.ВТаблицуЗначений();
```
```bsl
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
.Разрешенные()
.ВТаблицуЗначений();
```

View File

@@ -1,5 +1,5 @@
---
sidebar_position: 2
sidebar_position: 1
tags: [Начало]
---
@@ -13,7 +13,7 @@ tags: [Начало]
Запрос = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура");
```
На этом этапе самого запроса, как объекта 1С, не существует. В переменной `Запрос` находится контекст (описание) запроса. По этому описанию будет позже сформирован реальный запрос к базе данных.
На этом этапе, самого запроса, как объекта 1С, не существует. В переменной `Запрос` находится контекст (описание) запроса. По этому описанию будет позже сформирован реальный запрос к базе данных.
## Материализация данных

View File

@@ -1,4 +1,4 @@
---
sidebar_label: Функцонал
sidebar_label: Функционал
sidebar_position: 1
---