Имя: Пароль:
1C
 
Динамические списки в 8.2
0 Propeller
 
14.04.09
13:47
Динамический список "СписокНоменклатуры" строится на основе произвольного запроса. В тексте произвольного запроса есть условие с параметром "Покупатель". При вызове метода УстановитьЗначениеПараметра("Покупатель",Покупатель) выдается ошибка с текстом "Значение параметра не найдено". Как лечить?
1 Оболтус
 
14.04.09
13:48
Где вы вообще эти 8.2 берете?

На дисках ИТС или через франчей?
2 Propeller
 
14.04.09
13:58
(1) на дисках ИТС.
3 TitanLuchs
 
14.04.09
14:02
ИмяДинамическогоСписка.Параметры.УстановитьЗначениеПараметра()

Например:

РСКомплектующие.Параметры.УстановитьЗначениеПараметра("Картридж", Объект.Ссылка);
4 Оболтус
 
14.04.09
14:10
Пересмотрел ИТС за последние полгода, нет там никакой 8.2. Только 8.1.13.41. :(
5 Оболтус
 
14.04.09
14:10
Или я плохо искал. Или у нас какие-то неправильные ИТС :(
6 TitanLuchs
 
14.04.09
14:11
(5) ... и они дают неправильные 8.2 ))
7 Propeller
 
14.04.09
14:12
(3) так и пишу Подбор.Параметры.установитьЗначениеПараметра("Покупатель",Объект.Покупатель) и ругается. Может там что с &НаКлиенте и &НаСервере связано или параметры эти где-то в другом месте добавлять надо. Смотрю в отладчике Подбор.Параметры.ДоступныеПараметры = неопределено, при этом Подбор.ТекстЗапроса присвоился. Мож эти параметры где в другом месте заполнять надо?
(5) у меня за февраль 2009 ИТС. 8.2 естественно бета-версия.
8 TitanLuchs
 
14.04.09
14:14
(7) "Подбор" - это что у тебя? Элемент формы или реквизит типа "Динамический список"?
9 TitanLuchs
 
14.04.09
14:16
+(8) Заполнять можно где угодно, и на сервере и на клиенте, это реквизит формы, он доступен везде
10 Propeller
 
14.04.09
14:19
(8) Подбор - это у меня реквизит формы. Я сначала текст запроса ему присваиваю, а потом применяю установитьЗначениеПараметра(). и вылетает ошибка.
11 TitanLuchs
 
14.04.09
14:23
Конфа сильно секретная? Если нет кинь .cf на whitecat<собака>bk.ru, сча разберемся
12 GROOVY
 
14.04.09
14:23
(10) Так это ж СКД! Устанавливай отбор как в СКД.
13 GROOVY
 
14.04.09
14:25
Отбор = НазваниеСписка.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
Отбор.ЛевоеЗначение = НазваниеСписка.Отбор.ДоступныеПоляОтбора.Элементы.Найти("Контрагент").Поле;
Отбор.ПравоеЗначение = Объект.Покупатель;

Как то так..
14 TitanLuchs
 
14.04.09
14:25
(12) Устанавливает правильно, видно в чем-то другом траблема
15 Propeller
 
14.04.09
14:28
(11) не, не могу скинуть ;);(
16 TitanLuchs
 
14.04.09
14:29
(15) Кинь код, как создаешь и устанавливаешь текст запроса, как параметр устанавливаешь
17 Propeller
 
16.04.09
12:08
Разобралась. У меня почему-то работает только тогда, когда устанавливаю текст запроса динамическому списку и параметр в процедуре с признаком &НаСервере. Если параметра нет, то работает и если устанавливаю текст запроса в процедуре с признаком &НаКлиенте.
18 Propeller
 
20.04.09
13:40
В динамическом списке произвольный запрос. У элемента управляемой формы в качестве данных этот динамический список. При изменении текста запроса колонки элемента управляемой формы не пересоздаются. Метода СоздатьКолонки() нет. т.е. в тексте запроса появляется новое поле, например цена. в элементе управляемой формы колонка "цена" не появляется. Кто-нибудь сталкивался?
19 TitanLuchs
 
20.04.09
13:47
(18) Может надо обновить форму?
20 Propeller
 
20.04.09
14:08
(19) неа, не помогает применение методов обновитьотображениеданных() для формы и таблицауправляемойформы.обновить() тоже. По ходу пока работает только если предварительно в таблицу управляемой форму добавить колонку цена.
21 TitanLuchs
 
20.04.09
14:15
(20) Да, такая мысль была - создать колонку заранее, сейчас проверяю
22 TitanLuchs
 
20.04.09
14:27
(20) В общем прокатил вариант запихать в запрос по умолчанию (тот, который задается в конфигураторе) все возможные поля, которые могут быть выбраны в процессе работы. В этом случае для отображения динамического списка создаются все необходимые колонки. При замене запроса необходимо также и скрывать ненужные колонки.
С выходом релиза платформы будет проще - там можно будет создавать элементы формы программно.
23 Propeller
 
20.04.09
14:31
(22) ага, программно это хорошо.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший