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-22 16:02:18 +03:00
parent 24e9dc3db1
commit 8bc191fb12
58 changed files with 2935 additions and 1810 deletions

View File

@@ -14,7 +14,7 @@
Библиотека позволяет писать запросы 1С Предприятия в функциональном стиле. Например, вот такой код:
```bsl
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура").ВТаблицуЗначений();
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура").ВТаблицуЗначений();
```
будет аналогичен:
```bsl
@@ -86,14 +86,14 @@
```bsl
Функция ТаблицаАдресныхСокращений(НаименованияАдресныхОбъектов)
Запрос = СЗ_Запрос.НовыйЗапрос("РегистрСведений.УровниСокращенийАдресныхСведений")
Запрос = СхЗапрос.НовыйЗапрос("РегистрСведений.УровниСокращенийАдресныхСведений")
.Выбрать("Значение КАК Наименование, Сокращение")
.Сгруппировать("Значение, Сокращение")
.Упорядочить("Наименование");
Если ТипЗнч(НаименованияАдресныхОбъектов) = Тип("Массив") И НаименованияАдресныхОбъектов.Количество() > 0 Тогда
Запрос = Запрос
.Где(СЗ_Запрос.Предикат()
.Где(СхЗапрос.Предикат()
.Реквизит("Значение").В(НаименованияАдресныхОбъектов));
КонецЕсли;

View File

@@ -10,9 +10,9 @@ tags: [Начало]
Единичное поле можно задать передав методу `Выбрать` структуру с описанием этого поля:
```bsl
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать(СЗ_Запрос.НовоеПоле("Ссылка",, "СсылкаНоменклатуры"))
.Выбрать(СЗ_Запрос.НовоеПоле("Наименование",, "НаименованиеНоменклатуры"))
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать(СхЗапрос.НовоеПоле("Ссылка",, "СсылкаНоменклатуры"))
.Выбрать(СхЗапрос.НовоеПоле("Наименование",, "НаименованиеНоменклатуры"))
.ВТаблицуЗначений();
```
@@ -23,7 +23,7 @@ tags: [Начало]
Через тот же метод `Выбрать` возможна передача массива полей или строки, в которой перечислены поля разделённые запятыми:
```bsl
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Наименование КАК НаименованиеНоменклатуры, ЭтоГруппа
|НаименованиеПолное, ЕдиницаИзмерения КАК ЕдИзм")
.ВТаблицуЗначений();
@@ -52,7 +52,7 @@ tags: [Начало]
:::
```bsl
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.ВыбратьВсе()
.ВТаблицуЗначений();
```

View File

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

View File

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

View File

@@ -10,14 +10,14 @@ tags: [Начало]
Все отборы в библиотеке строятся на предикатах. Предикат это утверждение которое возвращает `Истина` или `Ложь`. Предикаты создаются при помощи специальной функции `Предикат`:
```bsl
Предикат = СЗ_Запрос.Предикат()
Предикат = СхЗапрос.Предикат()
.Реквизит("ЭтоГруппа").Равно(Ложь);
```
Предикаты соединяются между собой при помощи логической функции `И`. Например:
```bsl
Предикат = СЗ_Запрос.Предикат()
Предикат = СхЗапрос.Предикат()
.Реквизит("ЭтоГруппа").Равно(Ложь)
.Реквизит("Родитель").НеРавно(Родитель);
```
@@ -60,8 +60,8 @@ tags: [Начало]
Созданный предикат передаётся в функцию `Где`:
```bsl
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
.Где(СЗ_Запрос.Предикат()
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Где(СхЗапрос.Предикат()
.Реквизит("ЭтоГруппа").Равно(Ложь))
.ВТаблицуЗначений();
```

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,5 +1,5 @@
---
sidebar_position: 2
sidebar_position: 3
tags: [Функционал]
---
@@ -8,7 +8,7 @@ tags: [Функционал]
## Общий вариант
```bsl
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Ссылка, ЭтоГруппа")
.Упорядочить("ЭтоГруппа, Наименование")
.ВТаблицуЗначений();
@@ -17,7 +17,7 @@ tags: [Функционал]
## С указанием направления
```bsl
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Ссылка, ЭтоГруппа")
.Упорядочить("ЭтоГруппа УБЫВ, Наименование")
.ВТаблицуЗначений();

View File

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

View File

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

View File

@@ -5,9 +5,19 @@ slug: /
# 1С Предприятие. Fluent запросы
## Отказ от повторения функционала
:::warning
Данная библиотека не ставит перед собой цель полностью повторить функционал механизма запросов в 1С Предприятии. Я, как разработчик, даже считаю подобную цель вредной и едва ли достижимой. Ни одна библиотека никогда не сможет повторить полный синтаксис языка запросов так чтобы это было удобно для использования. В противном случае это будет уже не библиотека, а новый язык запросов.
:::
## Описание
Библиотека позволяет писать запросы 1С Предприятия в функциональном стиле. Например, вот такой код:
```bsl
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура").ВТаблицуЗначений();
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура").ВТаблицуЗначений();
```
будет аналогичен:
```bsl

View File

@@ -1,42 +0,0 @@

#Область ПрограммныйИнтерфейс
// Устанавливает имя реквизита, все последующие условия будут относится к нему
//
// Параметры:
// Предикат -
// ИмяРеквизита - Строка - имя реквизита
//
Процедура УстановитьИмяРеквизита(Предикат, ИмяРеквизита) Экспорт
Если Предикат = Неопределено Тогда
Предикат = Новый Структура("ИмяРеквизита, Условия",
"", Новый Массив);
КонецЕсли;
Предикат.ИмяРеквизита = ИмяРеквизита;
КонецПроцедуры
// Устанавливает вид и значение сравнения для условия
//
// Параметры:
// Предикат - ОбработкаОбъект.СЗ_ПроцессорПредикатов -
// - ФормаКлиентскогоПриложения -
// ВидСравнения - Строка -
// Значение - Производьный -
//
Процедура УстановитьПредикат(Предикат, ВидСравнения, Значение) Экспорт
Если Предикат = Неопределено Или ПустаяСтрока(Предикат.ИмяРеквизита) Тогда
ВызватьИсключение "Ошибочный порядок вызова функций формирования предиката";
КонецЕсли;
Условие = Новый Структура("ИмяРеквизита, ВидСравнения, Значение",
Предикат.ИмяРеквизита, ВидСравнения, Значение);
Предикат.Условия.Добавить(Условие);
КонецПроцедуры
#КонецОбласти

View File

@@ -2,7 +2,7 @@
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.18">
<CommonModule uuid="5f1605a0-4e63-4339-b2cc-44e115be6ed7">
<Properties>
<Name>СЗ_Запрос</Name>
<Name>СхЗапрос</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>

View File

@@ -10,12 +10,12 @@
// Разрешенные - Булево - признак ограничения выборки с применением RLS
//
// Возвращаемое значение:
// - ОбработкаОбъект.СЗ_ПроцессорСхемЗапроса - менеджер для серверного формирования запроса
// - ОбработкаОбъект.СхПроцессорСхемЗапроса - менеджер для серверного формирования запроса
// - ФормаКлиентскогоПриложения - менеджер для клиентского формирования запроса
//
Функция НовыйЗапрос(ИсточникДанных, Первые = 0, Различные = Ложь, Разрешенные = Ложь) Экспорт
ПроцессорСхемЗапроса = СЗ_ПроцессорыСхемЗапросаКлиентСервер
ПроцессорСхемЗапроса = СхПроцессорыСхемЗапросаКлиентСервер
.НовыйПроцессорСхемЗапроса(ИсточникДанных, Первые, Различные, Разрешенные);
Возврат ПроцессорСхемЗапроса;
@@ -25,12 +25,12 @@
// Создает структуру нового предиката
//
// Возвращаемое значение:
// - ОбработкаОбъект.СЗ_ПроцессорСхемЗапроса - менеджер для серверного формирования предиката
// - ОбработкаОбъект.СхПроцессорСхемЗапроса - менеджер для серверного формирования предиката
// - ФормаКлиентскогоПриложения - менеджер для клиентского формирования предиката
//
Функция Предикат() Экспорт
ПроцессорПредикатов = СЗ_ПроцессорыПредикатовКлиентСервер
ПроцессорПредикатов = СхПроцессорыПредикатовКлиентСервер
.НовыйПроцессорПредикатов();
Возврат ПроцессорПредикатов;
@@ -49,7 +49,7 @@
//
Функция НовоеПоле(ИмяПоля, Источник, Псевдоним) Экспорт
// TODO: В модуле СЗ_ПроцессорыСхемЗапросаКлиентСерверСлужебный так же регулярно требуетс
// TODO: В модуле СхПроцессорыСхемЗапросаКлиентСерверСлужебный так же регулярно требуетс
// такая структура. Рефакторинг!
Возврат Новый Структура("ИмяПоля, Источник, Псевдоним",

View File

@@ -2,7 +2,7 @@
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.18">
<CommonModule uuid="52ab0c6f-4fa1-4913-b37e-460ab1e44314">
<Properties>
<Name>СЗ_ЗапросТест</Name>
<Name>СхЗапросТест</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>

View File

@@ -13,12 +13,19 @@
.ДобавитьТест("Разрешенные")
.ДобавитьТестовыйНабор("СЗ: Поля")
.ДобавитьТест("ИсключениеПолеОтсутствует")
.ДобавитьТест("ИсключениеПолеОтсутствуетСУказаниемИсточника")
.ДобавитьТест("ДобавитьПоляССинонимами")
.ДобавитьТест("ДобавитьНесколькоПолей")
.ДобавитьТест("ДобавитьНесколькоПолейСПереносомСтроки")
.ДобавитьТест("ДобавитьПоляССинонимамиИСписком")
.ДобавитьТест("ВсеПоляДляНеСсылочногоТипа")
.ДобавитьТест("ВсеПоляДляСсылочногоТипа")
.ДобавитьТест("ДобавиьПолеВыборКогдаСтрокой1")
.ДобавитьТест("ДобавиьПолеВыборКогдаСтрокой2")
.ДобавитьТест("ДобавиьПолеВыборКогдаФункциейЧисла")
.ДобавитьТест("ДобавиьПолеВыборКогдаФункциейСтроки")
.ДобавитьТест("ДобавиьПолеВыразитьФункциейПсевдоним1")
.ДобавитьТест("ДобавиьПолеВыразитьФункциейПсевдоним2")
.ДобавитьТестовыйНабор("СЗ: Условия")
.ДобавитьТест("ЗапросСУсловиемРавно")
.ДобавитьТест("ЗапросСУсловиемНеРавно")
@@ -29,6 +36,9 @@
.Перед("Перед_ЗапросСУсловиемВСписке")
.ДобавитьТест("ЗапросСУсловиемНеВСписке")
.Перед("Перед_ЗапросСУсловиемНеВСписке")
.ДобавитьТест("ЗапросСУсловиемИВыборКогдаВПолях")
.ДобавитьТест("ИсключениеУсловиеНаПолеБесконечнойДлиныБезВыразить")
.ДобавитьТест("УсловиеНаПолеБесконечнойДлиныСВыразить")
.ДобавитьТестовыйНабор("СЗ: Соединения")
.ДобавитьТест("СоединениеПоИсточникуСтроке")
.СПараметрами("Левое")
@@ -52,6 +62,14 @@
.ДобавитьТест("ОбъединитьВсеСПолями")
.ДобавитьТест("ОбъединитьВсеСРазнымКоличествомПолей")
.ДобавитьТест("ОбъединитьВсеСВложеннымЗапросом")
.ДобавитьТестовыйНабор("СЗ: Группировать")
.ДобавитьТест("Группировать")
.ДобавитьТест("ГруппироватьКоличествоСтрокой")
.ДобавитьТест("ГруппироватьКоличествоФункциейПолеСтрокой")
.ДобавитьТест("ГруппироватьКоличествоФункциейПолеСтруктурой")
.ДобавитьТест("ГруппироватьСуммаФункциейПолеСтрокой")
.ДобавитьТест("ГруппироватьМинимумФункциейПолеСтрокой")
.ДобавитьТест("ГруппироватьМаксимумФункциейПолеСтрокой")
.ДобавитьТестовыйНабор("СЗ: Прочее")
.ДобавитьТест("Порядок")
.ДобавитьТест("ПорядокУбывания")
@@ -121,7 +139,7 @@
Процедура ИсключениеИсточникОтсутствует() Экспорт
Обработка = Обработки.СЗ_ПроцессорСхемЗапроса.Создать();
Обработка = Обработки.СхПроцессорСхемЗапроса.Создать();
ЮТест.ОжидаетЧто(Обработка)
.Метод("ВТаблицуЗначений")
@@ -131,7 +149,7 @@
Процедура ИсключениеИсточникПустаяСтрока() Экспорт
Запрос = СЗ_Запрос.НовыйЗапрос("");
Запрос = СхЗапрос.НовыйЗапрос("");
ЮТест.ОжидаетЧто(Запрос)
.Метод("ВТаблицуЗначений")
@@ -141,7 +159,7 @@
Процедура ЗапросВТаблицуЗначений() Экспорт
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.ВТаблицуЗначений()
;
@@ -156,7 +174,7 @@
Процедура ЗапросВМассив() Экспорт
Массив = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
Массив = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.ВМассив("Ссылка")
;
@@ -171,7 +189,7 @@
Процедура Первые() Экспорт
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура", 10)
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура", 10)
.ВТаблицуЗначений()
;
@@ -183,7 +201,7 @@
Процедура Различные() Экспорт
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура",, Истина)
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура",, Истина)
.ВТаблицуЗначений()
;
@@ -198,7 +216,7 @@
Процедура Разрешенные() Экспорт
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура",,, Истина)
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура",,, Истина)
.ВТаблицуЗначений()
;
@@ -215,28 +233,42 @@
#Область Поля
// TODO: Поля могут быть выражениями
Процедура ИсключениеПолеОтсутствует() Экспорт
НеправильноеНаименованиеПоля = "йцукен";
Запрос = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
Запрос = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать(НеправильноеНаименованиеПоля)
;
ЮТест.ОжидаетЧто(Запрос)
.Метод("ВТаблицуЗначений")
.ВыбрасываетИсключение(
СтрШаблон("Поле %1 в источнике не определено", НеправильноеНаименованиеПоля));
СтрШаблон("{(1, 1)}: Поле не найдено ""%1""
|<<?>>%1", НеправильноеНаименованиеПоля));
КонецПроцедуры
Процедура ИсключениеПолеОтсутствуетСУказаниемИсточника() Экспорт
НеправильноеНаименованиеПоля = "йцукен";
Запрос = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Номенклатура." + НеправильноеНаименованиеПоля)
;
ЮТест.ОжидаетЧто(Запрос)
.Метод("ВТаблицуЗначений")
.ВыбрасываетИсключение(
СтрШаблон("ДобавитьПоля: поле %1 в источнике не определено", НеправильноеНаименованиеПоля));
КонецПроцедуры
Процедура ДобавитьПоляССинонимами() Экспорт
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать(СЗ_Запрос.НовоеПоле("Ссылка",, "СсылкаНоменклатуры"))
.Выбрать(СЗ_Запрос.НовоеПоле("Наименование",, "НаименованиеНоменклатуры"))
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать(СхЗапрос.НовоеПоле("Ссылка",, "СсылкаНоменклатуры"))
.Выбрать(СхЗапрос.НовоеПоле("Наименование",, "НаименованиеНоменклатуры"))
.ВТаблицуЗначений()
;
@@ -255,7 +287,7 @@
Процедура ДобавитьНесколькоПолей() Экспорт
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Ссылка, Наименование, ЭтоГруппа")
.ВТаблицуЗначений()
;
@@ -276,7 +308,7 @@
Процедура ДобавитьНесколькоПолейСПереносомСтроки() Экспорт
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Ссылка, Наименование,
|ЭтоГруппа")
.ВТаблицуЗначений()
@@ -298,8 +330,8 @@
Процедура ДобавитьПоляССинонимамиИСписком() Экспорт
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать(СЗ_Запрос.НовоеПоле("Ссылка",, "СсылкаНоменклатуры"))
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать(СхЗапрос.НовоеПоле("Ссылка",, "СсылкаНоменклатуры"))
.Выбрать("Наименование КАК НаименованиеНоменклатуры, ЭтоГруппа")
.ВТаблицуЗначений()
;
@@ -320,7 +352,7 @@
Процедура ВсеПоляДляНеСсылочногоТипа() Экспорт
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("РегистрСведений.КурсыВалют")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("РегистрСведений.КурсыВалют")
.ВТаблицуЗначений()
;
@@ -340,7 +372,7 @@
Процедура ВсеПоляДляСсылочногоТипа() Экспорт
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.ВыбратьВсе()
.ВТаблицуЗначений()
;
@@ -359,17 +391,113 @@
КонецПроцедуры
Процедура ДобавиьПолеВыборКогдаСтрокой1() Экспорт
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("ВЫБОР КОГДА Номенклатура.ЭтоГруппа = ИСТИНА ТОГДА 1 ИНАЧЕ 0 КОНЕЦ КАК ЭтоГруппа")
.ВТаблицуЗначений()
;
ЮТест.ОжидаетЧто(ТаблицаЗначений)
.ИмеетТип("ТаблицаЗначений")
.ИмеетДлинуБольше(0)
;
КонецПроцедуры
Процедура ДобавиьПолеВыборКогдаСтрокой2() Экспорт
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("ВЫБОР
| КОГДА Номенклатура.ЭтоГруппа = ИСТИНА
| ТОГДА 1
| ИНАЧЕ 0
|КОНЕЦ КАК ЭтоГруппа")
.ВТаблицуЗначений()
;
ЮТест.ОжидаетЧто(ТаблицаЗначений)
.ИмеетТип("ТаблицаЗначений")
.ИмеетДлинуБольше(0)
;
КонецПроцедуры
Процедура ДобавиьПолеВыборКогдаФункциейЧисла() Экспорт
Предикат = СхЗапрос.Предикат().Реквизит("ЭтоГруппа").Равно(Истина);
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.ВыборКогда(Предикат, 1, 0, "ЭтоГруппа")
.ВТаблицуЗначений()
;
ЮТест.ОжидаетЧто(ТаблицаЗначений)
.ИмеетТип("ТаблицаЗначений")
.ИмеетДлинуБольше(0)
.КаждыйЭлементСоответствуетПредикату(ЮТест.Предикат()
.Реквизит("ЭтоГруппа")
.ИмеетТип("Число")
.МеждуВключаяГраницы(0, 1))
;
КонецПроцедуры
Процедура ДобавиьПолеВыборКогдаФункциейСтроки() Экспорт
Предикат = СхЗапрос.Предикат().Реквизит("ЭтоГруппа").Равно(Истина);
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.ВыборКогда(Предикат, "Это группа", "Это элемент", "ЭтоГруппа")
.ВТаблицуЗначений()
;
ЮТест.ОжидаетЧто(ТаблицаЗначений)
.ИмеетТип("ТаблицаЗначений")
.ИмеетДлинуБольше(0)
.ЛюбойЭлементСоответствуетПредикату(ЮТест.Предикат()
.Реквизит("ЭтоГруппа")
.ИмеетТип("Строка")
.Равно("Это группа"))
.ЛюбойЭлементСоответствуетПредикату(ЮТест.Предикат()
.Реквизит("ЭтоГруппа")
.ИмеетТип("Строка")
.Равно("Это элемент"))
;
КонецПроцедуры
Процедура ДобавиьПолеВыразитьФункциейПсевдоним1() Экспорт
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Документ.РеализацияТоваровУслуг")
.Выразить("Комментарий КАК СтрокаКомментария",
Новый ОписаниеТипов("Строка",, Новый КвалификаторыСтроки(1024)))
.ВТаблицуЗначений()
;
КонецПроцедуры
Процедура ДобавиьПолеВыразитьФункциейПсевдоним2() Экспорт
ОписаниеТипа = Новый ОписаниеТипов("Строка",, Новый КвалификаторыСтроки(1024));
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Документ.РеализацияТоваровУслуг")
.Выразить("Комментарий", ОписаниеТипа, "СтрокаКомментария")
.ВТаблицуЗначений()
;
КонецПроцедуры
#КонецОбласти
#Область Условия
Процедура ЗапросСУсловиемРавно() Экспорт
Предикат = СЗ_Запрос.Предикат()
Предикат = СхЗапрос.Предикат()
.Реквизит("ЭтоГруппа").Равно(Ложь)
;
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Ссылка, ЭтоГруппа")
.Где(Предикат)
.ВТаблицуЗначений()
@@ -386,11 +514,11 @@
Процедура ЗапросСУсловиемНеРавно() Экспорт
Предикат = СЗ_Запрос.Предикат()
Предикат = СхЗапрос.Предикат()
.Реквизит("ЭтоГруппа").НеРавно(Ложь)
;
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Ссылка, ЭтоГруппа")
.Где(Предикат)
.ВТаблицуЗначений()
@@ -407,11 +535,11 @@
Процедура ЗапросСУсловиемПодобно() Экспорт
Предикат = СЗ_Запрос.Предикат()
Предикат = СхЗапрос.Предикат()
.Реквизит("Наименование").Подобно("Хлеб")
;
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Ссылка, Наименование")
.Где(Предикат)
.ВТаблицуЗначений()
@@ -428,11 +556,11 @@
Процедура ЗапросСУсловиемНеПодобно() Экспорт
Предикат = СЗ_Запрос.Предикат()
Предикат = СхЗапрос.Предикат()
.Реквизит("Наименование").НеПодобно("Хлеб")
;
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Ссылка, Наименование")
.Где(Предикат)
.ВТаблицуЗначений()
@@ -451,11 +579,11 @@
ДатаНачала = Дата("20230601000000");
ДатаОкончания = Дата("20230630235959");
Предикат = СЗ_Запрос.Предикат()
Предикат = СхЗапрос.Предикат()
.Реквизит("Дата").Между(ДатаНачала, ДатаОкончания)
;
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Документ.ЗаказКлиента")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Документ.ЗаказКлиента")
.Выбрать("Ссылка, Дата")
.Где(Предикат)
.ВТаблицуЗначений()
@@ -474,11 +602,11 @@
Контекст = ЮТест.КонтекстТеста();
Предикат = СЗ_Запрос.Предикат()
Предикат = СхЗапрос.Предикат()
.Реквизит("Ссылка").ВСписке(Контекст.МассивНоменклатуры)
;
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Где(Предикат)
.ВТаблицуЗначений()
;
@@ -496,11 +624,11 @@
Контекст = ЮТест.КонтекстТеста();
Предикат = СЗ_Запрос.Предикат()
.Реквизит("Ссылка").НеВСписке(Контекст.МассивНоменклатуры)
Предикат = СхЗапрос.Предикат()
.Реквизит("Ссылка").НеВСписке(Контекст.МассивНоменклатурыНеВСписке)
;
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Где(Предикат)
.ВТаблицуЗначений()
;
@@ -509,7 +637,58 @@
.ИмеетТип("ТаблицаЗначений")
.ИмеетДлинуБольше(0)
.КаждыйЭлементСоответствуетПредикату(ЮТест.Предикат()
.Реквизит("Ссылка").ВСписке(Контекст.МассивНоменклатурыНеВСписке))
.Реквизит("Ссылка").ВСписке(Контекст.МассивНоменклатуры))
;
КонецПроцедуры
// Проверяет сквозную нумерацию параметров
//
Процедура ЗапросСУсловиемИВыборКогдаВПолях() Экспорт
Предикат = СхЗапрос.Предикат().Реквизит("ЭтоГруппа").Равно(Истина);
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.ВыборКогда(Предикат, 1, 0, "ЭтоГруппа")
.Где(СхЗапрос.Предикат()
.Реквизит("ЭтоГруппа").Равно(Ложь))
.ВТаблицуЗначений()
;
ЮТест.ОжидаетЧто(ТаблицаЗначений)
.ИмеетТип("ТаблицаЗначений")
.ИмеетДлинуБольше(0)
.КаждыйЭлементСоответствуетПредикату(ЮТест.Предикат()
.Реквизит("ЭтоГруппа")
.ИмеетТип("Число")
.Равно(0))
;
КонецПроцедуры
Процедура ИсключениеУсловиеНаПолеБесконечнойДлиныБезВыразить() Экспорт
Предикат = СхЗапрос.Предикат().Реквизит("Комментарий").Равно("");
Запрос = СхЗапрос.НовыйЗапрос("Документ.РеализацияТоваровУслуг")
.Где(Предикат)
;
ЮТест.ОжидаетЧто(Запрос)
.Метод("ВТаблицуЗначений")
.ВыбрасываетИсключение("{(6, 37)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля
| неограниченной длины и поля несовместимых типов.
|РеализацияТоваровУслуг.Комментарий <<?>>= &Параметр_0");
КонецПроцедуры
Процедура УсловиеНаПолеБесконечнойДлиныСВыразить() Экспорт
ОписаниеТипа = Новый ОписаниеТипов("Строка",, Новый КвалификаторыСтроки(1024));
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Документ.РеализацияТоваровУслуг")
.Где(СхЗапрос.Предикат()
.РеквизитВыразить("Комментарий", ОписаниеТипа).Равно(""))
.ВТаблицуЗначений()
;
КонецПроцедуры
@@ -520,11 +699,11 @@
Процедура СоединениеПоИсточникуСтроке(ТипСоединения) Экспорт
ПредикатДляСоединения = СЗ_Запрос.Предикат()
ПредикатДляСоединения = СхЗапрос.Предикат()
.Реквизит("НоменклатураСоединение.Ссылка").Равно("Номенклатура.Родитель")
;
Запрос = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
Запрос = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Номенклатура.Ссылка,
|НоменклатураСоединение.Ссылка КАК НоменклатураСоединениеСсылка")
;
@@ -559,14 +738,14 @@
Процедура ЛевоеСоединениеПоИсточникуЗапросу() Экспорт
ЗапросДляСоединения = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ЗапросДляСоединения = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Псевдоним("НоменклатураСоединение")
;
ПредикатДляСоединения = СЗ_Запрос.Предикат()
ПредикатДляСоединения = СхЗапрос.Предикат()
.Реквизит("Ссылка").Равно("Родитель")
;
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Номенклатура.Ссылка,
|НоменклатураСоединение.Ссылка КАК НоменклатураСоединениеСсылка")
.ЛевоеСоединение(ЗапросДляСоединения, ПредикатДляСоединения)
@@ -588,23 +767,23 @@
Процедура ЛевоеСоединениеСГлубокоВложеннымЗапросом() Экспорт
ВложенныйЗапрос = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ВложенныйЗапрос = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Ссылка, Родитель")
.Псевдоним("ВложенныйЗапрос_0")
;
Для Сч = 1 По 9 Цикл
ВложенныйЗапрос = СЗ_Запрос.НовыйЗапрос(ВложенныйЗапрос)
ВложенныйЗапрос = СхЗапрос.НовыйЗапрос(ВложенныйЗапрос)
.Выбрать("Ссылка, Родитель")
.Псевдоним("ВложенныйЗапрос_" + Сч)
;
КонецЦикла;
ПредикатДляСоединения = СЗ_Запрос.Предикат()
ПредикатДляСоединения = СхЗапрос.Предикат()
.Реквизит("Ссылка").Равно("Родитель")
;
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Номенклатура.Ссылка,
|ВложенныйЗапрос_9.Ссылка КАК ВложенныйЗапрос_9Ссылка")
.ЛевоеСоединение(ВложенныйЗапрос, ПредикатДляСоединения)
@@ -624,7 +803,7 @@
Процедура ЛевоеСоединениеБезПредиката() Экспорт
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("РегистрСведений.ПримененияЕНВД")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("РегистрСведений.ПримененияЕНВД")
.Выбрать("ПримененияЕНВД.Организация КАК Организация,
|ПримененияЕНВДСоединение.Склад КАК Склад")
.ЛевоеСоединение("РегистрСведений.ПримененияЕНВД КАК ПримененияЕНВДСоединение")
@@ -646,10 +825,10 @@
Процедура ЛевоеСоединениеНесколькоУсловийВПредикате() Экспорт
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Номенклатура.Ссылка,
|НоменклатураСоединение.Ссылка КАК НоменклатураСоединениеСсылка")
.ЛевоеСоединение("Справочник.Номенклатура КАК НоменклатураСоединение", СЗ_Запрос.Предикат()
.ЛевоеСоединение("Справочник.Номенклатура КАК НоменклатураСоединение", СхЗапрос.Предикат()
.Реквизит("НоменклатураСоединение.Ссылка").Равно("Номенклатура.Родитель")
.Реквизит("НоменклатураСоединение.ЭтоГруппа").Равно("ИСТИНА"))
.ВТаблицуЗначений()
@@ -687,10 +866,10 @@
"Родитель", Выборка.Ссылка));
// Выполнение
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Номенклатура.Ссылка,
|НоменклатураСоединение.Ссылка КАК НоменклатураСоединениеСсылка")
.ЛевоеСоединение("Справочник.Номенклатура КАК НоменклатураСоединение", СЗ_Запрос.Предикат()
.ЛевоеСоединение("Справочник.Номенклатура КАК НоменклатураСоединение", СхЗапрос.Предикат()
.Реквизит("НоменклатураСоединение.Родитель").Равно("&Родитель"))
.Параметры(МассивПараметров)
.ВТаблицуЗначений()
@@ -712,9 +891,9 @@
Процедура ЛевоеСоединениеБезПсевдонимовВСоединении() Экспорт
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Номенклатура.Ссылка, Номенклатура1.Ссылка")
.ЛевоеСоединение("Справочник.Номенклатура", СЗ_Запрос.Предикат()
.ЛевоеСоединение("Справочник.Номенклатура", СхЗапрос.Предикат()
.Реквизит("Ссылка").Равно("Родитель")
.Реквизит("ЭтоГруппа").Равно("ИСТИНА"))
.ВТаблицуЗначений()
@@ -735,12 +914,12 @@
Процедура НесколькоЛевыхСоединений() Экспорт
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Номенклатура.Ссылка, Номенклатура1.Ссылка, Номенклатура2.Ссылка")
.ЛевоеСоединение("Справочник.Номенклатура", СЗ_Запрос.Предикат()
.ЛевоеСоединение("Справочник.Номенклатура", СхЗапрос.Предикат()
.Реквизит("Ссылка").Равно("Родитель")
.Реквизит("ЭтоГруппа").Равно("ИСТИНА"))
.ЛевоеСоединение("Справочник.Номенклатура", СЗ_Запрос.Предикат()
.ЛевоеСоединение("Справочник.Номенклатура", СхЗапрос.Предикат()
.Реквизит("Ссылка").Равно("Родитель")
.Реквизит("ЭтоГруппа").Равно("ИСТИНА"))
.ВТаблицуЗначений()
@@ -766,9 +945,9 @@
Процедура ИсключениеВложенныйЗапросБезПсевдонима() Экспорт
ВложенныйЗапрос = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура");
ВложенныйЗапрос = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура");
Запрос = СЗ_Запрос.НовыйЗапрос(ВложенныйЗапрос);
Запрос = СхЗапрос.НовыйЗапрос(ВложенныйЗапрос);
ЮТест.ОжидаетЧто(Запрос)
.Метод("ВТаблицуЗначений")
@@ -778,11 +957,11 @@
Процедура ВложенныйЗапрос() Экспорт
ВложенныйЗапрос = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ВложенныйЗапрос = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Псевдоним("ВложенныйЗапрос")
;
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос(ВложенныйЗапрос)
ТаблицаЗначений = СхЗапрос.НовыйЗапрос(ВложенныйЗапрос)
.ВТаблицуЗначений()
;
@@ -795,17 +974,17 @@
Процедура ОченьГлубокоВложенныйЗапрос() Экспорт
ВложенныйЗапрос = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ВложенныйЗапрос = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Псевдоним("ВложенныйЗапрос_0")
;
Для Сч = 1 По 9 Цикл
ВложенныйЗапрос = СЗ_Запрос.НовыйЗапрос(ВложенныйЗапрос)
ВложенныйЗапрос = СхЗапрос.НовыйЗапрос(ВложенныйЗапрос)
.Псевдоним("ВложенныйЗапрос_" + Сч)
;
КонецЦикла;
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос(ВложенныйЗапрос)
ТаблицаЗначений = СхЗапрос.НовыйЗапрос(ВложенныйЗапрос)
.ВТаблицуЗначений()
;
@@ -822,7 +1001,7 @@
Процедура Объединить() Экспорт
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Документ.ПриобретениеТоваровУслуг")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Документ.ПриобретениеТоваровУслуг")
.Объединить("Документ.РеализацияТоваровУслуг")
.ВТаблицуЗначений()
;
@@ -840,7 +1019,7 @@
Процедура ОбъединитьВсе() Экспорт
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Документ.ПриобретениеТоваровУслуг")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Документ.ПриобретениеТоваровУслуг")
.ОбъединитьВсе("Документ.РеализацияТоваровУслуг")
.ВТаблицуЗначений()
;
@@ -858,7 +1037,7 @@
Процедура ОбъединитьВсеНаЧетыреИсточника() Экспорт
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Документ.ПриобретениеТоваровУслуг")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Документ.ПриобретениеТоваровУслуг")
.ОбъединитьВсе("Документ.РеализацияТоваровУслуг")
.ОбъединитьВсе("Документ.ВозвратТоваровОтКлиента")
.ОбъединитьВсе("Документ.ВозвратТоваровПоставщику")
@@ -882,9 +1061,9 @@
Процедура ОбъединитьВсеСПолями() Экспорт
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Документ.ПриобретениеТоваровУслуг")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Документ.ПриобретениеТоваровУслуг")
.Выбрать("Ссылка, Дата, Номер")
.ОбъединитьВсе(СЗ_Запрос.НовыйЗапрос("Документ.РеализацияТоваровУслуг")
.ОбъединитьВсе(СхЗапрос.НовыйЗапрос("Документ.РеализацияТоваровУслуг")
.Выбрать("Ссылка, Дата, Номер"))
.ВТаблицуЗначений()
;
@@ -905,9 +1084,9 @@
Процедура ОбъединитьВсеСРазнымКоличествомПолей() Экспорт
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Документ.ПриобретениеТоваровУслуг")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Документ.ПриобретениеТоваровУслуг")
.Выбрать("Ссылка, Дата, Номер")
.ОбъединитьВсе(СЗ_Запрос.НовыйЗапрос("Документ.РеализацияТоваровУслуг")
.ОбъединитьВсе(СхЗапрос.НовыйЗапрос("Документ.РеализацияТоваровУслуг")
.Выбрать("Ссылка, Дата, Номер, Партнер"))
.ВТаблицуЗначений()
;
@@ -930,14 +1109,14 @@
Процедура ОбъединитьВсеСВложеннымЗапросом() Экспорт
ВложенныйЗапрос = СЗ_Запрос.НовыйЗапрос("Документ.РеализацияТоваровУслуг")
ВложенныйЗапрос = СхЗапрос.НовыйЗапрос("Документ.РеализацияТоваровУслуг")
.Псевдоним("ВложенныйЗапрос")
.Выбрать("Ссылка, Дата, Номер, Партнер")
;
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Документ.ПриобретениеТоваровУслуг")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Документ.ПриобретениеТоваровУслуг")
.Выбрать("Ссылка, Дата, Номер")
.ОбъединитьВсе(СЗ_Запрос.НовыйЗапрос(ВложенныйЗапрос)
.ОбъединитьВсе(СхЗапрос.НовыйЗапрос(ВложенныйЗапрос)
.Выбрать("Ссылка, Дата, Номер"))
.ВТаблицуЗначений()
;
@@ -958,12 +1137,129 @@
#КонецОбласти
#Область Группировать
Процедура Группировать() Экспорт
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Ссылка, ЭтоГруппа")
.Сгруппировать("ЭтоГруппа")
.ВТаблицуЗначений()
;
ЮТест.ОжидаетЧто(ТаблицаЗначений)
.ИмеетТип("ТаблицаЗначений")
.ИмеетДлинуБольше(0)
;
КонецПроцедуры
Процедура ГруппироватьКоличествоСтрокой() Экспорт
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("КОЛИЧЕСТВО(Номенклатура.Ссылка) КАК КоличествоСсылок, ЭтоГруппа")
.Сгруппировать("ЭтоГруппа")
.ВТаблицуЗначений()
;
ЮТест.ОжидаетЧто(ТаблицаЗначений)
.ИмеетТип("ТаблицаЗначений")
.ИмеетДлинуБольше(0)
;
КонецПроцедуры
Процедура ГруппироватьКоличествоФункциейПолеСтрокой() Экспорт
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("ЭтоГруппа")
.Количество("Ссылка КАК КоличествоСсылок")
.Сгруппировать("ЭтоГруппа")
.ВТаблицуЗначений()
;
ЮТест.ОжидаетЧто(ТаблицаЗначений)
.ИмеетТип("ТаблицаЗначений")
.ИмеетДлину(2)
;
КонецПроцедуры
Процедура ГруппироватьКоличествоФункциейПолеСтруктурой() Экспорт
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Количество(СхЗапрос.НовоеПоле("Ссылка",, "КоличествоСсылок"))
.Сгруппировать("ЭтоГруппа")
.ВТаблицуЗначений()
;
ЮТест.ОжидаетЧто(ТаблицаЗначений)
.ИмеетТип("ТаблицаЗначений")
.ИмеетДлину(2)
;
КонецПроцедуры
Процедура ГруппироватьСуммаФункциейПолеСтрокой() Экспорт
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Документ.РеализацияТоваровУслуг.Товары")
.Выбрать("Номенклатура")
.Сумма("Количество КАК КоличествоНоменклатуры")
.Сгруппировать("Номенклатура")
.ВТаблицуЗначений()
;
ЮТест.ОжидаетЧто(ТаблицаЗначений)
.ИмеетТип("ТаблицаЗначений")
.ИмеетДлинуБольше(0)
;
КонецПроцедуры
Процедура ГруппироватьМинимумФункциейПолеСтрокой() Экспорт
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Документ.РеализацияТоваровУслуг.Товары")
.Выбрать("Номенклатура")
.Минимум("Количество КАК МинимальноеКоличествоНоменклатуры")
.Сгруппировать("Номенклатура")
.ВТаблицуЗначений()
;
ЮТест.ОжидаетЧто(ТаблицаЗначений)
.ИмеетТип("ТаблицаЗначений")
.ИмеетДлинуБольше(0)
.КаждыйЭлементСоответствуетПредикату(ЮТест.Предикат()
.Реквизит("МинимальноеКоличествоНоменклатуры").Меньше(200))
;
КонецПроцедуры
Процедура ГруппироватьМаксимумФункциейПолеСтрокой() Экспорт
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Документ.РеализацияТоваровУслуг.Товары")
.Выбрать("Номенклатура")
.Максимум("Количество КАК МаксимальноеКоличествоНоменклатуры")
.Сгруппировать("Номенклатура")
.ВТаблицуЗначений()
;
ЮТест.ОжидаетЧто(ТаблицаЗначений)
.ИмеетТип("ТаблицаЗначений")
.ИмеетДлинуБольше(0)
.КаждыйЭлементСоответствуетПредикату(ЮТест.Предикат()
.Реквизит("МаксимальноеКоличествоНоменклатуры").Больше(0))
;
КонецПроцедуры
#КонецОбласти
#Область Прочее
Процедура Порядок() Экспорт
// Выполнение
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Ссылка, ЭтоГруппа")
.Упорядочить("ЭтоГруппа, Наименование")
.ВТаблицуЗначений()
@@ -997,7 +1293,7 @@
Процедура ПорядокУбывания() Экспорт
// Выполнение
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Ссылка, ЭтоГруппа")
.Упорядочить("ЭтоГруппа УБЫВ, Наименование")
.ВТаблицуЗначений()
@@ -1030,7 +1326,7 @@
Процедура Итоги() Экспорт
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Итоги("ЭтоГруппа")
.ВТаблицуЗначений()
;
@@ -1055,14 +1351,14 @@
НаименованияАдресныхОбъектов.Добавить("Абонентский Ящик");
// Выполнение
Запрос = СЗ_Запрос.НовыйЗапрос("РегистрСведений.УровниСокращенийАдресныхСведений")
Запрос = СхЗапрос.НовыйЗапрос("РегистрСведений.УровниСокращенийАдресныхСведений")
.Выбрать("Значение КАК Наименование, Сокращение")
.Сгруппировать("Значение, Сокращение")
.Упорядочить("Наименование");
Если ТипЗнч(НаименованияАдресныхОбъектов) = Тип("Массив") И НаименованияАдресныхОбъектов.Количество() > 0 Тогда
Запрос = Запрос
.Где(СЗ_Запрос.Предикат()
.Где(СхЗапрос.Предикат()
.Реквизит("Значение").ВСписке(НаименованияАдресныхОбъектов));
КонецЕсли;

View File

@@ -2,7 +2,7 @@
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.18">
<CommonModule uuid="b37c9dfc-97f9-419e-aef2-d1598bd7f793">
<Properties>
<Name>СЗ_ЗапросТестКлиент</Name>
<Name>СхЗапросТестКлиент</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>

View File

@@ -13,12 +13,19 @@
.ДобавитьТест("Разрешенные")
.ДобавитьТестовыйНабор("СЗ: Поля")
.ДобавитьТест("ИсключениеПолеОтсутствует")
.ДобавитьТест("ИсключениеПолеОтсутствуетСУказаниемИсточника")
.ДобавитьТест("ДобавитьПоляССинонимами")
.ДобавитьТест("ДобавитьНесколькоПолей")
.ДобавитьТест("ДобавитьНесколькоПолейСПереносомСтроки")
.ДобавитьТест("ДобавитьПоляССинонимамиИСписком")
.ДобавитьТест("ВсеПоляДляНеСсылочногоТипа")
.ДобавитьТест("ВсеПоляДляСсылочногоТипа")
.ДобавитьТест("ДобавиьПолеВыборКогдаСтрокой1")
.ДобавитьТест("ДобавиьПолеВыборКогдаСтрокой2")
.ДобавитьТест("ДобавиьПолеВыборКогдаФункциейЧисла")
.ДобавитьТест("ДобавиьПолеВыборКогдаФункциейСтроки")
.ДобавитьТест("ДобавиьПолеВыразитьФункциейПсевдоним1")
.ДобавитьТест("ДобавиьПолеВыразитьФункциейПсевдоним2")
.ДобавитьТестовыйНабор("СЗ: Условия")
.ДобавитьТест("ЗапросСУсловиемРавно")
.ДобавитьТест("ЗапросСУсловиемНеРавно")
@@ -29,6 +36,9 @@
.Перед("Перед_ЗапросСУсловиемВСписке")
.ДобавитьТест("ЗапросСУсловиемНеВСписке")
.Перед("Перед_ЗапросСУсловиемНеВСписке")
.ДобавитьТест("ЗапросСУсловиемИВыборКогдаВПолях")
.ДобавитьТест("ИсключениеУсловиеНаПолеБесконечнойДлиныБезВыразить")
.ДобавитьТест("УсловиеНаПолеБесконечнойДлиныСВыразить")
.ДобавитьТестовыйНабор("СЗ: Соединения")
.ДобавитьТест("СоединениеПоИсточникуСтроке")
.СПараметрами("Левое")
@@ -52,6 +62,14 @@
.ДобавитьТест("ОбъединитьВсеСПолями")
.ДобавитьТест("ОбъединитьВсеСРазнымКоличествомПолей")
.ДобавитьТест("ОбъединитьВсеСВложеннымЗапросом")
.ДобавитьТестовыйНабор("СЗ: Группировать")
.ДобавитьТест("Группировать")
.ДобавитьТест("ГруппироватьКоличествоСтрокой")
.ДобавитьТест("ГруппироватьКоличествоФункциейПолеСтрокой")
.ДобавитьТест("ГруппироватьКоличествоФункциейПолеСтруктурой")
.ДобавитьТест("ГруппироватьСуммаФункциейПолеСтрокой")
.ДобавитьТест("ГруппироватьМинимумФункциейПолеСтрокой")
.ДобавитьТест("ГруппироватьМаксимумФункциейПолеСтрокой")
.ДобавитьТестовыйНабор("СЗ: Прочее")
.ДобавитьТест("Порядок")
.ДобавитьТест("ПорядокУбывания")
@@ -79,7 +97,7 @@
Контекст = ЮТест.КонтекстТеста();
МассивНоменклатуры = СЗ_ЗапросТестСлужебныйВызовСервера
МассивНоменклатуры = СхЗапросТестСлужебныйВызовСервера
.ПолучитьНоменклатуруНеСписке(Контекст.МассивНоменклатуры);
Контекст.Вставить("МассивНоменклатурыНеВСписке", МассивНоменклатуры);
@@ -112,7 +130,7 @@
Процедура ИсключениеИсточникОтсутствует() Экспорт
Обработка = ПолучитьФорму("Обработка.СЗ_ПроцессорСхемЗапроса.Форма.Форма");
Обработка = ПолучитьФорму("Обработка.СхПроцессорСхемЗапроса.Форма.Форма");
ЮТест.ОжидаетЧто(Обработка)
.Метод("ВТаблицуЗначений")
@@ -122,7 +140,7 @@
Процедура ИсключениеИсточникПустаяСтрока() Экспорт
Запрос = СЗ_Запрос.НовыйЗапрос("");
Запрос = СхЗапрос.НовыйЗапрос("");
ЮТест.ОжидаетЧто(Запрос)
.Метод("ВТаблицуЗначений")
@@ -132,7 +150,7 @@
Процедура ЗапросВТаблицуЗначений() Экспорт
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.ВТаблицуЗначений()
;
@@ -147,7 +165,7 @@
Процедура ЗапросВМассив() Экспорт
Массив = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
Массив = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.ВМассив("Ссылка")
;
@@ -162,7 +180,7 @@
Процедура Первые() Экспорт
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура", 10)
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура", 10)
.ВТаблицуЗначений()
;
@@ -174,7 +192,7 @@
Процедура Различные() Экспорт
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура",, Истина)
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура",, Истина)
.ВТаблицуЗначений()
;
@@ -189,7 +207,7 @@
Процедура Разрешенные() Экспорт
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура",,, Истина)
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура",,, Истина)
.ВТаблицуЗначений()
;
@@ -206,28 +224,42 @@
#Область Поля
// TODO: Поля могут быть выражениями
Процедура ИсключениеПолеОтсутствует() Экспорт
НеправильноеНаименованиеПоля = "йцукен";
Запрос = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
Запрос = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать(НеправильноеНаименованиеПоля)
;
ЮТест.ОжидаетЧто(Запрос)
.Метод("ВТаблицуЗначений")
.ВыбрасываетИсключение(
СтрШаблон("Поле %1 в источнике не определено", НеправильноеНаименованиеПоля));
СтрШаблон("{(1, 1)}: Поле не найдено ""%1""
|<<?>>%1", НеправильноеНаименованиеПоля));
КонецПроцедуры
Процедура ИсключениеПолеОтсутствуетСУказаниемИсточника() Экспорт
НеправильноеНаименованиеПоля = "йцукен";
Запрос = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Номенклатура." + НеправильноеНаименованиеПоля)
;
ЮТест.ОжидаетЧто(Запрос)
.Метод("ВТаблицуЗначений")
.ВыбрасываетИсключение(
СтрШаблон("ДобавитьПоля: поле %1 в источнике не определено", НеправильноеНаименованиеПоля));
КонецПроцедуры
Процедура ДобавитьПоляССинонимами() Экспорт
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать(СЗ_Запрос.НовоеПоле("Ссылка",, "СсылкаНоменклатуры"))
.Выбрать(СЗ_Запрос.НовоеПоле("Наименование",, "НаименованиеНоменклатуры"))
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать(СхЗапрос.НовоеПоле("Ссылка",, "СсылкаНоменклатуры"))
.Выбрать(СхЗапрос.НовоеПоле("Наименование",, "НаименованиеНоменклатуры"))
.ВТаблицуЗначений()
;
@@ -246,7 +278,7 @@
Процедура ДобавитьНесколькоПолей() Экспорт
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Ссылка, Наименование, ЭтоГруппа")
.ВТаблицуЗначений()
;
@@ -267,7 +299,7 @@
Процедура ДобавитьНесколькоПолейСПереносомСтроки() Экспорт
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Ссылка, Наименование,
|ЭтоГруппа")
.ВТаблицуЗначений()
@@ -289,8 +321,8 @@
Процедура ДобавитьПоляССинонимамиИСписком() Экспорт
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать(СЗ_Запрос.НовоеПоле("Ссылка",, "СсылкаНоменклатуры"))
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать(СхЗапрос.НовоеПоле("Ссылка",, "СсылкаНоменклатуры"))
.Выбрать("Наименование КАК НаименованиеНоменклатуры, ЭтоГруппа")
.ВТаблицуЗначений()
;
@@ -311,7 +343,7 @@
Процедура ВсеПоляДляНеСсылочногоТипа() Экспорт
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("РегистрСведений.КурсыВалют")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("РегистрСведений.КурсыВалют")
.ВТаблицуЗначений()
;
@@ -331,7 +363,7 @@
Процедура ВсеПоляДляСсылочногоТипа() Экспорт
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.ВыбратьВсе()
.ВТаблицуЗначений()
;
@@ -350,17 +382,113 @@
КонецПроцедуры
Процедура ДобавиьПолеВыборКогдаСтрокой1() Экспорт
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("ВЫБОР КОГДА Номенклатура.ЭтоГруппа = ИСТИНА ТОГДА 1 ИНАЧЕ 0 КОНЕЦ КАК ЭтоГруппа")
.ВТаблицуЗначений()
;
ЮТест.ОжидаетЧто(ТаблицаЗначений)
.ИмеетТип("Массив")
.ИмеетДлинуБольше(0)
;
КонецПроцедуры
Процедура ДобавиьПолеВыборКогдаСтрокой2() Экспорт
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("ВЫБОР
| КОГДА Номенклатура.ЭтоГруппа = ИСТИНА
| ТОГДА 1
| ИНАЧЕ 0
|КОНЕЦ КАК ЭтоГруппа")
.ВТаблицуЗначений()
;
ЮТест.ОжидаетЧто(ТаблицаЗначений)
.ИмеетТип("Массив")
.ИмеетДлинуБольше(0)
;
КонецПроцедуры
Процедура ДобавиьПолеВыборКогдаФункциейЧисла() Экспорт
Предикат = СхЗапрос.Предикат().Реквизит("ЭтоГруппа").Равно(Истина);
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.ВыборКогда(Предикат, 1, 0, "ЭтоГруппа")
.ВТаблицуЗначений()
;
ЮТест.ОжидаетЧто(ТаблицаЗначений)
.ИмеетТип("Массив")
.ИмеетДлинуБольше(0)
.КаждыйЭлементСоответствуетПредикату(ЮТест.Предикат()
.Реквизит("ЭтоГруппа")
.ИмеетТип("Число")
.МеждуВключаяГраницы(0, 1))
;
КонецПроцедуры
Процедура ДобавиьПолеВыборКогдаФункциейСтроки() Экспорт
Предикат = СхЗапрос.Предикат().Реквизит("ЭтоГруппа").Равно(Истина);
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.ВыборКогда(Предикат, "Это группа", "Это элемент", "ЭтоГруппа")
.ВТаблицуЗначений()
;
ЮТест.ОжидаетЧто(ТаблицаЗначений)
.ИмеетТип("Массив")
.ИмеетДлинуБольше(0)
.ЛюбойЭлементСоответствуетПредикату(ЮТест.Предикат()
.Реквизит("ЭтоГруппа")
.ИмеетТип("Строка")
.Равно("Это группа"))
.ЛюбойЭлементСоответствуетПредикату(ЮТест.Предикат()
.Реквизит("ЭтоГруппа")
.ИмеетТип("Строка")
.Равно("Это элемент"))
;
КонецПроцедуры
Процедура ДобавиьПолеВыразитьФункциейПсевдоним1() Экспорт
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Документ.РеализацияТоваровУслуг")
.Выразить("Комментарий КАК СтрокаКомментария",
Новый ОписаниеТипов("Строка",, Новый КвалификаторыСтроки(1024)))
.ВТаблицуЗначений()
;
КонецПроцедуры
Процедура ДобавиьПолеВыразитьФункциейПсевдоним2() Экспорт
ОписаниеТипа = Новый ОписаниеТипов("Строка",, Новый КвалификаторыСтроки(1024));
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Документ.РеализацияТоваровУслуг")
.Выразить("Комментарий", ОписаниеТипа, "СтрокаКомментария")
.ВТаблицуЗначений()
;
КонецПроцедуры
#КонецОбласти
#Область Условия
Процедура ЗапросСУсловиемРавно() Экспорт
Предикат = СЗ_Запрос.Предикат()
Предикат = СхЗапрос.Предикат()
.Реквизит("ЭтоГруппа").Равно(Ложь)
;
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Ссылка, ЭтоГруппа")
.Где(Предикат)
.ВТаблицуЗначений()
@@ -377,11 +505,11 @@
Процедура ЗапросСУсловиемНеРавно() Экспорт
Предикат = СЗ_Запрос.Предикат()
Предикат = СхЗапрос.Предикат()
.Реквизит("ЭтоГруппа").НеРавно(Ложь)
;
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Ссылка, ЭтоГруппа")
.Где(Предикат)
.ВТаблицуЗначений()
@@ -398,11 +526,11 @@
Процедура ЗапросСУсловиемПодобно() Экспорт
Предикат = СЗ_Запрос.Предикат()
Предикат = СхЗапрос.Предикат()
.Реквизит("Наименование").Подобно("Хлеб")
;
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Ссылка, Наименование")
.Где(Предикат)
.ВТаблицуЗначений()
@@ -413,17 +541,17 @@
.ИмеетДлинуБольше(0)
;
СЗ_ЗапросТестСлужебныйВызовСервера.ПроверитьПодобноПоРегулярномуВыражению(ТаблицаЗначений);
СхЗапросТестСлужебныйВызовСервера.ПроверитьПодобноПоРегулярномуВыражению(ТаблицаЗначений);
КонецПроцедуры
Процедура ЗапросСУсловиемНеПодобно() Экспорт
Предикат = СЗ_Запрос.Предикат()
Предикат = СхЗапрос.Предикат()
.Реквизит("Наименование").НеПодобно("Хлеб")
;
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Ссылка, Наименование")
.Где(Предикат)
.ВТаблицуЗначений()
@@ -434,7 +562,7 @@
.ИмеетДлинуБольше(0)
;
СЗ_ЗапросТестСлужебныйВызовСервера.ПроверитьНеПодобноПоРегулярномуВыражению(ТаблицаЗначений);
СхЗапросТестСлужебныйВызовСервера.ПроверитьНеПодобноПоРегулярномуВыражению(ТаблицаЗначений);
КонецПроцедуры
@@ -442,11 +570,11 @@
ДатаНачала = Дата("20230601000000");
ДатаОкончания = Дата("20230630235959");
Предикат = СЗ_Запрос.Предикат()
Предикат = СхЗапрос.Предикат()
.Реквизит("Дата").Между(ДатаНачала, ДатаОкончания)
;
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Документ.ЗаказКлиента")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Документ.ЗаказКлиента")
.Выбрать("Ссылка, Дата")
.Где(Предикат)
.ВТаблицуЗначений()
@@ -465,11 +593,11 @@
Контекст = ЮТест.КонтекстТеста();
Предикат = СЗ_Запрос.Предикат()
Предикат = СхЗапрос.Предикат()
.Реквизит("Ссылка").ВСписке(Контекст.МассивНоменклатуры)
;
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Где(Предикат)
.ВТаблицуЗначений()
;
@@ -487,11 +615,11 @@
Контекст = ЮТест.КонтекстТеста();
Предикат = СЗ_Запрос.Предикат()
.Реквизит("Ссылка").НеВСписке(Контекст.МассивНоменклатуры)
Предикат = СхЗапрос.Предикат()
.Реквизит("Ссылка").НеВСписке(Контекст.МассивНоменклатурыНеВСписке)
;
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Где(Предикат)
.ВТаблицуЗначений()
;
@@ -500,7 +628,58 @@
.ИмеетТип("Массив")
.ИмеетДлинуБольше(0)
.КаждыйЭлементСоответствуетПредикату(ЮТест.Предикат()
.Реквизит("Ссылка").ВСписке(Контекст.МассивНоменклатурыНеВСписке))
.Реквизит("Ссылка").ВСписке(Контекст.МассивНоменклатуры))
;
КонецПроцедуры
// Проверяет сквозную нумерацию параметров
//
Процедура ЗапросСУсловиемИВыборКогдаВПолях() Экспорт
Предикат = СхЗапрос.Предикат().Реквизит("ЭтоГруппа").Равно(Истина);
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.ВыборКогда(Предикат, 1, 0, "ЭтоГруппа")
.Где(СхЗапрос.Предикат()
.Реквизит("ЭтоГруппа").Равно(Ложь))
.ВТаблицуЗначений()
;
ЮТест.ОжидаетЧто(ТаблицаЗначений)
.ИмеетТип("Массив")
.ИмеетДлинуБольше(0)
.КаждыйЭлементСоответствуетПредикату(ЮТест.Предикат()
.Реквизит("ЭтоГруппа")
.ИмеетТип("Число")
.Равно(0))
;
КонецПроцедуры
Процедура ИсключениеУсловиеНаПолеБесконечнойДлиныБезВыразить() Экспорт
Предикат = СхЗапрос.Предикат().Реквизит("Комментарий").Равно("");
Запрос = СхЗапрос.НовыйЗапрос("Документ.РеализацияТоваровУслуг")
.Где(Предикат)
;
ЮТест.ОжидаетЧто(Запрос)
.Метод("ВТаблицуЗначений")
.ВыбрасываетИсключение("{(6, 37)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля
| неограниченной длины и поля несовместимых типов.
|РеализацияТоваровУслуг.Комментарий <<?>>= &Параметр_0");
КонецПроцедуры
Процедура УсловиеНаПолеБесконечнойДлиныСВыразить() Экспорт
ОписаниеТипа = Новый ОписаниеТипов("Строка",, Новый КвалификаторыСтроки(1024));
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Документ.РеализацияТоваровУслуг")
.Где(СхЗапрос.Предикат()
.РеквизитВыразить("Комментарий", ОписаниеТипа).Равно(""))
.ВТаблицуЗначений()
;
КонецПроцедуры
@@ -511,11 +690,11 @@
Процедура СоединениеПоИсточникуСтроке(ТипСоединения) Экспорт
ПредикатДляСоединения = СЗ_Запрос.Предикат()
ПредикатДляСоединения = СхЗапрос.Предикат()
.Реквизит("НоменклатураСоединение.Ссылка").Равно("Номенклатура.Родитель")
;
Запрос = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
Запрос = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Номенклатура.Ссылка,
|НоменклатураСоединение.Ссылка КАК НоменклатураСоединениеСсылка")
;
@@ -550,14 +729,14 @@
Процедура ЛевоеСоединениеПоИсточникуЗапросу() Экспорт
ЗапросДляСоединения = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ЗапросДляСоединения = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Псевдоним("НоменклатураСоединение")
;
ПредикатДляСоединения = СЗ_Запрос.Предикат()
ПредикатДляСоединения = СхЗапрос.Предикат()
.Реквизит("Ссылка").Равно("Родитель")
;
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Номенклатура.Ссылка,
|НоменклатураСоединение.Ссылка КАК НоменклатураСоединениеСсылка")
.ЛевоеСоединение(ЗапросДляСоединения, ПредикатДляСоединения)
@@ -579,23 +758,23 @@
Процедура ЛевоеСоединениеСГлубокоВложеннымЗапросом() Экспорт
ВложенныйЗапрос = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ВложенныйЗапрос = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Ссылка, Родитель")
.Псевдоним("ВложенныйЗапрос_0")
;
Для Сч = 1 По 9 Цикл
ВложенныйЗапрос = СЗ_Запрос.НовыйЗапрос(ВложенныйЗапрос)
ВложенныйЗапрос = СхЗапрос.НовыйЗапрос(ВложенныйЗапрос)
.Выбрать("Ссылка, Родитель")
.Псевдоним("ВложенныйЗапрос_" + Сч)
;
КонецЦикла;
ПредикатДляСоединения = СЗ_Запрос.Предикат()
ПредикатДляСоединения = СхЗапрос.Предикат()
.Реквизит("Ссылка").Равно("Родитель")
;
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Номенклатура.Ссылка,
|ВложенныйЗапрос_9.Ссылка КАК ВложенныйЗапрос_9Ссылка")
.ЛевоеСоединение(ВложенныйЗапрос, ПредикатДляСоединения)
@@ -615,7 +794,7 @@
Процедура ЛевоеСоединениеБезПредиката() Экспорт
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("РегистрСведений.ПримененияЕНВД")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("РегистрСведений.ПримененияЕНВД")
.Выбрать("ПримененияЕНВД.Организация КАК Организация,
|ПримененияЕНВДСоединение.Склад КАК Склад")
.ЛевоеСоединение("РегистрСведений.ПримененияЕНВД КАК ПримененияЕНВДСоединение")
@@ -637,10 +816,10 @@
Процедура ЛевоеСоединениеНесколькоУсловийВПредикате() Экспорт
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Номенклатура.Ссылка,
|НоменклатураСоединение.Ссылка КАК НоменклатураСоединениеСсылка")
.ЛевоеСоединение("Справочник.Номенклатура КАК НоменклатураСоединение", СЗ_Запрос.Предикат()
.ЛевоеСоединение("Справочник.Номенклатура КАК НоменклатураСоединение", СхЗапрос.Предикат()
.Реквизит("НоменклатураСоединение.Ссылка").Равно("Номенклатура.Родитель")
.Реквизит("НоменклатураСоединение.ЭтоГруппа").Равно("ИСТИНА"))
.ВТаблицуЗначений()
@@ -664,13 +843,13 @@
// Подготовка
МассивПараметров = Новый Массив;
МассивПараметров.Добавить(Новый Структура("ИмяПараметра, Значение",
"Родитель", СЗ_ЗапросТестСлужебныйВызовСервера.ПолучитьГруппуНоменклатуры()));
"Родитель", СхЗапросТестСлужебныйВызовСервера.ПолучитьГруппуНоменклатуры()));
// Выполнение
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Номенклатура.Ссылка,
|НоменклатураСоединение.Ссылка КАК НоменклатураСоединениеСсылка")
.ЛевоеСоединение("Справочник.Номенклатура КАК НоменклатураСоединение", СЗ_Запрос.Предикат()
.ЛевоеСоединение("Справочник.Номенклатура КАК НоменклатураСоединение", СхЗапрос.Предикат()
.Реквизит("НоменклатураСоединение.Родитель").Равно("&Родитель"))
.Параметры(МассивПараметров)
.ВТаблицуЗначений()
@@ -692,9 +871,9 @@
Процедура ЛевоеСоединениеБезПсевдонимовВСоединении() Экспорт
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Номенклатура.Ссылка, Номенклатура1.Ссылка")
.ЛевоеСоединение("Справочник.Номенклатура", СЗ_Запрос.Предикат()
.ЛевоеСоединение("Справочник.Номенклатура", СхЗапрос.Предикат()
.Реквизит("Ссылка").Равно("Родитель")
.Реквизит("ЭтоГруппа").Равно("ИСТИНА"))
.ВТаблицуЗначений()
@@ -715,12 +894,12 @@
Процедура НесколькоЛевыхСоединений() Экспорт
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Номенклатура.Ссылка, Номенклатура1.Ссылка, Номенклатура2.Ссылка")
.ЛевоеСоединение("Справочник.Номенклатура", СЗ_Запрос.Предикат()
.ЛевоеСоединение("Справочник.Номенклатура", СхЗапрос.Предикат()
.Реквизит("Ссылка").Равно("Родитель")
.Реквизит("ЭтоГруппа").Равно("ИСТИНА"))
.ЛевоеСоединение("Справочник.Номенклатура", СЗ_Запрос.Предикат()
.ЛевоеСоединение("Справочник.Номенклатура", СхЗапрос.Предикат()
.Реквизит("Ссылка").Равно("Родитель")
.Реквизит("ЭтоГруппа").Равно("ИСТИНА"))
.ВТаблицуЗначений()
@@ -746,9 +925,9 @@
Процедура ИсключениеВложенныйЗапросБезПсевдонима() Экспорт
ВложенныйЗапрос = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура");
ВложенныйЗапрос = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура");
Запрос = СЗ_Запрос.НовыйЗапрос(ВложенныйЗапрос);
Запрос = СхЗапрос.НовыйЗапрос(ВложенныйЗапрос);
ЮТест.ОжидаетЧто(Запрос)
.Метод("ВТаблицуЗначений")
@@ -758,11 +937,11 @@
Процедура ВложенныйЗапрос() Экспорт
ВложенныйЗапрос = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ВложенныйЗапрос = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Псевдоним("ВложенныйЗапрос")
;
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос(ВложенныйЗапрос)
ТаблицаЗначений = СхЗапрос.НовыйЗапрос(ВложенныйЗапрос)
.ВТаблицуЗначений()
;
@@ -775,17 +954,17 @@
Процедура ОченьГлубокоВложенныйЗапрос() Экспорт
ВложенныйЗапрос = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ВложенныйЗапрос = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Псевдоним("ВложенныйЗапрос_0")
;
Для Сч = 1 По 9 Цикл
ВложенныйЗапрос = СЗ_Запрос.НовыйЗапрос(ВложенныйЗапрос)
ВложенныйЗапрос = СхЗапрос.НовыйЗапрос(ВложенныйЗапрос)
.Псевдоним("ВложенныйЗапрос_" + Сч)
;
КонецЦикла;
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос(ВложенныйЗапрос)
ТаблицаЗначений = СхЗапрос.НовыйЗапрос(ВложенныйЗапрос)
.ВТаблицуЗначений()
;
@@ -802,7 +981,7 @@
Процедура Объединить() Экспорт
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Документ.ПриобретениеТоваровУслуг")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Документ.ПриобретениеТоваровУслуг")
.Объединить("Документ.РеализацияТоваровУслуг")
.ВТаблицуЗначений()
;
@@ -820,7 +999,7 @@
Процедура ОбъединитьВсе() Экспорт
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Документ.ПриобретениеТоваровУслуг")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Документ.ПриобретениеТоваровУслуг")
.ОбъединитьВсе("Документ.РеализацияТоваровУслуг")
.ВТаблицуЗначений()
;
@@ -838,7 +1017,7 @@
Процедура ОбъединитьВсеНаЧетыреИсточника() Экспорт
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Документ.ПриобретениеТоваровУслуг")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Документ.ПриобретениеТоваровУслуг")
.ОбъединитьВсе("Документ.РеализацияТоваровУслуг")
.ОбъединитьВсе("Документ.ВозвратТоваровОтКлиента")
.ОбъединитьВсе("Документ.ВозвратТоваровПоставщику")
@@ -862,9 +1041,9 @@
Процедура ОбъединитьВсеСПолями() Экспорт
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Документ.ПриобретениеТоваровУслуг")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Документ.ПриобретениеТоваровУслуг")
.Выбрать("Ссылка, Дата, Номер")
.ОбъединитьВсе(СЗ_Запрос.НовыйЗапрос("Документ.РеализацияТоваровУслуг")
.ОбъединитьВсе(СхЗапрос.НовыйЗапрос("Документ.РеализацияТоваровУслуг")
.Выбрать("Ссылка, Дата, Номер"))
.ВТаблицуЗначений()
;
@@ -885,9 +1064,9 @@
Процедура ОбъединитьВсеСРазнымКоличествомПолей() Экспорт
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Документ.ПриобретениеТоваровУслуг")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Документ.ПриобретениеТоваровУслуг")
.Выбрать("Ссылка, Дата, Номер")
.ОбъединитьВсе(СЗ_Запрос.НовыйЗапрос("Документ.РеализацияТоваровУслуг")
.ОбъединитьВсе(СхЗапрос.НовыйЗапрос("Документ.РеализацияТоваровУслуг")
.Выбрать("Ссылка, Дата, Номер, Партнер"))
.ВТаблицуЗначений()
;
@@ -910,14 +1089,14 @@
Процедура ОбъединитьВсеСВложеннымЗапросом() Экспорт
ВложенныйЗапрос = СЗ_Запрос.НовыйЗапрос("Документ.РеализацияТоваровУслуг")
ВложенныйЗапрос = СхЗапрос.НовыйЗапрос("Документ.РеализацияТоваровУслуг")
.Псевдоним("ВложенныйЗапрос")
.Выбрать("Ссылка, Дата, Номер, Партнер")
;
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Документ.ПриобретениеТоваровУслуг")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Документ.ПриобретениеТоваровУслуг")
.Выбрать("Ссылка, Дата, Номер")
.ОбъединитьВсе(СЗ_Запрос.НовыйЗапрос(ВложенныйЗапрос)
.ОбъединитьВсе(СхЗапрос.НовыйЗапрос(ВложенныйЗапрос)
.Выбрать("Ссылка, Дата, Номер"))
.ВТаблицуЗначений()
;
@@ -938,12 +1117,129 @@
#КонецОбласти
#Область Группировать
Процедура Группировать() Экспорт
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Ссылка, ЭтоГруппа")
.Сгруппировать("ЭтоГруппа")
.ВТаблицуЗначений()
;
ЮТест.ОжидаетЧто(ТаблицаЗначений)
.ИмеетТип("Массив")
.ИмеетДлинуБольше(0)
;
КонецПроцедуры
Процедура ГруппироватьКоличествоСтрокой() Экспорт
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("КОЛИЧЕСТВО(Номенклатура.Ссылка) КАК КоличествоСсылок, ЭтоГруппа")
.Сгруппировать("ЭтоГруппа")
.ВТаблицуЗначений()
;
ЮТест.ОжидаетЧто(ТаблицаЗначений)
.ИмеетТип("Массив")
.ИмеетДлинуБольше(0)
;
КонецПроцедуры
Процедура ГруппироватьКоличествоФункциейПолеСтрокой() Экспорт
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("ЭтоГруппа")
.Количество("Ссылка КАК КоличествоСсылок")
.Сгруппировать("ЭтоГруппа")
.ВТаблицуЗначений()
;
ЮТест.ОжидаетЧто(ТаблицаЗначений)
.ИмеетТип("Массив")
.ИмеетДлину(2)
;
КонецПроцедуры
Процедура ГруппироватьКоличествоФункциейПолеСтруктурой() Экспорт
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Количество(СхЗапрос.НовоеПоле("Ссылка",, "КоличествоСсылок"))
.Сгруппировать("ЭтоГруппа")
.ВТаблицуЗначений()
;
ЮТест.ОжидаетЧто(ТаблицаЗначений)
.ИмеетТип("Массив")
.ИмеетДлину(2)
;
КонецПроцедуры
Процедура ГруппироватьСуммаФункциейПолеСтрокой() Экспорт
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Документ.РеализацияТоваровУслуг.Товары")
.Выбрать("Номенклатура")
.Сумма("Количество КАК КоличествоНоменклатуры")
.Сгруппировать("Номенклатура")
.ВТаблицуЗначений()
;
ЮТест.ОжидаетЧто(ТаблицаЗначений)
.ИмеетТип("Массив")
.ИмеетДлинуБольше(0)
;
КонецПроцедуры
Процедура ГруппироватьМинимумФункциейПолеСтрокой() Экспорт
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Документ.РеализацияТоваровУслуг.Товары")
.Выбрать("Номенклатура")
.Минимум("Количество КАК МинимальноеКоличествоНоменклатуры")
.Сгруппировать("Номенклатура")
.ВТаблицуЗначений()
;
ЮТест.ОжидаетЧто(ТаблицаЗначений)
.ИмеетТип("Массив")
.ИмеетДлинуБольше(0)
.КаждыйЭлементСоответствуетПредикату(ЮТест.Предикат()
.Реквизит("МинимальноеКоличествоНоменклатуры").Меньше(200))
;
КонецПроцедуры
Процедура ГруппироватьМаксимумФункциейПолеСтрокой() Экспорт
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Документ.РеализацияТоваровУслуг.Товары")
.Выбрать("Номенклатура")
.Максимум("Количество КАК МаксимальноеКоличествоНоменклатуры")
.Сгруппировать("Номенклатура")
.ВТаблицуЗначений()
;
ЮТест.ОжидаетЧто(ТаблицаЗначений)
.ИмеетТип("Массив")
.ИмеетДлинуБольше(0)
.КаждыйЭлементСоответствуетПредикату(ЮТест.Предикат()
.Реквизит("МаксимальноеКоличествоНоменклатуры").Больше(0))
;
КонецПроцедуры
#КонецОбласти
#Область Прочее
Процедура Порядок() Экспорт
// Выполнение
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Ссылка, ЭтоГруппа")
.Упорядочить("ЭтоГруппа, Наименование")
.ВТаблицуЗначений()
@@ -980,7 +1276,7 @@
Процедура ПорядокУбывания() Экспорт
// Выполнение
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Выбрать("Ссылка, ЭтоГруппа")
.Упорядочить("ЭтоГруппа УБЫВ, Наименование")
.ВТаблицуЗначений()
@@ -1016,7 +1312,7 @@
Процедура Итоги() Экспорт
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
ТаблицаЗначений = СхЗапрос.НовыйЗапрос("Справочник.Номенклатура")
.Итоги("ЭтоГруппа")
.ВТаблицуЗначений()
;
@@ -1040,14 +1336,14 @@
НаименованияАдресныхОбъектов.Добавить("Абонентский Ящик");
// Выполнение
Запрос = СЗ_Запрос.НовыйЗапрос("РегистрСведений.УровниСокращенийАдресныхСведений")
Запрос = СхЗапрос.НовыйЗапрос("РегистрСведений.УровниСокращенийАдресныхСведений")
.Выбрать("Значение КАК Наименование, Сокращение")
.Сгруппировать("Значение, Сокращение")
.Упорядочить("Наименование");
Если ТипЗнч(НаименованияАдресныхОбъектов) = Тип("Массив") И НаименованияАдресныхОбъектов.Количество() > 0 Тогда
Запрос = Запрос
.Где(СЗ_Запрос.Предикат()
.Где(СхЗапрос.Предикат()
.Реквизит("Значение").ВСписке(НаименованияАдресныхОбъектов));
КонецЕсли;

View File

@@ -2,7 +2,7 @@
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.18">
<CommonModule uuid="fd18e525-b216-4cbe-9e5b-3f44fcf6fcf2">
<Properties>
<Name>СЗ_ЗапросТестСлужебныйВызовСервера</Name>
<Name>СхЗапросТестСлужебныйВызовСервера</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.18">
<CommonModule uuid="54eb4132-1b61-4d01-ba96-ff4bfe65f6f8">
<Properties>
<Name>СхОбщегоНазначенийКлиентСервер</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Схема запроса: общего назначений клиент-сервер</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Global>false</Global>
<ClientManagedApplication>true</ClientManagedApplication>
<Server>true</Server>
<ExternalConnection>false</ExternalConnection>
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
<ServerCall>false</ServerCall>
<Privileged>false</Privileged>
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
</Properties>
</CommonModule>
</MetaDataObject>

View File

@@ -0,0 +1,49 @@

#Область ПрограммныйИнтерфейс
Функция ПодготовиьРеквизитСУчетомФункции(Предикат) Экспорт
Если ПустаяСтрока(Предикат.ИмяФункции) Тогда
Возврат Предикат.ИмяРеквизита;
КонецЕсли;
Если Предикат.ИмяФункции = "Выразить" Тогда
Возврат СтрШаблон("ВЫРАЗИТЬ(%1 КАК %2)",
Предикат.ИмяРеквизита,
ПолучитьТипИзОписания(Предикат.ПараметрыФункции[0]));
ИначеЕсли Предикат.ИмяФункции = "ВыборКогда" Тогда
ВызватьИсключение "ПодготовиьРеквизитСУчетомФункции: не реализовано";
Возврат СтрШаблон("ВЫБОР
| КОГДА %1
| ТОГДА %2
| ИНАЧЕ %3
|КОНЕЦ", , , );
КонецЕсли;
ТекстИсключения = СтрШаблон("ПодготовиьРеквизитСУчетомФункции: неизвестная функция %1",
Предикат.ИмяФункции);
ВызватьИсключение ТекстИсключения;
КонецФункции
Функция ПолучитьТипИзОписания(ОписаниеТипа) Экспорт
Если ОписаниеТипа.СодержитТип(Тип("Строка")) Тогда
Возврат СтрШаблон("СТРОКА(%1)",
Формат(ОписаниеТипа.КвалификаторыСтроки.Длина, "ЧГ=0"))
ИначеЕсли ОписаниеТипа.СодержитТип(Тип("Число")) Тогда
Возврат СтрШаблон("ЧИСЛО(%1.%2)",
Формат(ОписаниеТипа.КвалификаторыЧисла.Разрядность, "ЧГ=0"),
Формат(ОписаниеТипа.КвалификаторыЧисла.Разрядность.ДробнойЧасти, "ЧГ=0"))
ИначеЕсли ОписаниеТипа.СодержитТип(Тип("Дата")) Тогда
Возврат "ДАТА";
Иначе
// TODO: Ссылочные типы данных
КонецЕсли;
ВызватьИсключение "ПолучитьТипИзОписания: неизвестный тип данных для выражения";
КонецФункции
#КонецОбласти

View File

@@ -2,7 +2,7 @@
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.18">
<CommonModule uuid="407489b2-2f4b-467b-9594-621de146e468">
<Properties>
<Name>СЗ_ПроцессорыПредикатовКлиентСервер</Name>
<Name>СхПроцессорыПредикатовКлиентСервер</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>

View File

@@ -4,15 +4,15 @@
// Возвращает обработку с контекстом и методами наполнения контекста предиката
//
// Возвращаемое значение:
// - ОбработкаОбъект.СЗ_ПроцессорПредикатов - менеджер для серверного формирования предиката
// - ОбработкаОбъект.СхПроцессорПредикатов - менеджер для серверного формирования предиката
// - ФормаКлиентскогоПриложения - менеджер для клиентского формирования предиката
//
Функция НовыйПроцессорПредикатов() Экспорт
#Если Клиент Тогда
ПроцессорПредикатов = ПолучитьФорму("Обработка.СЗ_ПроцессорПредикатов.Форма.Форма");
ПроцессорПредикатов = ПолучитьФорму("Обработка.СхПроцессорПредикатов.Форма.Форма");
#Иначе
ПроцессорПредикатов = Обработки.СЗ_ПроцессорПредикатов.Создать();
ПроцессорПредикатов = Обработки.СхПроцессорПредикатов.Создать();
#КонецЕсли
Возврат ПроцессорПредикатов;

View File

@@ -2,7 +2,7 @@
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.18">
<CommonModule uuid="19b0625e-9f74-4fba-9350-914066ae1034">
<Properties>
<Name>СЗ_ПроцессорыПредикатовСлужебныйКлиентСервер</Name>
<Name>СхПроцессорыПредикатовСлужебныйКлиентСервер</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>

View File

@@ -0,0 +1,81 @@

#Область ПрограммныйИнтерфейс
// Устанавливает имя реквизита, все последующие условия будут относится к нему
//
// Параметры:
// Предикат -
// ИмяРеквизита - Строка - имя реквизита
//
Процедура УстановитьИмяРеквизита(Предикат, ИмяРеквизита) Экспорт
Если Предикат = Неопределено Тогда
Предикат = Новый Структура("ИмяРеквизита, ИмяФункции, ПараметрыФункции, Условия",
"", "", Новый Массив, Новый Массив);
КонецЕсли;
Предикат.ИмяРеквизита = ИмяРеквизита;
КонецПроцедуры
//
//
Процедура УстановитьРеквизитВыборКогда(Предикат, ИмяРеквизита, ЗначениеИстина, ЗначениеЛожь) Экспорт
Если Предикат = Неопределено Тогда
Предикат = Новый Структура("ИмяРеквизита, ИмяФункции, ПараметрыФункции, Условия",
"", "", Новый Массив, Новый Массив);
КонецЕсли;
ПараметрыФункции = Новый Массив;
ПараметрыФункции.Добавить(ЗначениеИстина);
ПараметрыФункции.Добавить(ЗначениеЛожь);
Предикат.ИмяРеквизита = ИмяРеквизита;
Предикат.ИмяФункции = "ВыборКогда";
Предикат.ПараметрыФункции = ПараметрыФункции;
КонецПроцедуры
//
//
Процедура УстановитьРеквизитВыразить(Предикат, ИмяРеквизита, ОписаниеТипа) Экспорт
Если Предикат = Неопределено Тогда
Предикат = Новый Структура("ИмяРеквизита, ИмяФункции, ПараметрыФункции, Условия",
"", "", Новый Массив, Новый Массив);
КонецЕсли;
ПараметрыФункции = Новый Массив;
ПараметрыФункции.Добавить(ОписаниеТипа);
Предикат.ИмяРеквизита = ИмяРеквизита;
Предикат.ИмяФункции = "Выразить";
Предикат.ПараметрыФункции = ПараметрыФункции;
КонецПроцедуры
// Устанавливает вид и значение сравнения для условия
//
// Параметры:
// Предикат - ОбработкаОбъект.СхПроцессорПредикатов -
// - ФормаКлиентскогоПриложения -
// ВидСравнения - Строка -
// Значение - Производьный -
//
Процедура УстановитьПредикат(Предикат, ВидСравнения, Значение) Экспорт
Если Предикат = Неопределено Или ПустаяСтрока(Предикат.ИмяРеквизита) Тогда
ВызватьИсключение "Ошибочный порядок вызова функций формирования предиката";
КонецЕсли;
Условие = Новый Структура("ИмяРеквизита, ВидСравнения, Значение",
СхОбщегоНазначенийКлиентСервер.ПодготовиьРеквизитСУчетомФункции(Предикат),
ВидСравнения,
Значение);
Предикат.Условия.Добавить(Условие);
КонецПроцедуры
#КонецОбласти

View File

@@ -2,7 +2,7 @@
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.18">
<CommonModule uuid="a3e5bf50-2154-477f-9355-29b0930a73c5">
<Properties>
<Name>СЗ_ПроцессорыСхемЗапросаКлиентСервер</Name>
<Name>СхПроцессорыСхемЗапросаКлиентСервер</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>

View File

@@ -10,15 +10,15 @@
// Разрешенные - Булево - признак ограничения выборки с применением RLS
//
// Возвращаемое значение:
// - ОбработкаОбъект.СЗ_ПроцессорСхемЗапроса - менеджер для серверного формирования запроса
// - ОбработкаОбъект.СхПроцессорСхемЗапроса - менеджер для серверного формирования запроса
// - ФормаКлиентскогоПриложения - менеджер для клиентского формирования запроса
//
Функция НовыйПроцессорСхемЗапроса(ИсточникДанных, Первые, Различные, Разрешенные) Экспорт
#Если Клиент Тогда
ПроцессорСхемЗапроса = ПолучитьФорму("Обработка.СЗ_ПроцессорСхемЗапроса.Форма.Форма");
ПроцессорСхемЗапроса = ПолучитьФорму("Обработка.СхПроцессорСхемЗапроса.Форма.Форма");
#Иначе
ПроцессорСхемЗапроса = Обработки.СЗ_ПроцессорСхемЗапроса.Создать();
ПроцессорСхемЗапроса = Обработки.СхПроцессорСхемЗапроса.Создать();
#КонецЕсли
ПроцессорСхемЗапроса.УстановитьИсточникДанных(ИсточникДанных, Первые, Различные, Разрешенные);

View File

@@ -2,7 +2,7 @@
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.18">
<CommonModule uuid="fd5aeea0-9a03-452d-ba1e-81c816846c6c">
<Properties>
<Name>СЗ_ПроцессорыСхемЗапросаСлужебный</Name>
<Name>СхПроцессорыСхемЗапросаСлужебный</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>

View File

@@ -59,7 +59,7 @@
// Соединения добавляются раньше всех чтобы к моменту добавления полей у нас
// уже были все возможные источники данных
ДобавитьСоединения(Оператор, Запрос, СтруктураСхемыЗапроса);
ДобавитьПоля(ЗапросПакета, Оператор, СтруктураСхемыЗапроса, ЭтоПоляИзВложенногоЗапроса);
ДобавитьПоля(ЗапросПакета, Оператор, Запрос, СтруктураСхемыЗапроса, ЭтоПоляИзВложенногоЗапроса);
ДобавитьУсловия(Оператор, Запрос, СтруктураСхемыЗапроса);
ДобавитьГруппировку(Оператор, СтруктураСхемыЗапроса);
ДобавитьПорядок(ЗапросПакета, СтруктураСхемыЗапроса);
@@ -124,35 +124,38 @@
КонецФункции
Процедура ДобавитьПоля(ЗапросПакета, Оператор, СтруктураСхемыЗапроса, ЭтоПоляИзВложенногоЗапроса = Ложь)
Процедура ДобавитьПоля(ЗапросПакета, Оператор, Запрос, СтруктураСхемыЗапроса, ЭтоПоляИзВложенногоЗапроса = Ложь)
Если СтруктураСхемыЗапроса.Свойство("Поля") И
ТипЗнч(СтруктураСхемыЗапроса.Поля) = Тип("Массив") И
СтруктураСхемыЗапроса.Поля.Количество() > 0 Тогда
Для каждого Поле Из СтруктураСхемыЗапроса.Поля Цикл
Если Не Поле.Источник = Неопределено Тогда
ИсточникПоля = Оператор.Источники.НайтиПоПсевдониму(Поле.Источник);
Иначе
ИсточникПоля = Оператор.Источники[0];
КонецЕсли;
Если Не ИсточникПоля = Неопределено Тогда
ДоступноеПоле = ИсточникПоля.Источник.ДоступныеПоля.Найти(Поле.ИмяПоля);
Если Не ДоступноеПоле = Неопределено Тогда
Если Не ЭтоПоляИзВложенногоЗапроса Тогда
НовоеПоле = Оператор.ВыбираемыеПоля.Добавить(ДоступноеПоле);
Иначе
НовоеПоле = Оператор.ВыбираемыеПоля.Добавить(ДоступноеПоле,
ИсточникПоля.Источник.ДоступныеПоля.Индекс(ДоступноеПоле));
КонецЕсли;
Если Не Поле.Псевдоним = Неопределено Тогда
ЗапросПакета.Колонки[ЗапросПакета.Колонки.Количество() - 1].Псевдоним = Поле.Псевдоним;
КонецЕсли;
ДоступноеПоле = ИсточникПоля.Источник.ДоступныеПоля.Найти(Поле.ИмяПоля);
Если Не ДоступноеПоле = Неопределено Тогда
Если Не ЭтоПоляИзВложенногоЗапроса Тогда
Оператор.ВыбираемыеПоля.Добавить(ДоступноеПоле);
Иначе
ВызватьИсключение СтрШаблон("Поле %1 в источнике не определено", Поле.ИмяПоля);
Оператор.ВыбираемыеПоля.Добавить(ДоступноеПоле,
ИсточникПоля.Источник.ДоступныеПоля.Индекс(ДоступноеПоле));
КонецЕсли;
ИначеЕсли Поле.Источник = Неопределено Тогда
Оператор.ВыбираемыеПоля.Добавить(Поле.ИмяПоля);
Иначе
ВызватьИсключение СтрШаблон("ДобавитьПоля: поле %1 в источнике не определено", Поле.ИмяПоля);
КонецЕсли;
Если Не Поле.Псевдоним = Неопределено Тогда
ЗапросПакета.Колонки[ЗапросПакета.Колонки.Количество() - 1].Псевдоним = Поле.Псевдоним;
КонецЕсли;
КонецЦикла;
Иначе
ЕстьСсылка = Ложь;
@@ -179,10 +182,13 @@
Если СтруктураСхемыЗапроса.Свойство("Условия") И ТипЗнч(СтруктураСхемыЗапроса.Условия) = Тип("Массив") Тогда
Для каждого Условие Из СтруктураСхемыЗапроса.Условия Цикл
// Такая ситуация может возникнуть когда передают два параметра для функции МЕЖДУ
// Такая ситуация может возникнуть когда передают два параметра для функции МЕЖДУ.
// Второй параметр в массиве условий идёт с пустрой строкой в переменной УсловиеСтрокой
Если Не ПустаяСтрока(Условие.УсловиеСтрокой) Тогда
Оператор.Отбор.Добавить(Условие.УсловиеСтрокой);
КонецЕсли;
// TODO: Можно Условие.ИмяПараметра и Условие.Значение отсюда убрать
// и перенести это в секцию "Параметры". Рефакторинг!
Запрос.УстановитьПараметр(Условие.ИмяПараметра, Условие.Значение);
КонецЦикла;
КонецЕсли;

View File

@@ -2,7 +2,7 @@
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.18">
<CommonModule uuid="64cc4f13-8ea3-43e0-b530-031a569bfcd0">
<Properties>
<Name>СЗ_ПроцессорыСхемЗапросаСлужебныйВызовСервера</Name>
<Name>СхПроцессорыСхемЗапросаСлужебныйВызовСервера</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>

View File

@@ -2,14 +2,14 @@
#Область ПрограммныйИнтерфейс
Функция ПолучитьТаблицуЗначений(СтруктураСхемыЗапроса) Экспорт
ТаблицаЗначений = СЗ_ПроцессорыСхемЗапросаСлужебный
ТаблицаЗначений = СхПроцессорыСхемЗапросаСлужебный
.ПолучитьРезультатЗапроса(СтруктураСхемыЗапроса)
.Выгрузить();
Возврат ПреобразоватьТаблицуЗначенийВМассивСтруктур(ТаблицаЗначений);
КонецФункции
Функция ПолучитьМассив(СтруктураСхемыЗапроса, ИмяКолонки) Экспорт
Возврат СЗ_ПроцессорыСхемЗапросаСлужебный
Возврат СхПроцессорыСхемЗапросаСлужебный
.ПолучитьРезультатЗапроса(СтруктураСхемыЗапроса)
.Выгрузить()
.ВыгрузитьКолонку(ИмяКолонки);

View File

@@ -2,11 +2,11 @@
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.18">
<CommonModule uuid="a7341127-4ed0-44b9-b3b2-007ae8f263dc">
<Properties>
<Name>СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер</Name>
<Name>СхПроцессорыСхемЗапросаСлужебныйКлиентСервер</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Схема запроса: процессоры схем запроса служебный клиент сервер</v8:content>
<v8:content>Схема запроса: процессоры схем запроса (служебный) клиент-сервер</v8:content>
</v8:item>
</Synonym>
<Comment/>

View File

@@ -79,7 +79,7 @@
Процедура УстановитьУсловие(СхемаЗапроса, Предикат) Экспорт
СхемаЗапроса.Вставить("Условия", ПолучитьУсловияОтбора(Предикат));
СхемаЗапроса.Вставить("Условия", ПолучитьУсловияОтбора(СхемаЗапроса, Предикат));
КонецПроцедуры
@@ -213,10 +213,154 @@
Процедура УстановитьПараметры(СхемаЗапроса, Параметры) Экспорт
СхемаЗапроса.Вставить("Параметры", Параметры);
МассивПараметров = Новый Массив;
Если СхемаЗапроса.Свойство("Параметры") И ТипЗнч(СхемаЗапроса.Параметры) = Тип("Массив") Тогда
МассивПараметров = СхемаЗапроса.Параметры;
КонецЕсли;
Для каждого Параметр Из Параметры Цикл
МассивПараметров.Добавить(Параметр);
КонецЦикла;
СхемаЗапроса.Вставить("Параметры", МассивПараметров);
КонецПроцедуры
#Область Функции
Процедура УстановитьВыборКогда(СхемаЗапроса, Предикат, ЗначениеИстина, ЗначениеЛожь, Псевдоним) Экспорт
МассивПолей = Новый Массив;
Если СхемаЗапроса.Свойство("Поля") И ТипЗнч(СхемаЗапроса.Поля) = Тип("Массив") Тогда
МассивПолей = СхемаЗапроса.Поля;
КонецЕсли;
МассивПараметров = Новый Массив;
Если СхемаЗапроса.Свойство("Параметры") И ТипЗнч(СхемаЗапроса.Параметры) = Тип("Массив") Тогда
МассивПараметров = СхемаЗапроса.Параметры;
КонецЕсли;
Условия = ПолучитьУсловияОтбора(СхемаЗапроса, Предикат);
УсловиеСтрокой = "";
Для каждого Условие Из Условия Цикл
Если Не ПустаяСтрока(УсловиеСтрокой) Тогда
УсловиеСтрокой = УсловиеСтрокой + " И ";
КонецЕсли;
УсловиеСтрокой = УсловиеСтрокой + Условие.УсловиеСтрокой;
МассивПараметров.Добавить(Новый Структура("ИмяПараметра, Значение",
Условие.ИмяПараметра, Условие.Значение));
КонецЦикла;
ПриведенноеЗначениеИстина = ПривестиЗначение(ЗначениеИстина);
ПриведенноеЗначениеЛожь = ПривестиЗначение(ЗначениеЛожь);
ШаблонВыборКогда = "ВЫБОР
| КОГДА %1
| ТОГДА %2
| ИНАЧЕ %3
|КОНЕЦ";
МассивПолей.Добавить(Новый Структура("ИмяПоля, Источник, Псевдоним",
СтрШаблон(ШаблонВыборКогда, УсловиеСтрокой, ПриведенноеЗначениеИстина, ПриведенноеЗначениеЛожь),
Неопределено,
Псевдоним));
СхемаЗапроса.Вставить("Поля", МассивПолей);
СхемаЗапроса.Вставить("Параметры", МассивПараметров);
КонецПроцедуры
Процедура УстановитьКоличество(СхемаЗапроса, Поле) Экспорт
МассивПолей = Новый Массив;
Если СхемаЗапроса.Свойство("Поля") И ТипЗнч(СхемаЗапроса.Поля) = Тип("Массив") Тогда
МассивПолей = СхемаЗапроса.Поля;
КонецЕсли;
НовоеПоле = ПолучитьПоле(Поле);
НовоеПоле.ИмяПоля = СтрШаблон("КОЛИЧЕСТВО(%1)", НовоеПоле.ИмяПоля);
МассивПолей.Добавить(НовоеПоле);
СхемаЗапроса.Вставить("Поля", МассивПолей);
КонецПроцедуры
Процедура УстановитьСумму(СхемаЗапроса, Поле) Экспорт
МассивПолей = Новый Массив;
Если СхемаЗапроса.Свойство("Поля") И ТипЗнч(СхемаЗапроса.Поля) = Тип("Массив") Тогда
МассивПолей = СхемаЗапроса.Поля;
КонецЕсли;
НовоеПоле = ПолучитьПоле(Поле);
НовоеПоле.ИмяПоля = СтрШаблон("СУММА(%1)", НовоеПоле.ИмяПоля);
МассивПолей.Добавить(НовоеПоле);
СхемаЗапроса.Вставить("Поля", МассивПолей);
КонецПроцедуры
Процедура УстановитьМаксимум(СхемаЗапроса, Поле) Экспорт
МассивПолей = Новый Массив;
Если СхемаЗапроса.Свойство("Поля") И ТипЗнч(СхемаЗапроса.Поля) = Тип("Массив") Тогда
МассивПолей = СхемаЗапроса.Поля;
КонецЕсли;
НовоеПоле = ПолучитьПоле(Поле);
НовоеПоле.ИмяПоля = СтрШаблон("МАКСИМУМ(%1)", НовоеПоле.ИмяПоля);
МассивПолей.Добавить(НовоеПоле);
СхемаЗапроса.Вставить("Поля", МассивПолей);
КонецПроцедуры
Процедура УстановитьМинимум(СхемаЗапроса, Поле) Экспорт
МассивПолей = Новый Массив;
Если СхемаЗапроса.Свойство("Поля") И ТипЗнч(СхемаЗапроса.Поля) = Тип("Массив") Тогда
МассивПолей = СхемаЗапроса.Поля;
КонецЕсли;
НовоеПоле = ПолучитьПоле(Поле);
НовоеПоле.ИмяПоля = СтрШаблон("МИНИМУМ(%1)", НовоеПоле.ИмяПоля);
МассивПолей.Добавить(НовоеПоле);
СхемаЗапроса.Вставить("Поля", МассивПолей);
КонецПроцедуры
Процедура УстановитьВыразить(СхемаЗапроса, Поле, ОписаниеТипа, Псевдоним) Экспорт
МассивПолей = Новый Массив;
Если СхемаЗапроса.Свойство("Поля") И ТипЗнч(СхемаЗапроса.Поля) = Тип("Массив") Тогда
МассивПолей = СхемаЗапроса.Поля;
КонецЕсли;
НовоеПоле = ПолучитьПоле(Поле);
Если НовоеПоле.Источник = Неопределено Тогда
ШаблонВыражения = "ВЫРАЗИТЬ(%2 КАК %3)";
Иначе
ШаблонВыражения = "ВЫРАЗИТЬ(%1.%2 КАК %3)";
КонецЕсли;
НовоеПоле.ИмяПоля = СтрШаблон(ШаблонВыражения,
НовоеПоле.Источник,
НовоеПоле.ИмяПоля,
СхОбщегоНазначенийКлиентСервер.ПолучитьТипИзОписания(ОписаниеТипа));
Если ПустаяСтрока(НовоеПоле.Псевдоним) Тогда
НовоеПоле.Псевдоним = Псевдоним;
КонецЕсли;
МассивПолей.Добавить(НовоеПоле);
СхемаЗапроса.Вставить("Поля", МассивПолей);
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@@ -235,15 +379,38 @@
Функция ПолучитьПоле(Поле)
// TODO: Строки проверять на корректность синтаксиса - отсутствие пробелов и спец.символов
// TODO: Не функция, а какая-то жесть получилась. Рефакторить!
Если ТипЗнч(Поле) = Тип("Строка") Тогда
Если СтрНайти(Поле, " КАК ") > 0 Тогда
ИнформацияОПоле = СтрЗаменить(Поле, " КАК ", Символы.ПС);
Псевдоним = Прав(Поле, СтрДлина(Поле) - СтрНайти(Поле, " КАК ") - 4);
БезПсевдонима = Лев(Поле, СтрНайти(Поле, " КАК ") - 1);
Если СтрНайти(ВРег(Поле), "ВЫРАЗИТЬ(") > 0 Или
(СтрНайти(ВРег(Поле), "ВЫБОР") > 0 И
СтрНайти(ВРег(Поле), "КОГДА") > 0 И
СтрНайти(ВРег(Поле), "ТОГДА") > 0 И
СтрНайти(ВРег(Поле), "ИНАЧЕ") > 0 И
СтрНайти(ВРег(Поле), "КОНЕЦ") > 0) Тогда
Возврат Новый Структура("ИмяПоля, Источник, Псевдоним",
БезПсевдонима,
Неопределено,
Псевдоним);
КонецЕсли;
// Вырезаю поле из агрегатной функции
Если СтрНайти(БезПсевдонима, "(") > 0 И СтрНайти(БезПсевдонима, ")") > 0 Тогда
БезПсевдонима = Сред(БезПсевдонима,
СтрНайти(БезПсевдонима, "(") + 1,
СтрНайти(БезПсевдонима, ")") - СтрНайти(БезПсевдонима, "(") - 1);
КонецЕсли;
Возврат Новый Структура("ИмяПоля, Источник, Псевдоним",
ПолучитьИмяПоляБезИсточника(СтрПолучитьСтроку(ИнформацияОПоле, 1)),
ПолучитьИсточникИзИмениПоля(Поле),
СтрПолучитьСтроку(ИнформацияОПоле, 2));
ПолучитьИмяПоляБезИсточника(БезПсевдонима),
ПолучитьИсточникИзИмениПоля(БезПсевдонима),
Псевдоним);
КонецЕсли;
Возврат Новый Структура("ИмяПоля, Источник, Псевдоним",
@@ -309,12 +476,14 @@
КонецФункции
Функция ПолучитьУсловияОтбора(Предикат)
// TODO: Нумерация (Сч) сквозная через все запросы
Функция ПолучитьУсловияОтбора(СхемаЗапроса, Предикат)
МассивУсловий = Новый Массив;
Сч = 0;
Если СхемаЗапроса.Свойство("СчетчикПараметров") И ТипЗнч(СхемаЗапроса.СчетчикПараметров) = Тип("Число") Тогда
Сч = СхемаЗапроса.СчетчикПараметров;
Иначе
Сч = 0;
КонецЕсли;
Для каждого Условие Из Предикат.Условия Цикл
ИмяПараметра = СтрШаблон("Параметр_%1", Сч);
@@ -342,6 +511,8 @@
Сч = Сч + 1;
КонецЦикла;
СхемаЗапроса.Вставить("СчетчикПараметров", Сч);
Возврат МассивУсловий;
КонецФункции
@@ -368,7 +539,7 @@
Функция ШаблонУсловия(ВидСравнения, Амперсанд = Истина)
Выражения = СЗ_ПроцессорыПредикатовКлиентСервер.Выражения();
Выражения = СхПроцессорыПредикатовКлиентСервер.Выражения();
Если ВидСравнения = Выражения.Равно Тогда
Шаблон = "%1 = " + ?(Амперсанд, "&", "") + "%2";
@@ -415,4 +586,22 @@
КонецФункции
Функция ПолучитьСтруктуруФункции()
Возврат Новый Структура("Функция, Параметры");
КонецФункции
Функция ПривестиЗначение(Значение)
Если ТипЗнч(Значение) = Тип("Число") Тогда
Возврат Формат(Значение, "ЧН=; ЧГ=0");
ИначеЕсли ТипЗнч(Значение) = Тип("Строка") Тогда
Возврат СтрШаблон("""%1""", Значение);
КонецЕсли;
ВызватьИсключение "ПривестиЗначение: значение неизвестного типа";
КонецФункции
#КонецОбласти

View File

@@ -1,43 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?>
<ConfigDumpInfo xmlns="http://v8.1c.ru/8.3/xcf/dumpinfo" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" format="Hierarchical" version="2.18">
<ConfigVersions>
<Metadata name="CommonModule.СЗ_Запрос" id="5f1605a0-4e63-4339-b2cc-44e115be6ed7" configVersion="e2743c37ca1c317bbd7deb62473bdb9c92ce4b3b"/>
<Metadata name="CommonModule.СЗ_Запрос.Module" id="5f1605a0-4e63-4339-b2cc-44e115be6ed7.0" configVersion="2d2c622caa84ff141251af599ce106105240ac02"/>
<Metadata name="CommonModule.СЗ_ЗапросТест" id="52ab0c6f-4fa1-4913-b37e-460ab1e44314" configVersion="01955255914f2f02da26b7a05ec1ffe713f168e1"/>
<Metadata name="CommonModule.СЗ_ЗапросТест.Module" id="52ab0c6f-4fa1-4913-b37e-460ab1e44314.0" configVersion="90970161bc2ad87328b3dab31879b1a1934655a9"/>
<Metadata name="CommonModule.СЗ_ЗапросТестКлиент" id="b37c9dfc-97f9-419e-aef2-d1598bd7f793" configVersion="5359322a8c19378b2e3c1b14d2a9391855efe7df"/>
<Metadata name="CommonModule.СЗ_ЗапросТестКлиент.Module" id="b37c9dfc-97f9-419e-aef2-d1598bd7f793.0" configVersion="9effdd33214bfa0c3b4416e435ed56e6bebeaa5a"/>
<Metadata name="CommonModule.СЗ_ЗапросТестСлужебныйВызовСервера" id="fd18e525-b216-4cbe-9e5b-3f44fcf6fcf2" configVersion="e712d7406cf41efebb6cb460b71efc934d7fda79"/>
<Metadata name="CommonModule.СЗ_ЗапросТестСлужебныйВызовСервера.Module" id="fd18e525-b216-4cbe-9e5b-3f44fcf6fcf2.0" configVersion="2996bad07721c51263093d0143fd261dacf6a7e8"/>
<Metadata name="CommonModule.СЗ_ПроцессорыПредикатовКлиентСервер" id="407489b2-2f4b-467b-9594-621de146e468" configVersion="d0e776fe2161eadb117e389e6d86e40d8f7927fc"/>
<Metadata name="CommonModule.СЗ_ПроцессорыПредикатовКлиентСервер.Module" id="407489b2-2f4b-467b-9594-621de146e468.0" configVersion="fb94599ea596770fca7e3dd00307a498b92e68e6"/>
<Metadata name="CommonModule.СЗ_ПроцессорыПредикатовСлужебныйКлиентСервер" id="19b0625e-9f74-4fba-9350-914066ae1034" configVersion="97824f99f8fe96dacf2d8271e35b6b11a89a7f4f"/>
<Metadata name="CommonModule.СЗ_ПроцессорыПредикатовСлужебныйКлиентСервер.Module" id="19b0625e-9f74-4fba-9350-914066ae1034.0" configVersion="cbc9286be5a8856562683b5770cf54b15dd8fba3"/>
<Metadata name="CommonModule.СЗ_ПроцессорыСхемЗапросаКлиентСервер" id="a3e5bf50-2154-477f-9355-29b0930a73c5" configVersion="0a1d47680d6c53bcec9c7b566903a863ce26bf77"/>
<Metadata name="CommonModule.СЗ_ПроцессорыСхемЗапросаКлиентСервер.Module" id="a3e5bf50-2154-477f-9355-29b0930a73c5.0" configVersion="549fad0d337d4f6e1888453356a6baefa249ed3b"/>
<Metadata name="CommonModule.СЗ_ПроцессорыСхемЗапросаСлужебный" id="fd5aeea0-9a03-452d-ba1e-81c816846c6c" configVersion="77f2ed6a2d9924e64f836b9a16c0664b4a5a38e8"/>
<Metadata name="CommonModule.СЗ_ПроцессорыСхемЗапросаСлужебный.Module" id="fd5aeea0-9a03-452d-ba1e-81c816846c6c.0" configVersion="f790a5b56fc31af89af7965da9647d753c06893d"/>
<Metadata name="CommonModule.СЗ_ПроцессорыСхемЗапросаСлужебныйВызовСервера" id="64cc4f13-8ea3-43e0-b530-031a569bfcd0" configVersion="de76e252360ff40f9368c1eec2d95d3aa03b14e7"/>
<Metadata name="CommonModule.СЗ_ПроцессорыСхемЗапросаСлужебныйВызовСервера.Module" id="64cc4f13-8ea3-43e0-b530-031a569bfcd0.0" configVersion="d1a3621279ecd64374af1122b787e190dbc22c00"/>
<Metadata name="CommonModule.СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер" id="a7341127-4ed0-44b9-b3b2-007ae8f263dc" configVersion="8a27beba3300dacb51abfc0f6b4c8711bb7b0b06"/>
<Metadata name="CommonModule.СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер.Module" id="a7341127-4ed0-44b9-b3b2-007ae8f263dc.0" configVersion="020919068a3ae0c75c8f2505ae82fb4d144c6b9e"/>
<Metadata name="CommonModule.СхЗапрос" id="5f1605a0-4e63-4339-b2cc-44e115be6ed7" configVersion="0f166080406b4803d2bed7934bfc40812f1abe1b"/>
<Metadata name="CommonModule.СхЗапрос.Module" id="5f1605a0-4e63-4339-b2cc-44e115be6ed7.0" configVersion="cadb56f56e948833a14dfc1e5588b4985420427b"/>
<Metadata name="CommonModule.СхЗапросТест" id="52ab0c6f-4fa1-4913-b37e-460ab1e44314" configVersion="e4cd1d3ae5b3dfc796a93963e27ac1808ac21bcc"/>
<Metadata name="CommonModule.СхЗапросТест.Module" id="52ab0c6f-4fa1-4913-b37e-460ab1e44314.0" configVersion="ead991640c2583e96d7950d80f10fe68f5f02cdc"/>
<Metadata name="CommonModule.СхЗапросТестКлиент" id="b37c9dfc-97f9-419e-aef2-d1598bd7f793" configVersion="abddeb6317bbb90599f5d3a6800d916974d522b9"/>
<Metadata name="CommonModule.СхЗапросТестКлиент.Module" id="b37c9dfc-97f9-419e-aef2-d1598bd7f793.0" configVersion="0f4d03e494116e0a169ac79a89449bc6fe8b680c"/>
<Metadata name="CommonModule.СхЗапросТестСлужебныйВызовСервера" id="fd18e525-b216-4cbe-9e5b-3f44fcf6fcf2" configVersion="eb43fe5ee123d7869a0578d44bd110f4e29ed798"/>
<Metadata name="CommonModule.СхЗапросТестСлужебныйВызовСервера.Module" id="fd18e525-b216-4cbe-9e5b-3f44fcf6fcf2.0" configVersion="e6a50bf7d3b4661197d11e0031a81a0c411be09b"/>
<Metadata name="CommonModule.СхОбщегоНазначенийКлиентСервер" id="54eb4132-1b61-4d01-ba96-ff4bfe65f6f8" configVersion="f0ddd8cc8c3ab867a2416783d887754c13bd55fc"/>
<Metadata name="CommonModule.СхОбщегоНазначенийКлиентСервер.Module" id="54eb4132-1b61-4d01-ba96-ff4bfe65f6f8.0" configVersion="82370929e314ec3d1e0e23f467f2d9dde948a99d"/>
<Metadata name="CommonModule.СхПроцессорыПредикатовКлиентСервер" id="407489b2-2f4b-467b-9594-621de146e468" configVersion="375a4cad162b05500d054bbc6a6b2eb5c3c17a89"/>
<Metadata name="CommonModule.СхПроцессорыПредикатовКлиентСервер.Module" id="407489b2-2f4b-467b-9594-621de146e468.0" configVersion="08673b19374f9a17b5f923c53925186c20107924"/>
<Metadata name="CommonModule.СхПроцессорыПредикатовСлужебныйКлиентСервер" id="19b0625e-9f74-4fba-9350-914066ae1034" configVersion="cea811bfa991650b7bd13624fbc5b68375f054c1"/>
<Metadata name="CommonModule.СхПроцессорыПредикатовСлужебныйКлиентСервер.Module" id="19b0625e-9f74-4fba-9350-914066ae1034.0" configVersion="70057051b2459ccacd30c8b668e219f05c0a7476"/>
<Metadata name="CommonModule.СхПроцессорыСхемЗапросаКлиентСервер" id="a3e5bf50-2154-477f-9355-29b0930a73c5" configVersion="d5dc79a29726742dd44754fd1200ed961e5eb47b"/>
<Metadata name="CommonModule.СхПроцессорыСхемЗапросаКлиентСервер.Module" id="a3e5bf50-2154-477f-9355-29b0930a73c5.0" configVersion="0dd0df1608449960758e6e58dd0c3ac8a20a1610"/>
<Metadata name="CommonModule.СхПроцессорыСхемЗапросаСлужебный" id="fd5aeea0-9a03-452d-ba1e-81c816846c6c" configVersion="f8a3be5d8b2e88a3c91aef9302812d9a7843318c"/>
<Metadata name="CommonModule.СхПроцессорыСхемЗапросаСлужебный.Module" id="fd5aeea0-9a03-452d-ba1e-81c816846c6c.0" configVersion="01602b4239886aefd28910c38e45db2d9e311bd4"/>
<Metadata name="CommonModule.СхПроцессорыСхемЗапросаСлужебныйВызовСервера" id="64cc4f13-8ea3-43e0-b530-031a569bfcd0" configVersion="8b8a36d52a3c70f6411516282dff44b50709d582"/>
<Metadata name="CommonModule.СхПроцессорыСхемЗапросаСлужебныйВызовСервера.Module" id="64cc4f13-8ea3-43e0-b530-031a569bfcd0.0" configVersion="096fe94ceada3bba6c783107320609d74a183f00"/>
<Metadata name="CommonModule.СхПроцессорыСхемЗапросаСлужебныйКлиентСервер" id="a7341127-4ed0-44b9-b3b2-007ae8f263dc" configVersion="9ce268ec45c272677facf5c52c5cb09d018d6089"/>
<Metadata name="CommonModule.СхПроцессорыСхемЗапросаСлужебныйКлиентСервер.Module" id="a7341127-4ed0-44b9-b3b2-007ae8f263dc.0" configVersion="9b7bdef1361fe597e1b781a741fb4cf06b7f8984"/>
<Metadata name="CommonPicture.СЗ_Логотип" id="1f46f9f5-7948-4684-80f5-f809aace3848" configVersion="1cd842efa6dbeed87c4bd770ba9fdfea3ffc73c0"/>
<Metadata name="CommonPicture.СЗ_Логотип.Picture" id="1f46f9f5-7948-4684-80f5-f809aace3848.0" configVersion="09958a054a92dc27b186eb0ab627d11bade1f015"/>
<Metadata name="Configuration.СхемаЗапроса" id="727bc241-bb6d-418f-b908-1102fbf1bc00" configVersion="cdeb55e8bf69553cdbd1cbf6ab2ab4c2cc585136"/>
<Metadata name="DataProcessor.СЗ_КонсольФункциональныхЗапросов" id="67397753-24bc-416c-9dc1-5fe9545ad4b2" configVersion="171dea8f1f823da789fdb06cae08e40365231b49"/>
<Metadata name="DataProcessor.СЗ_КонсольФункциональныхЗапросов.Form.Форма" id="1f613bcb-34f1-4755-8c5b-734e99a89a03" configVersion="aedcf955fb9b922c1fd72335bb59d9b931015e58"/>
<Metadata name="DataProcessor.СЗ_КонсольФункциональныхЗапросов.Form.Форма.Form" id="1f613bcb-34f1-4755-8c5b-734e99a89a03.0" configVersion="ed93a31df2cc47c65da51be82b3b052f1f6b94e2"/>
<Metadata name="DataProcessor.СЗ_ПроцессорПредикатов" id="12d6eb41-70d9-4802-8fde-b6464e23bf0b" configVersion="77365f9ddbe5c04b263b27bebf9b835126f30f67"/>
<Metadata name="DataProcessor.СЗ_ПроцессорПредикатов.Form.Форма" id="9ab75485-6c0a-4548-b3cb-fab32ccd351d" configVersion="12570426f46bd4a3dbb5f4c3b28a92c6db858ede"/>
<Metadata name="DataProcessor.СЗ_ПроцессорПредикатов.Form.Форма.Form" id="9ab75485-6c0a-4548-b3cb-fab32ccd351d.0" configVersion="2ea90d47439f8f3c9f8eaac893840956ce11928b"/>
<Metadata name="DataProcessor.СЗ_ПроцессорПредикатов.ObjectModule" id="12d6eb41-70d9-4802-8fde-b6464e23bf0b.0" configVersion="1516d1c432d0edc4aaa776e1bea67d3a47f6523f"/>
<Metadata name="DataProcessor.СЗ_ПроцессорСхемЗапроса" id="7008c53a-3e8a-4432-bff6-500c4145bab5" configVersion="dd57e1686ab74914b294900633b6e9245facc435"/>
<Metadata name="DataProcessor.СЗ_ПроцессорСхемЗапроса.Form.Форма" id="04cd8a25-c99d-4da9-ac0f-5703574d079f" configVersion="f910d6e757792c7cdd2137a7213495bba1da1300"/>
<Metadata name="DataProcessor.СЗ_ПроцессорСхемЗапроса.Form.Форма.Form" id="04cd8a25-c99d-4da9-ac0f-5703574d079f.0" configVersion="ceba4f9abadf6c05af769406280f0ed87132ceb4"/>
<Metadata name="DataProcessor.СЗ_ПроцессорСхемЗапроса.ObjectModule" id="7008c53a-3e8a-4432-bff6-500c4145bab5.0" configVersion="dfa31660d4a70cc120454a237f9ee21b37d835d9"/>
<Metadata name="Configuration.СхемаЗапроса" id="727bc241-bb6d-418f-b908-1102fbf1bc00" configVersion="3ff15ae99b006940a3d718ecf86f9c166f1ff52a"/>
<Metadata name="DataProcessor.СхКонсольФункциональныхЗапросов" id="67397753-24bc-416c-9dc1-5fe9545ad4b2" configVersion="d1a6eb3b0f8a2146c0b618c5edcc7ee007a7e801"/>
<Metadata name="DataProcessor.СхКонсольФункциональныхЗапросов.Form.Форма" id="1f613bcb-34f1-4755-8c5b-734e99a89a03" configVersion="aedcf955fb9b922c1fd72335bb59d9b931015e58"/>
<Metadata name="DataProcessor.СхКонсольФункциональныхЗапросов.Form.Форма.Form" id="1f613bcb-34f1-4755-8c5b-734e99a89a03.0" configVersion="7c260ad6a11cea96ce61809459a0433bc7815ad1"/>
<Metadata name="DataProcessor.СхПроцессорПредикатов" id="12d6eb41-70d9-4802-8fde-b6464e23bf0b" configVersion="4954bfbfc6b8922ac7373146041de0e8311b766a"/>
<Metadata name="DataProcessor.СхПроцессорПредикатов.Form.Форма" id="9ab75485-6c0a-4548-b3cb-fab32ccd351d" configVersion="12570426f46bd4a3dbb5f4c3b28a92c6db858ede"/>
<Metadata name="DataProcessor.СхПроцессорПредикатов.Form.Форма.Form" id="9ab75485-6c0a-4548-b3cb-fab32ccd351d.0" configVersion="4db6c0d580bf590f3e886c39f9abb7e15029e979"/>
<Metadata name="DataProcessor.СхПроцессорПредикатов.ObjectModule" id="12d6eb41-70d9-4802-8fde-b6464e23bf0b.0" configVersion="544105e6c8ffbdc2120979764205590420377a16"/>
<Metadata name="DataProcessor.СхПроцессорСхемЗапроса" id="7008c53a-3e8a-4432-bff6-500c4145bab5" configVersion="78983226bff2a80bc78dd6a1c83023079ccf2a1a"/>
<Metadata name="DataProcessor.СхПроцессорСхемЗапроса.Form.Форма" id="04cd8a25-c99d-4da9-ac0f-5703574d079f" configVersion="f910d6e757792c7cdd2137a7213495bba1da1300"/>
<Metadata name="DataProcessor.СхПроцессорСхемЗапроса.Form.Форма.Form" id="04cd8a25-c99d-4da9-ac0f-5703574d079f.0" configVersion="929a1f8363b66e10c17e7b0c9b0bc4c5b2b374d3"/>
<Metadata name="DataProcessor.СхПроцессорСхемЗапроса.ObjectModule" id="7008c53a-3e8a-4432-bff6-500c4145bab5.0" configVersion="d24fca2c93d620a13f2b287e70d3c4325ce07a0a"/>
<Metadata name="Language.Русский" id="390892dc-e75e-45a4-b708-a02f7f2dee5a" configVersion="d36425ed50ec1003a922942173f639c4f459684c"/>
<Metadata name="Subsystem.СЗ_Обработки" id="d4e271af-1ead-4743-afb5-9c2aa77055ae" configVersion="4706428f4c44e863ecd0652dc681dab80258cd41"/>
<Metadata name="Subsystem.СЗ_Основная" id="a09dece7-9d83-44cb-8463-270875de13d2" configVersion="9c0d5ea3be648246d696789b6fbcc298d59ca152"/>
<Metadata name="Subsystem.СЗ_Тестирование" id="7f3d60db-f984-4399-8d25-86d89b3d3c96" configVersion="504297decc442197b0fdfb5e0c7f8efa146308ef"/>
<Metadata name="Subsystem.СхОбработки" id="d4e271af-1ead-4743-afb5-9c2aa77055ae" configVersion="f110e9f462bd7349a8a18b57db698a5cb4198d4e"/>
<Metadata name="Subsystem.СхОсновная" id="a09dece7-9d83-44cb-8463-270875de13d2" configVersion="03c18be8084556de42a54ad0474bdd4db01862e8"/>
<Metadata name="Subsystem.СхТестирование" id="7f3d60db-f984-4399-8d25-86d89b3d3c96" configVersion="c63518a40af40746734185a227b92268f04de507"/>
</ConfigVersions>
</ConfigDumpInfo>

View File

@@ -43,11 +43,11 @@
<Comment/>
<ConfigurationExtensionPurpose>AddOn</ConfigurationExtensionPurpose>
<KeepMappingToExtendedConfigurationObjectsByIDs>true</KeepMappingToExtendedConfigurationObjectsByIDs>
<NamePrefix>СЗ_</NamePrefix>
<NamePrefix>Сх</NamePrefix>
<ConfigurationExtensionCompatibilityMode>Version8_3_9</ConfigurationExtensionCompatibilityMode>
<ScriptVariant>Russian</ScriptVariant>
<Vendor/>
<Version>0.0.2</Version>
<Version>0.0.3</Version>
<BriefInformation/>
<DetailedInformation/>
<Copyright/>
@@ -57,23 +57,24 @@
</Properties>
<ChildObjects>
<Language>Русский</Language>
<Subsystem>СЗ_Основная</Subsystem>
<Subsystem>СЗ_Тестирование</Subsystem>
<Subsystem>СЗ_Обработки</Subsystem>
<Subsystem>СхОсновная</Subsystem>
<Subsystem>СхТестирование</Subsystem>
<Subsystem>СхОбработки</Subsystem>
<CommonPicture>СЗ_Логотип</CommonPicture>
<CommonModule>СЗ_Запрос</CommonModule>
<CommonModule>СЗ_ЗапросТест</CommonModule>
<CommonModule>СЗ_ЗапросТестКлиент</CommonModule>
<CommonModule>СЗ_ЗапросТестСлужебныйВызовСервера</CommonModule>
<CommonModule>СЗ_ПроцессорыПредикатовКлиентСервер</CommonModule>
<CommonModule>СЗ_ПроцессорыПредикатовСлужебныйКлиентСервер</CommonModule>
<CommonModule>СЗ_ПроцессорыСхемЗапросаКлиентСервер</CommonModule>
<CommonModule>СЗ_ПроцессорыСхемЗапросаСлужебный</CommonModule>
<CommonModule>СЗ_ПроцессорыСхемЗапросаСлужебныйВызовСервера</CommonModule>
<CommonModule>СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер</CommonModule>
<DataProcessor>СЗ_КонсольФункциональныхЗапросов</DataProcessor>
<DataProcessor>СЗ_ПроцессорПредикатов</DataProcessor>
<DataProcessor>СЗ_ПроцессорСхемЗапроса</DataProcessor>
<CommonModule>СхЗапрос</CommonModule>
<CommonModule>СхЗапросТест</CommonModule>
<CommonModule>СхЗапросТестКлиент</CommonModule>
<CommonModule>СхЗапросТестСлужебныйВызовСервера</CommonModule>
<CommonModule>СхОбщегоНазначенийКлиентСервер</CommonModule>
<CommonModule>СхПроцессорыПредикатовКлиентСервер</CommonModule>
<CommonModule>СхПроцессорыПредикатовСлужебныйКлиентСервер</CommonModule>
<CommonModule>СхПроцессорыСхемЗапросаКлиентСервер</CommonModule>
<CommonModule>СхПроцессорыСхемЗапросаСлужебный</CommonModule>
<CommonModule>СхПроцессорыСхемЗапросаСлужебныйВызовСервера</CommonModule>
<CommonModule>СхПроцессорыСхемЗапросаСлужебныйКлиентСервер</CommonModule>
<DataProcessor>СхКонсольФункциональныхЗапросов</DataProcessor>
<DataProcessor>СхПроцессорПредикатов</DataProcessor>
<DataProcessor>СхПроцессорСхемЗапроса</DataProcessor>
</ChildObjects>
</Configuration>
</MetaDataObject>

View File

@@ -1,81 +0,0 @@
#Область ОписаниеПеременных
Перем Предикат;
#КонецОбласти
#Область ПрограммныйИнтерфейс
Функция Реквизит(ИмяРеквизита) Экспорт
СЗ_ПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьИмяРеквизита(Предикат, ИмяРеквизита);
Возврат ЭтотОбъект;
КонецФункции
Функция Равно(Значение) Экспорт
СЗ_ПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьПредикат(Предикат,
СЗ_ПроцессорыПредикатовКлиентСервер.Выражения().Равно, Значение);
Возврат ЭтотОбъект;
КонецФункции
Функция НеРавно(Значение) Экспорт
СЗ_ПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьПредикат(Предикат,
СЗ_ПроцессорыПредикатовКлиентСервер.Выражения().НеРавно, Значение);
Возврат ЭтотОбъект;
КонецФункции
Функция Больше(Значение) Экспорт
СЗ_ПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьПредикат(Предикат,
СЗ_ПроцессорыПредикатовКлиентСервер.Выражения().Больше, Значение);
Возврат ЭтотОбъект;
КонецФункции
Функция Меньше(Значение) Экспорт
СЗ_ПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьПредикат(Предикат,
СЗ_ПроцессорыПредикатовКлиентСервер.Выражения().Меньше, Значение);
Возврат ЭтотОбъект;
КонецФункции
Функция ВСписке(Значение) Экспорт
СЗ_ПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьПредикат(Предикат,
СЗ_ПроцессорыПредикатовКлиентСервер.Выражения().ВСписке, Значение);
Возврат ЭтотОбъект;
КонецФункции
Функция НеВСписке(Значение) Экспорт
СЗ_ПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьПредикат(Предикат,
СЗ_ПроцессорыПредикатовКлиентСервер.Выражения().НеВСписке, Значение);
Возврат ЭтотОбъект;
КонецФункции
Функция Подобно(Значение) Экспорт
СЗ_ПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьПредикат(Предикат,
СЗ_ПроцессорыПредикатовКлиентСервер.Выражения().Подобно, Значение);
Возврат ЭтотОбъект;
КонецФункции
Функция НеПодобно(Значение) Экспорт
СЗ_ПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьПредикат(Предикат,
СЗ_ПроцессорыПредикатовКлиентСервер.Выражения().НеПодобно, Значение);
Возврат ЭтотОбъект;
КонецФункции
Функция Между(НачалоИнтервала, ОкончаниеИнтервала) Экспорт
Значения = Новый Массив;
Значения.Добавить(НачалоИнтервала);
Значения.Добавить(ОкончаниеИнтервала);
СЗ_ПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьПредикат(Предикат,
СЗ_ПроцессорыПредикатовКлиентСервер.Выражения().Между, Значения);
Возврат ЭтотОбъект;
КонецФункции
Функция Получить() Экспорт
Возврат Предикат;
КонецФункции
#КонецОбласти

View File

@@ -1,93 +0,0 @@
#Область ОписаниеПеременных
&НаКлиенте
Перем Предикат;
#КонецОбласти
#Область ПрограммныйИнтерфейс
&НаКлиенте
Функция Реквизит(ИмяРеквизита) Экспорт
СЗ_ПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьИмяРеквизита(Предикат, ИмяРеквизита);
Возврат ЭтотОбъект;
КонецФункции
&НаКлиенте
Функция Равно(Значение) Экспорт
СЗ_ПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьПредикат(Предикат,
СЗ_ПроцессорыПредикатовКлиентСервер.Выражения().Равно, Значение);
Возврат ЭтотОбъект;
КонецФункции
&НаКлиенте
Функция НеРавно(Значение) Экспорт
СЗ_ПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьПредикат(Предикат,
СЗ_ПроцессорыПредикатовКлиентСервер.Выражения().НеРавно, Значение);
Возврат ЭтотОбъект;
КонецФункции
&НаКлиенте
Функция Больше(Значение) Экспорт
СЗ_ПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьПредикат(Предикат,
СЗ_ПроцессорыПредикатовКлиентСервер.Выражения().Больше, Значение);
Возврат ЭтотОбъект;
КонецФункции
&НаКлиенте
Функция Меньше(Значение) Экспорт
СЗ_ПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьПредикат(Предикат,
СЗ_ПроцессорыПредикатовКлиентСервер.Выражения().Меньше, Значение);
Возврат ЭтотОбъект;
КонецФункции
&НаКлиенте
Функция ВСписке(Значение) Экспорт
СЗ_ПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьПредикат(Предикат,
СЗ_ПроцессорыПредикатовКлиентСервер.Выражения().ВСписке, Значение);
Возврат ЭтотОбъект;
КонецФункции
&НаКлиенте
Функция НеВСписке(Значение) Экспорт
СЗ_ПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьПредикат(Предикат,
СЗ_ПроцессорыПредикатовКлиентСервер.Выражения().НеВСписке, Значение);
Возврат ЭтотОбъект;
КонецФункции
&НаКлиенте
Функция Подобно(Значение) Экспорт
СЗ_ПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьПредикат(Предикат,
СЗ_ПроцессорыПредикатовКлиентСервер.Выражения().Подобно, Значение);
Возврат ЭтотОбъект;
КонецФункции
&НаКлиенте
Функция НеПодобно(Значение) Экспорт
СЗ_ПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьПредикат(Предикат,
СЗ_ПроцессорыПредикатовКлиентСервер.Выражения().НеПодобно, Значение);
Возврат ЭтотОбъект;
КонецФункции
&НаКлиенте
Функция Между(НачалоИнтервала, ОкончаниеИнтервала) Экспорт
Значения = Новый Массив;
Значения.Добавить(НачалоИнтервала);
Значения.Добавить(ОкончаниеИнтервала);
СЗ_ПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьПредикат(Предикат,
СЗ_ПроцессорыПредикатовКлиентСервер.Выражения().Между, Значения);
Возврат ЭтотОбъект;
КонецФункции
&НаКлиенте
Функция Получить() Экспорт
Возврат Предикат;
КонецФункции
#КонецОбласти

View File

@@ -2,17 +2,17 @@
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.18">
<DataProcessor uuid="67397753-24bc-416c-9dc1-5fe9545ad4b2">
<InternalInfo>
<xr:GeneratedType name="DataProcessorObject.СЗ_КонсольФункциональныхЗапросов" category="Object">
<xr:GeneratedType name="DataProcessorObject.СхКонсольФункциональныхЗапросов" category="Object">
<xr:TypeId>753bd0b9-4226-48e3-8c11-7e4ccd8b855f</xr:TypeId>
<xr:ValueId>f4b06689-126e-4582-aeac-b95c903df7d2</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="DataProcessorManager.СЗ_КонсольФункциональныхЗапросов" category="Manager">
<xr:GeneratedType name="DataProcessorManager.СхКонсольФункциональныхЗапросов" category="Manager">
<xr:TypeId>0f1adcf6-806a-42a0-8faf-9af5630de7cb</xr:TypeId>
<xr:ValueId>0c6ccdb3-b8e4-4310-9e98-fff187850b11</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>СЗ_КонсольФункциональныхЗапросов</Name>
<Name>СхКонсольФункциональныхЗапросов</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
@@ -21,7 +21,7 @@
</Synonym>
<Comment/>
<UseStandardCommands>true</UseStandardCommands>
<DefaultForm>DataProcessor.СЗ_КонсольФункциональныхЗапросов.Form.Форма</DefaultForm>
<DefaultForm>DataProcessor.СхКонсольФункциональныхЗапросов.Form.Форма</DefaultForm>
<AuxiliaryForm/>
<IncludeHelpInContents>false</IncludeHelpInContents>
<ExtendedPresentation/>

View File

@@ -48,7 +48,7 @@
<Attributes>
<Attribute name="Объект" id="1">
<Type>
<v8:Type>cfg:DataProcessorObject.СЗ_КонсольФункциональныхЗапросов</v8:Type>
<v8:Type>cfg:DataProcessorObject.СхКонсольФункциональныхЗапросов</v8:Type>
</Type>
<MainAttribute>true</MainAttribute>
</Attribute>

View File

@@ -73,7 +73,7 @@
Оператор = ПакетЗапроса.Операторы[0];
МассивСтрокЗапроса = Новый Массив;
МассивСтрокЗапроса.Добавить(СтрШаблон("СЗ_Запрос.НовыйЗапрос(""%1"")",
МассивСтрокЗапроса.Добавить(СтрШаблон("СхЗапрос.НовыйЗапрос(""%1"")",
Оператор.Источники[0].Источник.ИмяТаблицы));
СтрокаПолей = ПолучитьПоля(ПакетЗапроса);
@@ -83,7 +83,7 @@
СтрокаОтборов = ПолучитьОтборы();
Если Не ПустаяСтрока(СтрокаОтборов) Тогда
МассивСтрокЗапроса.Добавить(СтрШаблон(Символы.Таб + ".Где(СЗ_Запрос.Предикат()
МассивСтрокЗапроса.Добавить(СтрШаблон(Символы.Таб + ".Где(СхЗапрос.Предикат()
| %1)", СтрокаОтборов));
КонецЕсли;

View File

@@ -2,26 +2,26 @@
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.18">
<DataProcessor uuid="12d6eb41-70d9-4802-8fde-b6464e23bf0b">
<InternalInfo>
<xr:GeneratedType name="DataProcessorObject.СЗ_ПроцессорПредикатов" category="Object">
<xr:GeneratedType name="DataProcessorObject.СхПроцессорПредикатов" category="Object">
<xr:TypeId>20e56103-de11-460e-989e-38009e54630a</xr:TypeId>
<xr:ValueId>207e5e5e-fb17-43ad-959f-910b588f6d68</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="DataProcessorManager.СЗ_ПроцессорПредикатов" category="Manager">
<xr:GeneratedType name="DataProcessorManager.СхПроцессорПредикатов" category="Manager">
<xr:TypeId>e3602dbd-6e64-429f-99f4-b0c9a7b7102f</xr:TypeId>
<xr:ValueId>facb276b-1229-4f98-960f-86720e17c5c9</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>СЗ_ПроцессорПредикатов</Name>
<Name>СхПроцессорПредикатов</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>С з процессор предикатов</v8:content>
<v8:content>Сх процессор предикатов</v8:content>
</v8:item>
</Synonym>
<Comment/>
<UseStandardCommands>true</UseStandardCommands>
<DefaultForm>DataProcessor.СЗ_ПроцессорПредикатов.Form.Форма</DefaultForm>
<DefaultForm>DataProcessor.СхПроцессорПредикатов.Form.Форма</DefaultForm>
<AuxiliaryForm/>
<IncludeHelpInContents>false</IncludeHelpInContents>
<ExtendedPresentation/>

View File

@@ -0,0 +1,88 @@
#Область ОписаниеПеременных
Перем Предикат;
#КонецОбласти
#Область ПрограммныйИнтерфейс
Функция Реквизит(ИмяРеквизита) Экспорт
СхПроцессорыПредикатовСлужебныйКлиентСервер
.УстановитьИмяРеквизита(Предикат, ИмяРеквизита);
Возврат ЭтотОбъект;
КонецФункции
Функция РеквизитВыразить(ИмяРеквизита, ОписаниеТипа) Экспорт
СхПроцессорыПредикатовСлужебныйКлиентСервер
.УстановитьРеквизитВыразить(Предикат, ИмяРеквизита, ОписаниеТипа);
Возврат ЭтотОбъект;
КонецФункции
Функция Равно(Значение) Экспорт
СхПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьПредикат(Предикат,
СхПроцессорыПредикатовКлиентСервер.Выражения().Равно, Значение);
Возврат ЭтотОбъект;
КонецФункции
Функция НеРавно(Значение) Экспорт
СхПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьПредикат(Предикат,
СхПроцессорыПредикатовКлиентСервер.Выражения().НеРавно, Значение);
Возврат ЭтотОбъект;
КонецФункции
Функция Больше(Значение) Экспорт
СхПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьПредикат(Предикат,
СхПроцессорыПредикатовКлиентСервер.Выражения().Больше, Значение);
Возврат ЭтотОбъект;
КонецФункции
Функция Меньше(Значение) Экспорт
СхПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьПредикат(Предикат,
СхПроцессорыПредикатовКлиентСервер.Выражения().Меньше, Значение);
Возврат ЭтотОбъект;
КонецФункции
Функция ВСписке(Значение) Экспорт
СхПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьПредикат(Предикат,
СхПроцессорыПредикатовКлиентСервер.Выражения().ВСписке, Значение);
Возврат ЭтотОбъект;
КонецФункции
Функция НеВСписке(Значение) Экспорт
СхПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьПредикат(Предикат,
СхПроцессорыПредикатовКлиентСервер.Выражения().НеВСписке, Значение);
Возврат ЭтотОбъект;
КонецФункции
Функция Подобно(Значение) Экспорт
СхПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьПредикат(Предикат,
СхПроцессорыПредикатовКлиентСервер.Выражения().Подобно, Значение);
Возврат ЭтотОбъект;
КонецФункции
Функция НеПодобно(Значение) Экспорт
СхПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьПредикат(Предикат,
СхПроцессорыПредикатовКлиентСервер.Выражения().НеПодобно, Значение);
Возврат ЭтотОбъект;
КонецФункции
Функция Между(НачалоИнтервала, ОкончаниеИнтервала) Экспорт
Значения = Новый Массив;
Значения.Добавить(НачалоИнтервала);
Значения.Добавить(ОкончаниеИнтервала);
СхПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьПредикат(Предикат,
СхПроцессорыПредикатовКлиентСервер.Выражения().Между, Значения);
Возврат ЭтотОбъект;
КонецФункции
Функция Получить() Экспорт
Возврат Предикат;
КонецФункции
#КонецОбласти

View File

@@ -4,7 +4,7 @@
<Attributes>
<Attribute name="Объект" id="1">
<Type>
<v8:Type>cfg:DataProcessorObject.СЗ_ПроцессорПредикатов</v8:Type>
<v8:Type>cfg:DataProcessorObject.СхПроцессорПредикатов</v8:Type>
</Type>
<MainAttribute>true</MainAttribute>
</Attribute>

View File

@@ -0,0 +1,100 @@
#Область ОписаниеПеременных
&НаКлиенте
Перем Предикат;
#КонецОбласти
#Область ПрограммныйИнтерфейс
&НаКлиенте
Функция Реквизит(ИмяРеквизита) Экспорт
СхПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьИмяРеквизита(Предикат, ИмяРеквизита);
Возврат ЭтотОбъект;
КонецФункции
&НаКлиенте
Функция РеквизитВыразить(ИмяРеквизита, ОписаниеТипа) Экспорт
СхПроцессорыПредикатовСлужебныйКлиентСервер
.УстановитьРеквизитВыразить(Предикат, ИмяРеквизита, ОписаниеТипа);
Возврат ЭтотОбъект;
КонецФункции
&НаКлиенте
Функция Равно(Значение) Экспорт
СхПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьПредикат(Предикат,
СхПроцессорыПредикатовКлиентСервер.Выражения().Равно, Значение);
Возврат ЭтотОбъект;
КонецФункции
&НаКлиенте
Функция НеРавно(Значение) Экспорт
СхПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьПредикат(Предикат,
СхПроцессорыПредикатовКлиентСервер.Выражения().НеРавно, Значение);
Возврат ЭтотОбъект;
КонецФункции
&НаКлиенте
Функция Больше(Значение) Экспорт
СхПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьПредикат(Предикат,
СхПроцессорыПредикатовКлиентСервер.Выражения().Больше, Значение);
Возврат ЭтотОбъект;
КонецФункции
&НаКлиенте
Функция Меньше(Значение) Экспорт
СхПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьПредикат(Предикат,
СхПроцессорыПредикатовКлиентСервер.Выражения().Меньше, Значение);
Возврат ЭтотОбъект;
КонецФункции
&НаКлиенте
Функция ВСписке(Значение) Экспорт
СхПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьПредикат(Предикат,
СхПроцессорыПредикатовКлиентСервер.Выражения().ВСписке, Значение);
Возврат ЭтотОбъект;
КонецФункции
&НаКлиенте
Функция НеВСписке(Значение) Экспорт
СхПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьПредикат(Предикат,
СхПроцессорыПредикатовКлиентСервер.Выражения().НеВСписке, Значение);
Возврат ЭтотОбъект;
КонецФункции
&НаКлиенте
Функция Подобно(Значение) Экспорт
СхПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьПредикат(Предикат,
СхПроцессорыПредикатовКлиентСервер.Выражения().Подобно, Значение);
Возврат ЭтотОбъект;
КонецФункции
&НаКлиенте
Функция НеПодобно(Значение) Экспорт
СхПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьПредикат(Предикат,
СхПроцессорыПредикатовКлиентСервер.Выражения().НеПодобно, Значение);
Возврат ЭтотОбъект;
КонецФункции
&НаКлиенте
Функция Между(НачалоИнтервала, ОкончаниеИнтервала) Экспорт
Значения = Новый Массив;
Значения.Добавить(НачалоИнтервала);
Значения.Добавить(ОкончаниеИнтервала);
СхПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьПредикат(Предикат,
СхПроцессорыПредикатовКлиентСервер.Выражения().Между, Значения);
Возврат ЭтотОбъект;
КонецФункции
&НаКлиенте
Функция Получить() Экспорт
Возврат Предикат;
КонецФункции
#КонецОбласти

View File

@@ -2,17 +2,17 @@
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.18">
<DataProcessor uuid="7008c53a-3e8a-4432-bff6-500c4145bab5">
<InternalInfo>
<xr:GeneratedType name="DataProcessorObject.СЗ_ПроцессорСхемЗапроса" category="Object">
<xr:GeneratedType name="DataProcessorObject.СхПроцессорСхемЗапроса" category="Object">
<xr:TypeId>8fa76ff0-784b-4ebd-a63a-5bfed72f02c2</xr:TypeId>
<xr:ValueId>4b2cbc6f-5517-4354-9cca-09e37ffb6ef4</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="DataProcessorManager.СЗ_ПроцессорСхемЗапроса" category="Manager">
<xr:GeneratedType name="DataProcessorManager.СхПроцессорСхемЗапроса" category="Manager">
<xr:TypeId>4c35d9a4-671c-4413-b87e-b984a2286b1e</xr:TypeId>
<xr:ValueId>2db60e26-72c2-46c7-adef-d744c9274c32</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>СЗ_ПроцессорСхемЗапроса</Name>
<Name>СхПроцессорСхемЗапроса</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
@@ -21,7 +21,7 @@
</Synonym>
<Comment/>
<UseStandardCommands>true</UseStandardCommands>
<DefaultForm>DataProcessor.СЗ_ПроцессорСхемЗапроса.Form.Форма</DefaultForm>
<DefaultForm>DataProcessor.СхПроцессорСхемЗапроса.Form.Форма</DefaultForm>
<AuxiliaryForm/>
<IncludeHelpInContents>false</IncludeHelpInContents>
<ExtendedPresentation/>

View File

@@ -12,13 +12,13 @@
Если ТипЗнч(ИсточникДанных) = Тип("Строка") Тогда
_ИсточникДанных = ИсточникДанных;
ИначеЕсли ТипЗнч(ИсточникДанных) = Тип("ОбработкаОбъект.СЗ_ПроцессорСхемЗапроса") Тогда
ИначеЕсли ТипЗнч(ИсточникДанных) = Тип("ОбработкаОбъект.СхПроцессорСхемЗапроса") Тогда
_ИсточникДанных = ИсточникДанных.Получить();
Иначе
ВызватьИсключение "Объединить: неверный тип источника данных";
КонецЕсли;
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер.УстановитьИсточникДанных(СхемаЗапроса,
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер.УстановитьИсточникДанных(СхемаЗапроса,
_ИсточникДанных, Первые, Различные, Разрешенные);
КонецПроцедуры
@@ -26,7 +26,7 @@
//
//
Функция Псевдоним(ИмяПсевдонима) Экспорт
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер
.УстановитьПсевдонимИсточника(СхемаЗапроса, ИмяПсевдонима);
Возврат ЭтотОбъект;
КонецФункции
@@ -34,7 +34,7 @@
//
//
Функция ВТаблицуЗначений() Экспорт
ТаблицаЗначений = СЗ_ПроцессорыСхемЗапросаСлужебный
ТаблицаЗначений = СхПроцессорыСхемЗапросаСлужебный
.ПолучитьРезультатЗапроса(СхемаЗапроса).Выгрузить();
Возврат ТаблицаЗначений;
КонецФункции
@@ -42,7 +42,7 @@
//
//
Функция ВМассив(ИмяКолонки) Экспорт
ТаблицаЗначений = СЗ_ПроцессорыСхемЗапросаСлужебный
ТаблицаЗначений = СхПроцессорыСхемЗапросаСлужебный
.ПолучитьРезультатЗапроса(СхемаЗапроса).Выгрузить();
Возврат ТаблицаЗначений.ВыгрузитьКолонку(ИмяКолонки);
КонецФункции
@@ -50,7 +50,7 @@
//
//
Функция Первые(Количество) Экспорт
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер
.УстановитьПервые(СхемаЗапроса, Количество);
Возврат ЭтотОбъект;
КонецФункции
@@ -58,7 +58,7 @@
//
//
Функция Различные() Экспорт
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер
.УстановитьРазличные(СхемаЗапроса);
Возврат ЭтотОбъект;
КонецФункции
@@ -66,7 +66,7 @@
//
//
Функция Разрешенные() Экспорт
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер
.УстановитьРазрешенные(СхемаЗапроса);
Возврат ЭтотОбъект;
КонецФункции
@@ -74,7 +74,7 @@
//
//
Функция Выбрать(Поля) Экспорт
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер
.УстановитьПоляВыборки(СхемаЗапроса, Поля);
Возврат ЭтотОбъект;
КонецФункции
@@ -82,7 +82,7 @@
//
//
Функция ВыбратьВсе() Экспорт
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер
.УстановитьВыборВсехПолей(СхемаЗапроса);
Возврат ЭтотОбъект;
КонецФункции
@@ -90,7 +90,7 @@
//
//
Функция Поместить(ИмяВременнойТаблицы) Экспорт
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер
.УстановитьИмяВременнойТаблицы(СхемаЗапроса, ИмяВременнойТаблицы);
Возврат ЭтотОбъект;
КонецФункции
@@ -101,14 +101,15 @@
Если ТипЗнч(Предикат) = Тип("Структура") Тогда
_Предикат = Предикат;
ИначеЕсли ТипЗнч(Предикат) = Тип("ОбработкаОбъект.СЗ_ПроцессорПредикатов") Тогда
ИначеЕсли ТипЗнч(Предикат) = Тип("ОбработкаОбъект.СхПроцессорПредикатов") Тогда
_Предикат = Предикат.Получить();
Иначе
ВызватьИсключение "Неверный тип предиката в методе ""Где""";
КонецЕсли;
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер.УстановитьУсловие(СхемаЗапроса, _Предикат);
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер.УстановитьУсловие(СхемаЗапроса, _Предикат);
Возврат ЭтотОбъект;
КонецФункции
//
@@ -135,15 +136,73 @@
//
//
Функция Сгруппировать(Поля) Экспорт
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер
.УстановитьГруппировку(СхемаЗапроса, Поля);
Возврат ЭтотОбъект;
КонецФункции
//
//
Функция ВыборКогда(Предикат, ЗначениеИстина, ЗначениеЛожь, Псевдоним = "") Экспорт
Если ТипЗнч(Предикат) = Тип("Структура") Тогда
_Предикат = Предикат;
ИначеЕсли ТипЗнч(Предикат) = Тип("ОбработкаОбъект.СхПроцессорПредикатов") Тогда
_Предикат = Предикат.Получить();
Иначе
ВызватьИсключение "Неверный тип предиката в методе ""ВыборКогда""";
КонецЕсли;
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер
.УстановитьВыборКогда(СхемаЗапроса, _Предикат, ЗначениеИстина, ЗначениеЛожь, Псевдоним);
Возврат ЭтотОбъект;
КонецФункции
//
//
Функция Количество(Поле) Экспорт
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер
.УстановитьКоличество(СхемаЗапроса, Поле);
Возврат ЭтотОбъект;
КонецФункции
//
//
Функция Сумма(Поле) Экспорт
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер
.УстановитьСумму(СхемаЗапроса, Поле);
Возврат ЭтотОбъект;
КонецФункции
//
//
Функция Максимум(Поле) Экспорт
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер
.УстановитьМаксимум(СхемаЗапроса, Поле);
Возврат ЭтотОбъект;
КонецФункции
//
//
Функция Минимум(Поле) Экспорт
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер
.УстановитьМинимум(СхемаЗапроса, Поле);
Возврат ЭтотОбъект;
КонецФункции
//
//
Функция Выразить(Поле, ОписаниеТипа, Псевдоним = "") Экспорт
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер
.УстановитьВыразить(СхемаЗапроса, Поле, ОписаниеТипа, Псевдоним);
Возврат ЭтотОбъект;
КонецФункции
//
//
Функция Упорядочить(Поля) Экспорт
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер
.УстановитьПорядок(СхемаЗапроса, Поля);
Возврат ЭтотОбъект;
КонецФункции
@@ -151,7 +210,7 @@
//
//
Функция Итоги(Поля) Экспорт
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер
.УстановитьИтоги(СхемаЗапроса, Поля);
Возврат ЭтотОбъект;
КонецФункции
@@ -162,13 +221,13 @@
Если ТипЗнч(ИсточникДанных) = Тип("Строка") Тогда
_ИсточникДанных = ИсточникДанных;
ИначеЕсли ТипЗнч(ИсточникДанных) = Тип("ОбработкаОбъект.СЗ_ПроцессорСхемЗапроса") Тогда
ИначеЕсли ТипЗнч(ИсточникДанных) = Тип("ОбработкаОбъект.СхПроцессорСхемЗапроса") Тогда
_ИсточникДанных = ИсточникДанных.Получить();
Иначе
ВызватьИсключение "Объединить: неверный тип источника данных";
КонецЕсли;
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер
.УстановитьОбъединение(СхемаЗапроса, _ИсточникДанных);
Возврат ЭтотОбъект;
@@ -180,13 +239,13 @@
Если ТипЗнч(ИсточникДанных) = Тип("Строка") Тогда
_ИсточникДанных = ИсточникДанных;
ИначеЕсли ТипЗнч(ИсточникДанных) = Тип("ОбработкаОбъект.СЗ_ПроцессорСхемЗапроса") Тогда
ИначеЕсли ТипЗнч(ИсточникДанных) = Тип("ОбработкаОбъект.СхПроцессорСхемЗапроса") Тогда
_ИсточникДанных = ИсточникДанных.Получить();
Иначе
ВызватьИсключение "Объединить: неверный тип источника данных";
КонецЕсли;
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер
.УстановитьОбъединениеВсе(СхемаЗапроса, _ИсточникДанных);
Возврат ЭтотОбъект;
@@ -195,7 +254,7 @@
//
//
Функция Параметры(Параметры) Экспорт
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер.УстановитьПараметры(СхемаЗапроса, Параметры);
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер.УстановитьПараметры(СхемаЗапроса, Параметры);
Возврат ЭтотОбъект;
КонецФункции
@@ -216,7 +275,7 @@
// TODO: ИсточникДанных может быть структурой? Что делать в этом случае?
Если ТипЗнч(ИсточникДанных) = Тип("Строка") Тогда
_ИсточникДанных = ИсточникДанных;
ИначеЕсли ТипЗнч(ИсточникДанных) = Тип("ОбработкаОбъект.СЗ_ПроцессорСхемЗапроса") Тогда
ИначеЕсли ТипЗнч(ИсточникДанных) = Тип("ОбработкаОбъект.СхПроцессорСхемЗапроса") Тогда
_ИсточникДанных = ИсточникДанных.Получить();
Иначе
ВызватьИсключение "ЛевоеСоединение: неверный тип источника данных";
@@ -224,13 +283,13 @@
Если ТипЗнч(Предикат) = Тип("Структура") Или Предикат = Неопределено Тогда
_Предикат = Предикат;
ИначеЕсли ТипЗнч(Предикат) = Тип("ОбработкаОбъект.СЗ_ПроцессорПредикатов") Тогда
ИначеЕсли ТипЗнч(Предикат) = Тип("ОбработкаОбъект.СхПроцессорПредикатов") Тогда
_Предикат = Предикат.Получить();
Иначе
ВызватьИсключение "ЛевоеСоединение: неверный тип предиката";
КонецЕсли;
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер.ДобавитьСоединение(
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер.ДобавитьСоединение(
СхемаЗапроса, ТипСоединения, _ИсточникДанных, _Предикат);
КонецПроцедуры

View File

@@ -4,7 +4,7 @@
<Attributes>
<Attribute name="Объект" id="1">
<Type>
<v8:Type>cfg:DataProcessorObject.СЗ_ПроцессорСхемЗапроса</v8:Type>
<v8:Type>cfg:DataProcessorObject.СхПроцессорСхемЗапроса</v8:Type>
</Type>
<MainAttribute>true</MainAttribute>
</Attribute>

View File

@@ -15,63 +15,63 @@
_ИсточникДанных = ИсточникДанных.Получить();
КонецЕсли;
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер.УстановитьИсточникДанных(СхемаЗапроса,
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер.УстановитьИсточникДанных(СхемаЗапроса,
_ИсточникДанных, Первые, Различные, Разрешенные);
КонецПроцедуры
&НаКлиенте
Функция Псевдоним(ИмяПсевдонима) Экспорт
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер
.УстановитьПсевдонимИсточника(СхемаЗапроса, ИмяПсевдонима);
Возврат ЭтотОбъект;
КонецФункции
&НаКлиенте
Функция ВТаблицуЗначений() Экспорт
ТаблицаЗначений = СЗ_ПроцессорыСхемЗапросаСлужебныйВызовСервера
ТаблицаЗначений = СхПроцессорыСхемЗапросаСлужебныйВызовСервера
.ПолучитьТаблицуЗначений(СхемаЗапроса);
Возврат ТаблицаЗначений;
КонецФункции
&НаКлиенте
Функция ВМассив(ИмяКолонки) Экспорт
Массив = СЗ_ПроцессорыСхемЗапросаСлужебныйВызовСервера
Массив = СхПроцессорыСхемЗапросаСлужебныйВызовСервера
.ПолучитьМассив(СхемаЗапроса, ИмяКолонки);
Возврат Массив;
КонецФункции
&НаКлиенте
Функция Первые(Количество) Экспорт
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер
.УстановитьПервые(СхемаЗапроса, Количество);
Возврат ЭтотОбъект;
КонецФункции
&НаКлиенте
Функция Различные() Экспорт
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер
.УстановитьРазличные(СхемаЗапроса);
Возврат ЭтотОбъект;
КонецФункции
&НаКлиенте
Функция Разрешенные() Экспорт
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер
.УстановитьРазрешенные(СхемаЗапроса);
Возврат ЭтотОбъект;
КонецФункции
&НаКлиенте
Функция Выбрать(Поля) Экспорт
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер
.УстановитьПоляВыборки(СхемаЗапроса, Поля);
Возврат ЭтотОбъект;
КонецФункции
&НаКлиенте
Функция ВыбратьВсе() Экспорт
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер
.УстановитьВыборВсехПолей(СхемаЗапроса);
Возврат ЭтотОбъект;
КонецФункции
@@ -87,7 +87,7 @@
ВызватьИсключение "Неверный тип предиката в методе ""Где""";
КонецЕсли;
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер.УстановитьУсловие(СхемаЗапроса, _Предикат);
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер.УстановитьУсловие(СхемаЗапроса, _Предикат);
Возврат ЭтотОбъект;
КонецФункции
@@ -111,21 +111,73 @@
&НаКлиенте
Функция Сгруппировать(Поля) Экспорт
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер
.УстановитьГруппировку(СхемаЗапроса, Поля);
Возврат ЭтотОбъект;
КонецФункции
&НаКлиенте
Функция ВыборКогда(Предикат, ЗначениеИстина, ЗначениеЛожь, Псевдоним = "") Экспорт
Если ТипЗнч(Предикат) = Тип("Структура") Тогда
_Предикат = Предикат;
ИначеЕсли ТипЗнч(Предикат) = Тип("ФормаКлиентскогоПриложения") Тогда
_Предикат = Предикат.Получить();
Иначе
ВызватьИсключение "Неверный тип предиката в методе ""ВыборКогда""";
КонецЕсли;
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер
.УстановитьВыборКогда(СхемаЗапроса, _Предикат, ЗначениеИстина, ЗначениеЛожь, Псевдоним);
Возврат ЭтотОбъект;
КонецФункции
&НаКлиенте
Функция Количество(Поле) Экспорт
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер
.УстановитьКоличество(СхемаЗапроса, Поле);
Возврат ЭтотОбъект;
КонецФункции
&НаКлиенте
Функция Сумма(Поле) Экспорт
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер
.УстановитьСумму(СхемаЗапроса, Поле);
Возврат ЭтотОбъект;
КонецФункции
&НаКлиенте
Функция Максимум(Поле) Экспорт
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер
.УстановитьМаксимум(СхемаЗапроса, Поле);
Возврат ЭтотОбъект;
КонецФункции
&НаКлиенте
Функция Минимум(Поле) Экспорт
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер
.УстановитьМинимум(СхемаЗапроса, Поле);
Возврат ЭтотОбъект;
КонецФункции
&НаКлиенте
Функция Выразить(Поле, ОписаниеТипа, Псевдоним = "") Экспорт
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер
.УстановитьВыразить(СхемаЗапроса, Поле, ОписаниеТипа, Псевдоним);
Возврат ЭтотОбъект;
КонецФункции
&НаКлиенте
Функция Упорядочить(Поля) Экспорт
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер
.УстановитьПорядок(СхемаЗапроса, Поля);
Возврат ЭтотОбъект;
КонецФункции
&НаКлиенте
Функция Итоги(Поля) Экспорт
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер
.УстановитьИтоги(СхемаЗапроса, Поля);
Возврат ЭтотОбъект;
КонецФункции
@@ -141,7 +193,7 @@
ВызватьИсключение "Объединить: неверный тип источника данных";
КонецЕсли;
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер
.УстановитьОбъединение(СхемаЗапроса, _ИсточникДанных);
Возврат ЭтотОбъект;
@@ -158,7 +210,7 @@
ВызватьИсключение "Объединить: неверный тип источника данных";
КонецЕсли;
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер
.УстановитьОбъединениеВсе(СхемаЗапроса, _ИсточникДанных);
Возврат ЭтотОбъект;
@@ -166,7 +218,7 @@
&НаКлиенте
Функция Параметры(Параметры) Экспорт
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер.УстановитьПараметры(СхемаЗапроса, Параметры);
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер.УстановитьПараметры(СхемаЗапроса, Параметры);
Возврат ЭтотОбъект;
КонецФункции
@@ -201,7 +253,7 @@
ВызватьИсключение "ЛевоеСоединение: неверный тип предиката";
КонецЕсли;
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер.ДобавитьСоединение(
СхПроцессорыСхемЗапросаСлужебныйКлиентСервер.ДобавитьСоединение(
СхемаЗапроса, ТипСоединения, _ИсточникДанных, _Предикат);
КонецПроцедуры

View File

@@ -1,32 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.18">
<Subsystem uuid="a09dece7-9d83-44cb-8463-270875de13d2">
<Properties>
<Name>СЗ_Основная</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Схема запроса: основная</v8:content>
</v8:item>
</Synonym>
<Comment/>
<IncludeHelpInContents>true</IncludeHelpInContents>
<IncludeInCommandInterface>false</IncludeInCommandInterface>
<UseOneCommand>false</UseOneCommand>
<Explanation/>
<Picture/>
<Content>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.СЗ_Запрос</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.СЗ_ПроцессорыПредикатовКлиентСервер</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.СЗ_ПроцессорыПредикатовСлужебныйКлиентСервер</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.СЗ_ПроцессорыСхемЗапросаКлиентСервер</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.СЗ_ПроцессорыСхемЗапросаСлужебный</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.СЗ_ПроцессорыСхемЗапросаСлужебныйВызовСервера</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">DataProcessor.СЗ_ПроцессорСхемЗапроса</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">DataProcessor.СЗ_ПроцессорПредикатов</xr:Item>
</Content>
</Properties>
<ChildObjects/>
</Subsystem>
</MetaDataObject>

View File

@@ -2,7 +2,7 @@
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.18">
<Subsystem uuid="d4e271af-1ead-4743-afb5-9c2aa77055ae">
<Properties>
<Name>СЗ_Обработки</Name>
<Name>СхОбработки</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
@@ -20,7 +20,7 @@
</Picture>
<Content>
<xr:Item xsi:type="xr:MDObjectRef">CommonPicture.СЗ_Логотип</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">DataProcessor.СЗ_КонсольФункциональныхЗапросов</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">DataProcessor.СхКонсольФункциональныхЗапросов</xr:Item>
</Content>
</Properties>
<ChildObjects/>

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.18">
<Subsystem uuid="a09dece7-9d83-44cb-8463-270875de13d2">
<Properties>
<Name>СхОсновная</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Схема запроса: основная</v8:content>
</v8:item>
</Synonym>
<Comment/>
<IncludeHelpInContents>true</IncludeHelpInContents>
<IncludeInCommandInterface>false</IncludeInCommandInterface>
<UseOneCommand>false</UseOneCommand>
<Explanation/>
<Picture/>
<Content>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.СхЗапрос</xr:Item>
</Content>
</Properties>
<ChildObjects/>
</Subsystem>
</MetaDataObject>

View File

@@ -2,7 +2,7 @@
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.18">
<Subsystem uuid="7f3d60db-f984-4399-8d25-86d89b3d3c96">
<Properties>
<Name>СЗ_Тестирование</Name>
<Name>СхТестирование</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
@@ -16,7 +16,7 @@
<Explanation/>
<Picture/>
<Content>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.СЗ_ЗапросТест</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.СхЗапросТест</xr:Item>
</Content>
</Properties>
<ChildObjects/>