Нужно дописать код в 3-х процедурах: ВыполнитьЗапросИзФормыПродолжение, ПолучитьПараметрыЗапросовДляJSON и гТипыЗначенийПараметров.
Изменения в коде помечены конструкцией "//++ доработка".
Процедура ВыполнитьЗапросИзФормыПродолжение(Параметры)
..
Для каждого СтрокаПараметров Из мФормаПараметров.ПараметрыСписок Цикл
Если СписокПараметров.Найти(СтрокаПараметров.Имя) = Неопределено Тогда
Продолжить;
КонецЕсли;
Если СтрокаПараметров.Тип = гТипыЗначенийПараметров().ТаблицаЗначений Тогда
лИдентификаторПараметра = гПреобразоватьВПравильноеНазвание(СтрокаПараметров.ИдентификаторСтроки);
Если гДанныеВременныхТаблиц.Свойство(лИдентификаторПараметра) Тогда
лЗапрос.УстановитьПараметр(СтрокаПараметров.Имя, гДанныеВременныхТаблиц[лИдентификаторПараметра]);
Иначе
Сообщить("Параметр " + СтрокаПараметров.Имя + " не простого типа.
|Значение данного параметра берется из структуры гДанныеВременныхТаблиц с ключем """ + лИдентификаторПараметра + """.
|Код для вставки значения параметра через форму выполнения произвольного кода:
| гДанныеВременныхТаблиц.Вставить(""" + лИдентификаторПараметра + """, %ПеременнаяСоЗначениемПараметра%)", СтатусСообщения.Важное);
КонецЕсли;
//++ доработка
ИначеЕсли СтрокаПараметров.Тип = гТипыЗначенийПараметров().Граница Тогда
лЗапрос.УстановитьПараметр(СтрокаПараметров.Имя, Новый Граница(СтрокаПараметров.Значение));
//-- доработка
Иначе
лЗапрос.УстановитьПараметр(СтрокаПараметров.Имя, СтрокаПараметров.Значение);
КонецЕсли;
КонецЦикла;
..
Функция ПолучитьПараметрыЗапросовДляJSON(ПараметрыЗапросов, МассивИдентификаторовЗапросов, ЗаменяемыеИД) Экспорт
лМассивПараметров = Новый Массив;
Если МассивИдентификаторовЗапросов.Найти("") = Неопределено Тогда
// Добавляем пустой идентификатор - признак глобального параметра
МассивИдентификаторовЗапросов.Добавить("");
КонецЕсли;
// добавляем локальные параметры
Для Каждого ИдентификаторЗапроса Из МассивИдентификаторовЗапросов Цикл
лПараметрыТекущегоЗапроса = ПараметрыЗапросов.НайтиСтроки(Новый Структура("ИдентификаторЗапроса", ИдентификаторЗапроса));
Для каждого ПараметрТекущегоЗапроса Из лПараметрыТекущегоЗапроса Цикл
Если ЗаменяемыеИД <> Неопределено Тогда
лИдентификаторЗапроса = ЗаменяемыеИД.Получить(ИдентификаторЗапроса);
Если лИдентификаторЗапроса = Неопределено Тогда
лИдентификаторЗапроса = ИдентификаторЗапроса;
КонецЕсли;
Иначе
лИдентификаторЗапроса = ИдентификаторЗапроса;
КонецЕсли;
СтруктураТекущихПараметров = Новый Структура();
СтруктураТекущихПараметров.Вставить("ИдентификаторЗапроса", лИдентификаторЗапроса);
СтруктураТекущихПараметров.Вставить("ИдентификаторСтроки" , ПараметрТекущегоЗапроса.ИдентификаторСтроки);
СтруктураТекущихПараметров.Вставить("Имя" , ПараметрТекущегоЗапроса.Имя);
СтруктураТекущихПараметров.Вставить("Значение" , ПараметрТекущегоЗапроса.Значение);
//++ доработка
СтруктураТекущихПараметров.Вставить("Тип" , ПараметрТекущегоЗапроса.Тип);
//-- доработка
лМассивПараметров.Добавить(СтруктураТекущихПараметров);
КонецЦикла;
КонецЦикла;
Возврат лМассивПараметров
КонецФункции // получитьПараметрыЗапросовДляJSON()
Функция гТипыЗначенийПараметров() Экспорт
Возврат Новый Структура("Значение, Список, ТаблицаЗначений, Граница",1,2,3,4)
КонецФункции // ТипыЗначенийПараметров()
Нужно дописать код в 3-х процедурах: ВыполнитьЗапросИзФормыПродолжение, ПолучитьПараметрыЗапросовДляJSON и гТипыЗначенийПараметров. Изменения в коде помечены конструкцией "//++ доработка".