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-20 23:00:16 +03:00
parent 5e7c76dae2
commit 107905391d
5 changed files with 143 additions and 0 deletions

View File

@@ -0,0 +1,19 @@
---
sidebar_position: 1
tags: [Функционал]
---
# Группировка (СГРУППИРОВАТЬ ПО)
```bsl
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Ссылка, ЭтоГруппа")
.Сгруппировать("ЭтоГруппа, Ссылка")
.ВТаблицуЗначений();
```
:::info
Остальной функционал группировок и агрегатных функций находится в процессе разработке
:::

View File

@@ -2,3 +2,5 @@
sidebar_label: Функционал
sidebar_position: 1
---
# Введение

View File

@@ -0,0 +1,80 @@
---
sidebar_position: 0
tags: [Функционал]
---
# Соединения
## Левое соединение
### Источник данных строкой
```bsl
ПредикатДляСоединения = СЗ_Запрос.Предикат()
.Реквизит("НоменклатураСоединение.Ссылка").Равно("Номенклатура.Родитель")
;
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Номенклатура.Ссылка,
|НоменклатураСоединение.Ссылка КАК НоменклатураСоединениеСсылка")
.ЛевоеСоединение("Справочник.Номенклатура КАК НоменклатураСоединение", ПредикатДляСоединения)
.ВТаблицуЗначений();
```
### Источник данных вложенным запросом
```bsl
ЗапросДляСоединения = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
.Псевдоним("НоменклатураСоединение");
ПредикатДляСоединения = СЗ_Запрос.Предикат()
.Реквизит("Ссылка").Равно("Родитель");
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Номенклатура.Ссылка,
|НоменклатураСоединение.Ссылка КАК НоменклатураСоединениеСсылка")
.ЛевоеСоединение(ЗапросДляСоединения, ПредикатДляСоединения)
.ВТаблицуЗначений();
```
:::tip
Для вложенных запросов обязательно использование функции `Псевдоним`
:::
## Правое соединение
```bsl
ПредикатДляСоединения = СЗ_Запрос.Предикат()
.Реквизит("НоменклатураСоединение.Ссылка").Равно("Номенклатура.Родитель")
;
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Номенклатура.Ссылка,
|НоменклатураСоединение.Ссылка КАК НоменклатураСоединениеСсылка")
.ПравоеСоединение("Справочник.Номенклатура КАК НоменклатураСоединение", ПредикатДляСоединения)
.ВТаблицуЗначений();
```
## Внутреннее соединение
```bsl
ПредикатДляСоединения = СЗ_Запрос.Предикат()
.Реквизит("НоменклатураСоединение.Ссылка").Равно("Номенклатура.Родитель")
;
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Номенклатура.Ссылка,
|НоменклатураСоединение.Ссылка КАК НоменклатураСоединениеСсылка")
.ВнутреннееСоединение("Справочник.Номенклатура КАК НоменклатураСоединение", ПредикатДляСоединения)
.ВТаблицуЗначений();
```
## Полное соединение
:::info
Функционал находится в разработке
:::

View File

@@ -0,0 +1,30 @@
---
sidebar_position: 2
tags: [Функционал]
---
# Сортировка (УПОРЯДОЧИТЬ ПО)
## Общий вариант
```bsl
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Ссылка, ЭтоГруппа")
.Упорядочить("ЭтоГруппа, Наименование")
.ВТаблицуЗначений();
```
## С указанием направления
```bsl
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Ссылка, ЭтоГруппа")
.Упорядочить("ЭтоГруппа УБЫВ, Наименование")
.ВТаблицуЗначений();
```
:::info
Варианты сортировки с учетом иерархии находятся в разработке
:::

View File

@@ -0,0 +1,12 @@
---
sidebar_position: 2
tags: [Функционал]
---
# Итоги (ИТОГИ ПО)
```bsl
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
.Итоги("ЭтоГруппа")
.ВТаблицуЗначений();
```