Имя: Пароль:
1C
1С v8
Перечисление в запросе
, ,
0 ligatr
 
19.02.19
17:10
Есть запрос

Запрос.Текст = "ВЫБРАТЬ
              |              ПоставщикиУслуг.СтоимостьУслугТепла КАК СтоимостьУслугТепла,
              |              ПоставщикиУслуг.НДСТепло КАК НДСТепло,
              |              ПоставщикиУслуг.СтоимостьУслугВода КАК СтоимостьУслугВода,
              |              ПоставщикиУслуг.НДСВода КАК НДСВода,
              |              ПоставщикиУслуг.СтоимостьУслугСтоков КАК СтоимостьУслугСтоков,
              |              ПоставщикиУслуг.НДССтоки КАК НДССтоки,
              |              ПоставщикиУслуг.СтоимостьУслугЭлектричества КАК СтоимостьУслугЭлектричества,
              |              ПоставщикиУслуг.НДСЭлектричество КАК НДСЭлектричество,
              |              Помещения.СтоимостьУслугТепла КАК СтоимостьУслугТепла1,
              |              Помещения.СтоимостьУслугВоды КАК СтоимостьУслугВоды,
              |              Помещения.СтоимостьУслугСтоков КАК СтоимостьУслугСтоков1,
              |              Помещения.СтоимостьУслугЭлектричества КАК СтоимостьУслугЭлектричества1,
              |              РасчетыТемпературы.ТемпературныйКоэффициент КАК ТемпературныйКоэффициент,
              |              РасчетыТемпературы.КоличествоДней КАК КоличествоДней,
              |              Помещения.ТепловаяНагрузка КАК ТепловаяНагрузка,
              |              РасчетыТемпературы.Год КАК Год,
              |              РасчетыТемпературы.Месяц КАК Месяц
              |ИЗ
              |              РегистрСведений.ПлательщикиПоПомещениям.СрезПоследних КАК ПлательщикиПоПомещениямСрезПоследних
              |                              ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Помещения КАК Помещения
              |                                             ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПоставщикиУслуг КАК ПоставщикиУслуг
              |                                             ПО Помещения.ПоставщикУслугТепла = ПоставщикиУслуг.Ссылка
              |                                             ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РасчетыТемпературы КАК РасчетыТемпературы
              |                                             ПО Помещения.ТипЗдания = РасчетыТемпературы.ТипЗдания
              |                              ПО ПлательщикиПоПомещениямСрезПоследних.Помещение = Помещения.Ссылка
              |ГДЕ
              |              ПлательщикиПоПомещениямСрезПоследних.Абонент = &Контрагент
              |              И ПлательщикиПоПомещениямСрезПоследних.Помещение.Ссылка = &Помещение
              |              И РасчетыТемпературы.Год = &Год
              |              И ПлательщикиПоПомещениямСрезПоследних.ВидУслуг = &ВидУслуг";

Запрос.УстановитьПараметр("Контрагент",Контрагент);
Запрос.УстановитьПараметр("Помещение",Помещение);
Запрос.УстановитьПараметр("ВидУслуг",ВидУслуг);
Запрос.УстановитьПараметр("Месяц",ЗнчМесяц);
Запрос.УстановитьПараметр("Год",ЗнчГод);
Результат = Запрос.Выполнить().Выбрать();
Пока Результат.Следующий() Цикл
РезультатПоФормуле = Новый Структура;
РезультатПоФормуле.Вставить("ТемпературныйКоэффициент", Результат.ТемпературныйКоэффициент);
РезультатПоФормуле.Вставить("КоличествоДней", Результат.КоличествоДней);
РезультатПоФормуле.Вставить("ТепловаяНагрузка", Результат.ТепловаяНагрузка);
Возврат РезультатПоФормуле;

Есть реквизит РасчетыТемпературы.Год. Он сделан в виде перечисления.
Значение = ГОД2018, синоним=2018
Значение = ГОД2019, синоним=2019
Это перечисление также находится на форме в виде списка.
Не совсем понятно как правильно передать выбранное пользователем значение на форме в запрос.
Пробовал разные варианты в итоге запрос ничего не возваращает.
Если убрать блока ГДЕ РасчетыТемпературы.Год = &Год, то все работает нормально, т.е. проблема именно в неправильной передаче значения в параметре запроса.
1 ДенисЧ
 
19.02.19
17:11
Ну, может, у тебя РасчетыТемпературы.Год не перечисление?
Отсюда сложно увидеть...
2 RomanYS
 
19.02.19
17:14
(1) +1 или ЗнчГод

Вообще Год-перечисление это сильно
3 mistеr
 
19.02.19
17:14
(0) Что такое "ЗнчГод"?
4 mistеr
 
19.02.19
17:15
(2) "Job security" — не слышал про такое? Темнота...
5 RomanYS
 
19.02.19
17:18
(4) Не слышал)) но кажется, я начинаю понимать, что ты имел в виду)))
6 ligatr
 
19.02.19
17:34
(1) РасчетыТемпературы.Год - точно перечисление.
Как правильно передавать параметр в запрос?
7 ligatr
 
19.02.19
17:37
(2) года и месяцы сделаны перечислением для упрощения указания периода создания документа, так как документы создаются ежемесячно.
8 yavasya
 
19.02.19
17:38
Запрос.УстановитьПараметр("Год",РасчетыТемпературы.Год);

Запрос.УстановитьПараметр("Год",Объект.РасчетыТемпературы.Год);
9 RomanYS
 
19.02.19
17:38
(8) у него похоже не УФ
10 AnisaL
 
19.02.19
17:44
Попробуйте вот так:
| И РасчетыТемпературы.Год = В (&Год)
11 AnisaL
 
19.02.19
17:45
(10) не так, а вот так: извиняюсь
| И РасчетыТемпературы.Год В (&Год)
12 ligatr
 
19.02.19
17:46
(8)Спасибо помогло Запрос.УстановитьПараметр("Год",Объект.РасчетыТемпературы.Год)
13 ligatr
 
19.02.19
17:47
Проблема в том что вызывал серверную функцию и видмио не правильно передавал параметры.
Так и не понял в чем была пробелма
14 craxx
 
19.02.19
18:03
(0) Своих подчиненных за условие к правой части левого соединения - бил линейкой по пальцам.
15 Мимохожий Однако
 
19.02.19
18:31
(7) охренеть...Хорошая игла программиста. Доступно и всерьёз.)