Загрузка данных


Процедура УстановитьПараметрыЗапросаКRESTСервису(ТекстЗапроса, ПараметрыЗапроса)
	// {Начало CR-57979 04.08.22 Пухов
	
	// Установка переданных параметров
	// Преобразование всех параметров в линейный формат
	ЗначенияПараметров = ПреобразоватьВЗначенияПараметров(ПараметрыЗапроса);
	Для каждого ЗначениеПараметра Из ЗначенияПараметров Цикл
		
		Если ТипЗнч(ЗначениеПараметра.Значение) = Тип("Соответствие")
			ИЛИ ТипЗнч(ЗначениеПараметра.Значение) = Тип("СписокЗначений") Тогда
			Продолжить;
		КонецЕсли; 
		
		Если ТипЗнч(ЗначениеПараметра.Значение) = Тип("Дата") Тогда
			ТекЗначение = ДатаСтрокой(ЗначениеПараметра.Значение);
		Иначе
			ТекЗначение = XMLСтрока(ЗначениеПараметра.Значение);
		КонецЕсли; 
		
		ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&" + ЗначениеПараметра.Ключ, ТекЗначение);
		
	КонецЦикла; 
	
	// Удаление переносов строк
	ТекстЗапроса = СтрЗаменить(ТекстЗапроса, Символы.ПС, "");
		
КонецПроцедуры // Конец CR-57979 04.08.22 Пухов }

Функция ПреобразоватьВЗначенияПараметров(ПараметрыЗапроса)
	// {Начало CR-57979 04.08.22 Пухов
	
	ЗначенияПараметров = Новый Структура;
	Для каждого ПараметрЗапроса Из ПараметрыЗапроса Цикл
		
		ИмяПараметра = ПараметрЗапроса.Ключ;
		
		Если ТипЗнч(ПараметрЗапроса.Значение) = Тип("Массив") Тогда
			
			Номер = 0;
			МассивПараметров = ПараметрЗапроса.Значение;
			Для каждого ЭлементМассиваПараметров Из МассивПараметров Цикл
				
				Номер = Номер + 1;
				НомерСтрокой = Формат(Номер, "ЧГ=");
				Для каждого ЭлементСтруктуры Из ЭлементМассиваПараметров Цикл
					
					ЗначенияПараметров.Вставить(ЭлементСтруктуры.Ключ + НомерСтрокой, ЭлементСтруктуры.Значение);
					
				КонецЦикла; 
				
			КонецЦикла; 
			
		Иначе
			
			ЗначенияПараметров.Вставить(ИмяПараметра, ПараметрЗапроса.Значение);
			
		КонецЕсли; 
				
	КонецЦикла; 
 		
	Возврат ЗначенияПараметров;
	
КонецФункции // Конец CR-57979 04.08.22 Пухов }

Функция ДатаСтрокой(ЗначениеРеквизита)
	// {Начало CR-57979 04.08.22 Пухов
	
	ЗначениеПоля = "";
	Если НЕ ЗначениеЗаполнено(ЗначениеРеквизита) Тогда
		Возврат ЗначениеПоля; 
	КонецЕсли;
	
	// 2017-04-26
	ЗначениеПоля = Формат(ЗначениеРеквизита, "ДФ=yyyy-MM-dd");
	
	Возврат ЗначениеПоля;
	
КонецФункции // Конец CR-57979 04.08.22 Пухов }