Проблема С запросом

1. user2031837 03.07.24 16:13 Сейчас в теме
Только начинаю познавать 1с .Столкнулся с такой проблемой - создал запрос ,в запросе есть 2 параметра.Нужно сделать обход по периоду в рамках одного дня.Ошибка слишком много фактических параметров . Реализовано во внешней обработке
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. yispepotri 03.07.24 16:19 Сейчас в теме
(1)
Ошибка слишком много фактических параметров

это по идее говорит о том, что в процедуру или функцию вы передали лишний параметр. Дело не в запросе.
3. user2031837 03.07.24 16:26 Сейчас в теме
(2)
Я передаю в запрос 2 параметра , а потом мне нужно отобраться в рамках одного дня.Уже нет мыслей что я делаю не так.
4. yispepotri 03.07.24 16:32 Сейчас в теме
(3)еще раз дело не в параметрах запроса, а в параметрах функции или процедуры

&НаСервере
Процедура ПолучитьИнформацию(Значение1)

КонецПроцедуры

&НаСервере
Процедура ОбработкаИнформации()
Значение1 = "";
Значение2 = "";
ПолучитьИнформацию(Значение1, Значение2)
КонецПроцедуры
Показать


т. е. вот пример, когда вызывается процедура ПолучитьИнформацию, передается Значение2, а в процедуре ПолучитьИнформацию для передачи указан только 1 параметр

Процедура ПолучитьИнформацию(Значение1)


это и вызывается в виде ошибки "Ошибка слишком много фактических параметров"
5. yispepotri 03.07.24 16:36 Сейчас в теме
(4)где то передали лишний параметр, нужно код смотреть, на скрине не видно
7. user2031837 03.07.24 16:41 Сейчас в теме
(5)
Процедура ЗагрузитьИнформациюНаСервере()    
	
	Структура=Новый Структура;  
	Структура.Вставить("Тип","ЗапросГостей");
	Структура.Вставить("ДатаНачала",Период.ДатаНачала);
	Структура.Вставить("ДатаОкончания",КонецДня(Период.ДатаОкончания));
     ОтветВебСервиса= ПолучитьРезультатHTTPСервиса( Структура);
ЗаписатьПолученнуюИнформацию(ОтветВебСервиса); 
ТекДата = Структура.ДатаНачала;
Запрос = Новый Запрос;

// Установка значений параметров
Запрос.УстановитьПараметр("ДатаНачала", ТекДата);

Запрос.Текст =
"ВЫБРАТЬ
|	ГостиПоТипамНомеров.Период КАК Период,
|	ГостиПоТипамНомеров.ТипНомера КАК ТипНомера,
|	РасходникиВНомерахСрезПоследних.Номенклатура КАК Номенклатура,
|	РасходникиВНомерахСрезПоследних.Склад КАК Склад,
|	РасходникиВНомерахСрезПоследних.Подразделение КАК Подразделение,
|	СУММА(РасходникиВНомерахСрезПоследних.Количество * ГостиПоТипамНомеров.КоличествоГостей) КАК Количество
|ИЗ
|	РегистрСведений.ГостиПоТипамНомеров КАК ГостиПоТипамНомеров
|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РасходникиВНомерах.СрезПоследних(&ДатаНачала, ) КАК РасходникиВНомерахСрезПоследних
|		ПО (ГостиПоТипамНомеров.ТипНомера = РасходникиВНомерахСрезПоследних.ТипНомера)
|ГДЕ
|	НЕ РасходникиВНомерахСрезПоследних.Номенклатура ЕСТЬ NULL
|
|СГРУППИРОВАТЬ ПО
|	РасходникиВНомерахСрезПоследних.Номенклатура,
|	РасходникиВНомерахСрезПоследних.Склад,
|	РасходникиВНомерахСрезПоследних.Подразделение,
|	РасходникиВНомерахСрезПоследних.ТипНомера,
|	ГостиПоТипамНомеров.ТипНомера,
|	ГостиПоТипамНомеров.Период
|
|УПОРЯДОЧИТЬ ПО
|	Период";
РезультатЗапроса = Запрос.Выполнить();

// Выборка
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
	// Код
КонецЦикла;
//ТекДата = Структура.ДатаНачала; 
СоответствиеаВозврата = новый Соответствие;
Пока ТекДата<= Структура.ДатаОкончания Цикл 
  ТЗ = Запрос.Выполнить(ТекДата);  
  СоответствиеаВозврата.Вставить(ТекДата,ТЗ);
  
ТекДата = КонецДня(ТекДата) + 1;  
КонецЦикла;

КонецПроцедуры
Показать
8. Zevzm 03.07.24 16:46 Сейчас в теме
(7)
Запрос.Выполнить(ТекДата);
Это зачем?
yispepotri; +1 Ответить
9. yispepotri 03.07.24 16:47 Сейчас в теме
(7)
ОтветВебСервиса= ПолучитьРезультатHTTPСервиса( Структура);
ЗаписатьПолученнуюИнформацию(ОтветВебСервиса);


мое предположение, в какой это из этих процедур, не указаны параметры для передачи, проверьте их. А лучше по отладке поймайте момент ошибки и будет понятно где она возникает


P.S. в 8 написали, скорее всего дело в этом)
6. SlavaKron 03.07.24 16:37 Сейчас в теме
(1) В тексте ошибки обычно пишется номер строки, код в которой вызвал ошибку. В конфигураторе перейдите на эту строку (Ctrl+G) и покажите код.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот