diff --git a/src/cfe/CommonModules/СЗ_ЗапросТест/Ext/Module.bsl b/src/cfe/CommonModules/СЗ_ЗапросТест/Ext/Module.bsl index c4e5c19..56ab3d9 100644 --- a/src/cfe/CommonModules/СЗ_ЗапросТест/Ext/Module.bsl +++ b/src/cfe/CommonModules/СЗ_ЗапросТест/Ext/Module.bsl @@ -3,42 +3,50 @@ Процедура ИсполняемыеСценарии() Экспорт ЮТТесты.УдалениеТестовыхДанных() - .ДобавитьТест("ИсключениеИсточникОтсутствует") - .ДобавитьТест("ИсключениеИсточникПустаяСтрока") - .ДобавитьТест("ЗапросВТаблицуЗначений") - .ДобавитьТест("ЗапросВМассив") - .ДобавитьТест("Первые") - .ДобавитьТест("Различные") - .ДобавитьТест("Разрешенные") - .ДобавитьТест("ИсключениеПолеОтсутствует") - .ДобавитьТест("ДобавитьПоляССинонимами") - .ДобавитьТест("ДобавитьНесколькоПолей") - .ДобавитьТест("ДобавитьНесколькоПолейСПереносомСтроки") - .ДобавитьТест("ДобавитьПоляССинонимамиИСписком") - .ДобавитьТест("ВсеПоляДляНеСсылочногоТипа") - .ДобавитьТест("ВсеПоляДляСсылочногоТипа") - .ДобавитьТест("ЗапросСУсловиемРавно") - .ДобавитьТест("ЗапросСУсловиемНеРавно") - .ДобавитьТест("ЗапросСУсловиемПодобно") - .ДобавитьТест("ЗапросСУсловиемНеПодобно") - .ДобавитьТест("ЗапросСУсловиемМежду") - .ДобавитьТест("ЗапросСУсловиемВСписке") - .Перед("Перед_ЗапросСУсловиемВСписке") - .ДобавитьТест("ЗапросСУсловиемНеВСписке") - .Перед("Перед_ЗапросСУсловиемНеВСписке") - .ДобавитьТест("ЛевоеСоединениеПоИсточникуСтроке") - .ДобавитьТест("ЛевоеСоединениеПоИсточникуЗапросу") - .ДобавитьТест("ЛевоеСоединениеБезПредиката") - .ДобавитьТест("ЛевоеСоединениеНесколькоУсловийВПредикате") - .ДобавитьТест("ЛевоеСоединениеПредикатЭтоПараметр") - .ДобавитьТест("ЛевоеСоединениеБезПсевдонимовВСоединении") - .ДобавитьТест("НесколькоЛевыхСоединений") - .ДобавитьТест("ВложенныйЗапрос") - .ДобавитьТест("Порядок") - .ДобавитьТест("ПорядокУбывания") - .ДобавитьТест("Итоги") - .ДобавитьТест("АдресныйКлассификаторСлужебный_ТаблицаАдресныхСокращений") - .Перед("Перед_АдресныйКлассификаторСлужебный_ТаблицаАдресныхСокращений") + .ДобавитьТестовыйНабор("СЗ: Базовые") + .ДобавитьТест("ИсключениеИсточникОтсутствует") + .ДобавитьТест("ИсключениеИсточникПустаяСтрока") + .ДобавитьТест("ЗапросВТаблицуЗначений") + .ДобавитьТест("ЗапросВМассив") + .ДобавитьТест("Первые") + .ДобавитьТест("Различные") + .ДобавитьТест("Разрешенные") + .ДобавитьТестовыйНабор("СЗ: Поля") + .ДобавитьТест("ИсключениеПолеОтсутствует") + .ДобавитьТест("ДобавитьПоляССинонимами") + .ДобавитьТест("ДобавитьНесколькоПолей") + .ДобавитьТест("ДобавитьНесколькоПолейСПереносомСтроки") + .ДобавитьТест("ДобавитьПоляССинонимамиИСписком") + .ДобавитьТест("ВсеПоляДляНеСсылочногоТипа") + .ДобавитьТест("ВсеПоляДляСсылочногоТипа") + .ДобавитьТестовыйНабор("СЗ: Условия") + .ДобавитьТест("ЗапросСУсловиемРавно") + .ДобавитьТест("ЗапросСУсловиемНеРавно") + .ДобавитьТест("ЗапросСУсловиемПодобно") + .ДобавитьТест("ЗапросСУсловиемНеПодобно") + .ДобавитьТест("ЗапросСУсловиемМежду") + .ДобавитьТест("ЗапросСУсловиемВСписке") + .Перед("Перед_ЗапросСУсловиемВСписке") + .ДобавитьТест("ЗапросСУсловиемНеВСписке") + .Перед("Перед_ЗапросСУсловиемНеВСписке") + .ДобавитьТестовыйНабор("СЗ: Соединения") + .ДобавитьТест("ЛевоеСоединениеПоИсточникуСтроке") + .ДобавитьТест("ЛевоеСоединениеПоИсточникуЗапросу") + .ДобавитьТест("ЛевоеСоединениеБезПредиката") + .ДобавитьТест("ЛевоеСоединениеНесколькоУсловийВПредикате") + .ДобавитьТест("ЛевоеСоединениеПредикатЭтоПараметр") + .ДобавитьТест("ЛевоеСоединениеБезПсевдонимовВСоединении") + .ДобавитьТест("НесколькоЛевыхСоединений") + .ДобавитьТестовыйНабор("СЗ: Вложенный запрос") + .ДобавитьТест("ИсключениеВложенныйЗапросБезПсевдонима") + .ДобавитьТест("ВложенныйЗапрос") + .ДобавитьТестовыйНабор("СЗ: Прочее") + .ДобавитьТест("Порядок") + .ДобавитьТест("ПорядокУбывания") + .ДобавитьТест("Итоги") + .ДобавитьТестовыйНабор("СЗ: Реальные запросы") + .ДобавитьТест("АдресныйКлассификаторСлужебный_ТаблицаАдресныхСокращений") + .Перед("Перед_АдресныйКлассификаторСлужебный_ТаблицаАдресныхСокращений") ; КонецПроцедуры @@ -101,11 +109,6 @@ Процедура ИсключениеИсточникОтсутствует() Экспорт - Предикат = СЗ_Запрос.Предикат() - .Реквизит("ЭтоГруппа").Равно(Ложь) - .Получить() - ; - Обработка = Обработки.СЗ_ПроцессорСхемЗапроса.Создать(); ЮТест.ОжидаетЧто(Обработка) @@ -116,14 +119,7 @@ Процедура ИсключениеИсточникПустаяСтрока() Экспорт - Предикат = СЗ_Запрос.Предикат() - .Реквизит("ЭтоГруппа").Равно(Ложь) - .Получить() - ; - - Запрос = СЗ_Запрос.НовыйЗапрос("") - .Где(Предикат) - ; + Запрос = СЗ_Запрос.НовыйЗапрос(""); ЮТест.ОжидаетЧто(Запрос) .Метод("ВТаблицуЗначений") @@ -179,6 +175,13 @@ .ВТаблицуЗначений() ; + ЮТест.ОжидаетЧто(ТаблицаЗначений) + .ИмеетТип("ТаблицаЗначений") + ; + ЮТест.ОжидаетЧто(ТаблицаЗначений.Количество()) + .Больше(0) + ; + КонецПроцедуры Процедура Разрешенные() Экспорт @@ -187,6 +190,13 @@ .ВТаблицуЗначений() ; + ЮТест.ОжидаетЧто(ТаблицаЗначений) + .ИмеетТип("ТаблицаЗначений") + ; + ЮТест.ОжидаетЧто(ТаблицаЗначений.Количество()) + .Больше(0) + ; + КонецПроцедуры #КонецОбласти @@ -486,7 +496,7 @@ ЮТест.ОжидаетЧто(ТаблицаЗначений) .ИмеетТип("ТаблицаЗначений") .ИмеетДлинуБольше(0) - .ЛюбойЭлементСоответствуетПредикату(ЮТест.Предикат() + .КаждыйЭлементСоответствуетПредикату(ЮТест.Предикат() .Реквизит("Ссылка").ВСписке(Контекст.МассивНоменклатурыНеВСписке)) ; @@ -689,16 +699,36 @@ #КонецОбласти -Процедура ВложенныйЗапрос() Экспорт +#Область ВложенныеЗапросы + +Процедура ИсключениеВложенныйЗапросБезПсевдонима() Экспорт ВложенныйЗапрос = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура"); + Запрос = СЗ_Запрос.НовыйЗапрос(ВложенныйЗапрос); + + ЮТест.ОжидаетЧто(Запрос) + .Метод("ВТаблицуЗначений") + .ВыбрасываетИсключение("У вложенного запроса обязательно должен быть псевдоним"); + +КонецПроцедуры + +Процедура ВложенныйЗапрос() Экспорт + + ВложенныйЗапрос = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура") + .Псевдоним("ВложенныйЗапрос") + ; + ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос(ВложенныйЗапрос) .ВТаблицуЗначений() ; КонецПроцедуры +#КонецОбласти + +#Область Прочее + Процедура Порядок() Экспорт // Выполнение @@ -770,13 +800,20 @@ Процедура Итоги() Экспорт ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура") - // TODO: - .Итоги() + .Итоги("ЭтоГруппа") .ВТаблицуЗначений() ; + ЮТест.ОжидаетЧто(ТаблицаЗначений) + .ИмеетТип("ТаблицаЗначений") + .ИмеетДлинуБольше(0) + .ЛюбойЭлементСодержитСвойство("ссылка", Null) + ; + КонецПроцедуры +#КонецОбласти + #Область РеальныеЗапросы Процедура АдресныйКлассификаторСлужебный_ТаблицаАдресныхСокращений() Экспорт diff --git a/src/cfe/CommonModules/СЗ_ПроцессорыСхемЗапросаСлужебный/Ext/Module.bsl b/src/cfe/CommonModules/СЗ_ПроцессорыСхемЗапросаСлужебный/Ext/Module.bsl index 7fbcfdf..b0936aa 100644 --- a/src/cfe/CommonModules/СЗ_ПроцессорыСхемЗапросаСлужебный/Ext/Module.bsl +++ b/src/cfe/CommonModules/СЗ_ПроцессорыСхемЗапросаСлужебный/Ext/Module.bsl @@ -49,6 +49,7 @@ ДобавитьУсловия(Оператор, Запрос, СтруктураСхемыЗапроса); ДобавитьГруппировку(Оператор, СтруктураСхемыЗапроса); ДобавитьПорядок(ЗапросПакета, СтруктураСхемыЗапроса); + ДобавитьИтоги(ЗапросПакета, СтруктураСхемыЗапроса); ТекстЗапроса = СхемаЗапроса.ПолучитьТекстЗапроса(); Возврат ТекстЗапроса; @@ -95,7 +96,26 @@ Оператор.ВыбиратьРазличные = Истина; КонецЕсли; - Оператор.Источники.Добавить(СтруктураСхемыЗапроса.ИсточникДанных); + Если ТипЗнч(СтруктураСхемыЗапроса.ИсточникДанных) = Тип("Строка") Тогда + Оператор.Источники.Добавить(СтруктураСхемыЗапроса.ИсточникДанных); + Иначе + Если ТипЗнч(СтруктураСхемыЗапроса.ИсточникДанных) = Тип("ОбработкаОбъект.СЗ_ПроцессорСхемЗапроса") Тогда + СтруктураСхемыВложенногоЗапроса = СтруктураСхемыЗапроса.ИсточникДанных.Получить(); + Иначе + СтруктураСхемыВложенногоЗапроса = СтруктураСхемыЗапроса.ИсточникДанных; + КонецЕсли; + + ВложенныйЗапрос = ПолучитьЗапрос(СтруктураСхемыВложенногоЗапроса); + Если Не СтруктураСхемыВложенногоЗапроса.Свойство("ПсевдонимИсточника") Или + ПустаяСтрока(СтруктураСхемыВложенногоЗапроса.ПсевдонимИсточника) Тогда + + ВызватьИсключение "У вложенного запроса обязательно должен быть псевдоним"; + КонецЕсли; + + ИсточникСхемыЗапроса = Оператор.Источники.Добавить(Тип("ВложенныйЗапросСхемыЗапроса"), + СтруктураСхемыВложенногоЗапроса.ПсевдонимИсточника); + ИсточникСхемыЗапроса.Источник.Запрос.УстановитьТекстЗапроса(ВложенныйЗапрос); + КонецЕсли; Возврат Оператор; @@ -114,14 +134,16 @@ ИсточникПоля = Оператор.Источники[0]; КонецЕсли; - ДоступноеПоле = ИсточникПоля.Источник.ДоступныеПоля.Найти(Поле.ИмяПоля); - Если Не ДоступноеПоле = Неопределено Тогда - НовоеПоле = Оператор.ВыбираемыеПоля.Добавить(ДоступноеПоле); - Если Не Поле.Псевдоним = Неопределено Тогда - ЗапросПакета.Колонки[ЗапросПакета.Колонки.Количество() - 1].Псевдоним = Поле.Псевдоним; + Если Не ИсточникПоля = Неопределено Тогда + ДоступноеПоле = ИсточникПоля.Источник.ДоступныеПоля.Найти(Поле.ИмяПоля); + Если Не ДоступноеПоле = Неопределено Тогда + НовоеПоле = Оператор.ВыбираемыеПоля.Добавить(ДоступноеПоле); + Если Не Поле.Псевдоним = Неопределено Тогда + ЗапросПакета.Колонки[ЗапросПакета.Колонки.Количество() - 1].Псевдоним = Поле.Псевдоним; + КонецЕсли; + Иначе + ВызватьИсключение СтрШаблон("Поле %1 в источнике не определено", Поле.ИмяПоля); КонецЕсли; - Иначе - ВызватьИсключение СтрШаблон("Поле %1 в источнике не определено", Поле.ИмяПоля); КонецЕсли; КонецЦикла; Иначе @@ -248,6 +270,12 @@ КонецФункции +Процедура ДобавитьИтоги(ЗапросПакета, СтруктураСхемыЗапроса) + + ТочкаОстанова = 1; + +КонецПроцедуры + Процедура ДобавитьПараметрыЗапроса(СтруктураСхемыЗапроса, Запрос) Если СтруктураСхемыЗапроса.Свойство("Параметры") И ТипЗнч(СтруктураСхемыЗапроса.Параметры) = Тип("Массив") Тогда @@ -258,4 +286,11 @@ КонецПроцедуры +Функция ПолучитьЗапрос(СтруктураСхемыЗапроса) + + Запрос = Новый Запрос; + Возврат ПолучитьТекстЗапроса(СтруктураСхемыЗапроса, Запрос); + +КонецФункции + #КонецОбласти diff --git a/src/cfe/CommonModules/СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер/Ext/Module.bsl b/src/cfe/CommonModules/СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер/Ext/Module.bsl index c3a279d..81f4301 100644 --- a/src/cfe/CommonModules/СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер/Ext/Module.bsl +++ b/src/cfe/CommonModules/СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер/Ext/Module.bsl @@ -15,6 +15,12 @@ КонецПроцедуры +Процедура УстановитьПсевдонимИсточника(СхемаЗапроса, Псевдоним) Экспорт + + СхемаЗапроса.Вставить("ПсевдонимИсточника", Псевдоним); + +КонецПроцедуры + Процедура УстановитьПервые(СхемаЗапроса, Количество) Экспорт СхемаЗапроса.Вставить("Первые", Количество); @@ -99,7 +105,7 @@ Иначе // Структура = вложенный запрос - // TODO: + ВызватьИсключение "Не реализовано!"; КонецЕсли; @@ -139,7 +145,7 @@ МассивПолей = Новый Массив; Если СхемаЗапроса.Свойство("Порядок") И ТипЗнч(СхемаЗапроса.Поля) = Тип("Массив") Тогда - МассивПолей = СхемаЗапроса.Поля; + МассивПолей = СхемаЗапроса.Порядок; КонецЕсли; Для каждого НовоеПоле Из НовыеПоля Цикл МассивПолей.Добавить(ПолучитьЭлементПорядка(НовоеПоле)); @@ -149,6 +155,28 @@ КонецПроцедуры +Процедура УстановитьИтоги(СхемаЗапроса, Поля) Экспорт + + Если ТипЗнч(Поля) = Тип("Строка") Тогда + НовыеПоля = ПолучитьПоляИзСтроки(Поля); + ИначеЕсли ТипЗнч(Поля) = Тип("Массив") Тогда + НовыеПоля = Поля; + Иначе + ВызватьИсключение "УстановитьИтоги: неподдерживаемый тип данных в параметре ""Поля"""; + КонецЕсли; + + МассивПолей = Новый Массив; + Если СхемаЗапроса.Свойство("Итоги") И ТипЗнч(СхемаЗапроса.Поля) = Тип("Массив") Тогда + МассивПолей = СхемаЗапроса.Итоги; + КонецЕсли; + Для каждого НовоеПоле Из НовыеПоля Цикл + МассивПолей.Добавить(НовоеПоле); + КонецЦикла; + + СхемаЗапроса.Вставить("Итоги", МассивПолей); + +КонецПроцедуры + Процедура УстановитьПараметры(СхемаЗапроса, Параметры) Экспорт СхемаЗапроса.Вставить("Параметры", Параметры); diff --git a/src/cfe/ConfigDumpInfo.xml b/src/cfe/ConfigDumpInfo.xml index 1a797e3..83555dd 100644 --- a/src/cfe/ConfigDumpInfo.xml +++ b/src/cfe/ConfigDumpInfo.xml @@ -4,7 +4,7 @@ - + @@ -12,23 +12,23 @@ - + - + - + - + diff --git a/src/cfe/DataProcessors/СЗ_КонсольФункциональныхЗапросов/Forms/Форма/Ext/Form/Module.bsl b/src/cfe/DataProcessors/СЗ_КонсольФункциональныхЗапросов/Forms/Форма/Ext/Form/Module.bsl index b1cfb52..7c3ef97 100644 --- a/src/cfe/DataProcessors/СЗ_КонсольФункциональныхЗапросов/Forms/Форма/Ext/Form/Module.bsl +++ b/src/cfe/DataProcessors/СЗ_КонсольФункциональныхЗапросов/Forms/Форма/Ext/Form/Module.bsl @@ -96,6 +96,11 @@ Если Не ПустаяСтрока(СтрокаПорядка) Тогда МассивСтрокЗапроса.Добавить(СтрШаблон(Символы.Таб + ".Упорядочить(""%1"")", СтрокаПорядка)); КонецЕсли; + + СтрокаИтогов = ПолучитьИтоги(ПакетЗапроса); + Если Не ПустаяСтрока(СтрокаИтогов) Тогда + МассивСтрокЗапроса.Добавить(СтрШаблон(Символы.Таб + ".Итоги(""%1"")", СтрокаИтогов)); + КонецЕсли; МассивСтрокЗапроса.Добавить(Символы.Таб + ".ВТаблицуЗначений()"); МассивСтрокЗапроса.Добавить(";"); @@ -196,4 +201,19 @@ КонецФункции +Функция ПолучитьИтоги(ПакетЗапроса) + + СтрокаИтогов = ""; + Для каждого ЭлементИтогов Из ПакетЗапроса.КонтрольныеТочкиИтогов Цикл + Если Не ПустаяСтрока(СтрокаИтогов) Тогда + СтрокаИтогов = СтрокаИтогов + ", "; + КонецЕсли; + + СтрокаИтогов = СтрокаИтогов + ЭлементИтогов.ИмяКолонки; + КонецЦикла; + + Возврат СтрокаИтогов; + +КонецФункции + #КонецОбласти diff --git a/src/cfe/DataProcessors/СЗ_ПроцессорСхемЗапроса/Ext/ObjectModule.bsl b/src/cfe/DataProcessors/СЗ_ПроцессорСхемЗапроса/Ext/ObjectModule.bsl index 7677031..7582da9 100644 --- a/src/cfe/DataProcessors/СЗ_ПроцессорСхемЗапроса/Ext/ObjectModule.bsl +++ b/src/cfe/DataProcessors/СЗ_ПроцессорСхемЗапроса/Ext/ObjectModule.bsl @@ -6,56 +6,87 @@ #Область ПрограммныйИнтерфейс +// +// Процедура УстановитьИсточникДанных(ИсточникДанных, Первые = -1, Различные = Ложь, Разрешенные = Ложь) Экспорт СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер.УстановитьИсточникДанных(СхемаЗапроса, ИсточникДанных, Первые, Различные, Разрешенные); КонецПроцедуры +// +// +Функция Псевдоним(ИмяПсевдонима) Экспорт + СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер + .УстановитьПсевдонимИсточника(СхемаЗапроса, ИмяПсевдонима); + Возврат ЭтотОбъект; +КонецФункции + +// +// Функция ВТаблицуЗначений() Экспорт ТаблицаЗначений = СЗ_ПроцессорыСхемЗапросаСлужебный .ПолучитьРезультатЗапроса(СхемаЗапроса).Выгрузить(); Возврат ТаблицаЗначений; КонецФункции +// +// Функция ВМассив(ИмяКолонки) Экспорт ТаблицаЗначений = СЗ_ПроцессорыСхемЗапросаСлужебный .ПолучитьРезультатЗапроса(СхемаЗапроса).Выгрузить(); Возврат ТаблицаЗначений.ВыгрузитьКолонку(ИмяКолонки); КонецФункции +// +// Функция Первые(Количество) Экспорт - // TODO: + СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер + .УстановитьПервые(СхемаЗапроса, Количество); Возврат ЭтотОбъект; КонецФункции +// +// Функция Различные() Экспорт - // TODO: + СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер + .УстановитьРазличные(СхемаЗапроса); Возврат ЭтотОбъект; КонецФункции +// +// Функция Разрешенные() Экспорт - // TODO: + СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер + .УстановитьРазрешенные(СхемаЗапроса); Возврат ЭтотОбъект; КонецФункции +// +// Функция Выбрать(Поля) Экспорт СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер .УстановитьПоляВыборки(СхемаЗапроса, Поля); Возврат ЭтотОбъект; КонецФункции +// +// Функция ВыбратьВсе() Экспорт СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер .УстановитьВыборВсехПолей(СхемаЗапроса); Возврат ЭтотОбъект; КонецФункции +// +// Функция Поместить(ИмяВременнойТаблицы) Экспорт СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер .УстановитьИмяВременнойТаблицы(СхемаЗапроса, ИмяВременнойТаблицы); Возврат ЭтотОбъект; КонецФункции +// +// Функция Где(Предикат) Экспорт Если ТипЗнч(Предикат) = Тип("Структура") Тогда @@ -70,6 +101,8 @@ Возврат ЭтотОбъект; КонецФункции +// +// Функция ЛевоеСоединение(ИсточникДанных, Предикат = Неопределено) Экспорт // TODO: ИсточникДанных может быть структурой? Что делать в этом случае? @@ -90,32 +123,43 @@ КонецЕсли; СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер.ДобавитьСоединение( - СхемаЗапроса, "Левое", ИсточникДанных, _Предикат); + СхемаЗапроса, "Левое", _ИсточникДанных, _Предикат); Возврат ЭтотОбъект; КонецФункции +// +// Функция Сгруппировать(Поля) Экспорт СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер .УстановитьГруппировку(СхемаЗапроса, Поля); Возврат ЭтотОбъект; КонецФункции +// +// Функция Упорядочить(Поля) Экспорт СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер .УстановитьПорядок(СхемаЗапроса, Поля); Возврат ЭтотОбъект; КонецФункции -Функция Итоги() Экспорт - // TODO: +// +// +Функция Итоги(Поля) Экспорт + СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер + .УстановитьИтоги(СхемаЗапроса, Поля); Возврат ЭтотОбъект; КонецФункции +// +// Функция Параметры(Параметры) Экспорт СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер.УстановитьПараметры(СхемаЗапроса, Параметры); Возврат ЭтотОбъект; КонецФункции +// +// Функция Получить() Экспорт Возврат СхемаЗапроса;