Имя: Пароль:
1C
 
8.2 Динамический список. Ругается на параметр.
0 vpapulov
 
21.04.09
15:48
Здравствуйте.
Есть некоторая управляемая форма (списка). На форме есть динамический список. У списка задан произвольный запрос:
ВЫБРАТЬ
   ДокументСобытие.Ссылка, .... много полей
ИЗ
   Документ.Событие КАК ДокументСобытие
ГДЕ
   ДокументСобытие.Пользователь = &Пользователь
[URL=http://radikal.ru/F/s46.radikal.ru/i111/0904/b9/4e741a814283.jpg.html][IMG]http://s46.radikal.ru/i111/0904/b9/4e741a814283t.jpg[/IMG][/URL]
В модуле формы написана процедура:
&НаСервере
Процедура ПриСоздании(Отказ, СтандартнаяОбработка)
   Список.Параметры.УстановитьЗначениеПараметра("Пользователь", Справочники.Пользователи.ПустаяСсылка());
КонецПроцедуры
[URL=http://radikal.ru/F/s48.radikal.ru/i119/0904/ca/c03c72560d48.jpg.html][IMG]http://s48.radikal.ru/i119/0904/ca/c03c72560d48t.jpg[/IMG][/URL]

При попытке войти через web в этот список, выдается следующая ошибка:
Ошибка получения данных. По причине: Ошибка создания набора данных "_QueryData" Ошибка при исполнении запроса набора данных {(33, 34)}: Не задано значение параметра "Пользователь".
[URL=http://radikal.ru/F/s42.radikal.ru/i096/0904/cf/850dca99fad6.jpg.html][IMG]http://s42.radikal.ru/i096/0904/cf/850dca99fad6t.jpg[/IMG][/URL]

Скажите, в чем моя ошибка?
1 ТелепатБот
 
гуру
21.04.09
15:48
2 vpapulov
 
21.04.09
15:50
Я так понимаю, что редактирование постов невозможно...
И картинки повидимому тоже не работают.
3 nop
 
21.04.09
15:51
(2) верно. Пишите ещё
4 vpapulov
 
21.04.09
15:51
Еще раз. Более наглядно.

Есть некоторая управляемая форма (списка). На форме есть динамический список. У списка задан произвольный запрос:
ВЫБРАТЬ
   ДокументСобытие.Ссылка, .... много полей
ИЗ
   Документ.Событие КАК ДокументСобытие
ГДЕ
   ДокументСобытие.Пользователь = &Пользователь

В модуле формы написана процедура:

&НаСервере
Процедура ПриСоздании(Отказ, СтандартнаяОбработка)
   Список.Параметры.УстановитьЗначениеПараметра("Пользователь", Справочники.Пользователи.ПустаяСсылка());
КонецПроцедуры

При попытке войти через web в этот список, выдается следующая ошибка:
Ошибка получения данных. По причине: Ошибка создания набора данных "_QueryData" Ошибка при исполнении запроса набора данных {(33, 34)}: Не задано значение параметра "Пользователь".
5 vpapulov
 
21.04.09
15:52
6 nop
 
21.04.09
15:53
7 vpapulov
 
21.04.09
16:01
Да, тема схожая. Но у меня вот так:

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

Тоже не работает.
8 vpapulov
 
21.04.09
16:03
Книга знаний: v8: 1C 8.2 Управляемое приложение (подборка ссылок)
Это я уже прочитал.
9 vpapulov
 
21.04.09
16:38
Экспериментальным путем выяснил, что процедура
&НаСервере
Процедура ПриСоздании(Отказ, СтандартнаяОбработка)
не срабатывает. Пиши там что хочешь, все равно будет ругаться на текст, который прописан в контрукторе запроса динамического списка.
10 TitanLuchs
 
21.04.09
16:45
(9) Пробуй устанавливать в "ПриОткрытии", хоть и неправильно, зато работает
11 vpapulov
 
21.04.09
20:15
Попробовал:

&НаСервере
Процедура ПриСоздании(Отказ, СтандартнаяОбработка)
   
   Параметры.ТекущийПользователь = ПараметрыСеанса.ТекущийПользователь;
   
КонецПроцедуры

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

Не работает :(
12 vpapulov
 
21.04.09
20:19
Кстати, я все процедуры набирал просто руками, но не привязывал их к форме, т.е. не указывал процедуру события, а просмто ее писал в модуле. Может надо где-то привязать процедуры в модуле к форме?
13 vpapulov
 
21.04.09
20:31
Да-а-а-а. Чего-то я лопухнулся.
Ларчик просто открывался.
Всем спасибо.

Работает вот так:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
   Список.Параметры.УстановитьЗначениеПараметра("Пользователь", ПараметрыСеанса.ТекущийПользователь);
КонецПроцедуры