Имя: Пароль:
1C
1С v8
УФ: Дин. список. Свой текст запроса. Добавить параметр
,
0 sanja26
 
30.10.12
16:03
Список.ТекстЗапроса = "..."
МойПараметр = Список.Параметры.Добавить();

Метод объекта не обнаружен Добавить()
1 sanja26
 
30.10.12
16:04
в дин списке на форме справочник номенклатура

По нажатию на кнопку отбирается номенклатура с доступныи остатком на складе. Склад - параметр
2 sanja26
 
30.10.12
16:10
в параметрах вообще пусто, хотя в отбор поля из моего запроса попали
3 ladyFox3
 
30.10.12
16:19
запрос строиш через Запрос или Построитель? Если через запрос тогда параметр задаеш в запросе через &Склад , а потом Список.УстановитьПараметр("Склад ", Склад)
4 sanja26
 
30.10.12
16:19
хотя в отбор тоже не попадают добавленные поля
5 sanja26
 
30.10.12
16:20
(3) подсовываю для списка свой текст запроса.
6 5 Элемент
 
30.10.12
16:21
Список.Параметры.УстановитьЗначениеПараметра(ИмяПараметра, Значение);
7 sanja26
 
30.10.12
16:22
(6) у списка на форме нет параметров, поэтому УстановитьЗначениеПараметра не рабобтает
8 5 Элемент
 
30.10.12
16:24
(7) значит ты не изменил текст запроса
9 sanja26
 
30.10.12
16:33
(8) все изменено в отладчике, не надо ля-ля
10 sanja26
 
30.10.12
17:08
Если МойПараметр = Список.Параметры.Добавить();

ругается на то, что коллекция не может изменять свой состав, так как она связана с доступными параметрами
11 sanja26
 
30.10.12
17:08
к (10) Если МойПараметр = Список.Параметры.Элементы.Добавить();
12 5 Элемент
 
30.10.12
17:15
Коллекция заполняется автоматически при изменении запроса.
Думай почему у тебя не так.
13 hhhh
 
30.10.12
17:21
(11) ну как в (3) делай.
14 sanja26
 
30.10.12
17:23
(13) так тормозит при открытии
15 sanja26
 
30.10.12
17:29
ДинамическийСписок.текстЗапроса - доступность сервер
А я на клиенте пишу, может поэтому..
16 5 Элемент
 
30.10.12
17:39
Ясень пень и см (8)
17 sanja26
 
30.10.12
19:37
(16) спасибо

теперь другая проблема
Элементы.Список отображает то, что в форме прописано, полностью игнорируя то, для чего писался отдельный запрос
Элементы.Список.ПутьКДанным в форме задан Список, а во время выполнения = Неопределено
Элементы.Список.ПутьКДанным = "Список" не прокатило
18 sanja26
 
30.10.12
19:38
В запросе по умолчанию прописано Остаток = 0;
В моем запросе остаток = остаток на складе. Так в отображении остается 0.
Запрос в консоли протестирован, параметры для списка установлены
19 sanja26
 
30.10.12
19:46
(19) на сервере Элементы.список.ТекущиеДанные = Неопределено,
а путь к данным заполнен
20 sanja26
 
30.10.12
22:40
почему в таблице формы данные запроса по умолчанию???
21 sanja26
 
31.10.12
00:33
ААААА блин.

Как вывести дин список в ТЗ? Есть ли что-то вроде ВыбратьСтроку()?
22 sanja26
 
31.10.12
00:38
&НаКлиенте
Процедура ОтображатьОстаткиПоКнопке(Команда)
   
   УстановитьТекстЗапросаНаСервере(Список);

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

&НаСервере
Процедура УстановитьТекстЗапросаНаСервере(Список)
   Список.ТекстЗапроса =
   "ВЫБРАТЬ РАЗРЕШЕННЫЕ
   |    ТоварыНаСкладахОстатки.Номенклатура.Наименование КАК Наименование,
   |    ТоварыНаСкладахОстатки.Номенклатура.Ссылка КАК Номенклатура,
   |    ТоварыНаСкладахОстатки.Номенклатура.ВидНоменклатуры КАК ВидНоменклатуры,
   |    ТоварыНаСкладахОстатки.Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
   |    ТоварыНаСкладахОстатки.Номенклатура.Родитель КАК Родитель,
   |    ТоварыНаСкладахОстатки.Номенклатура.ВидНоменклатуры.ИспользованиеХарактеристик КАК ИспользованиеХарактеристик,
   |    ТоварыНаСкладахОстатки.Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
   |    ТоварыНаСкладахОстатки.Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
   |    ВЫБОР
   |        КОГДА ТоварыНаСкладахОстатки.Номенклатура.ЭтоГруппа
   |            ТОГДА ВЫБОР
   |                    КОГДА ТоварыНаСкладахОстатки.Номенклатура.ПометкаУдаления
   |                        ТОГДА 13
   |                    ИНАЧЕ 12
   |                КОНЕЦ
   |        ИНАЧЕ -1 + ВЫБОР
   |                КОГДА ТоварыНаСкладахОстатки.Номенклатура.ПометкаУдаления
   |                    ТОГДА 1
   |                ИНАЧЕ 0
   |            КОНЕЦ + ВЫБОР
   |                КОГДА ТоварыНаСкладахОстатки.Номенклатура.ВидНоменклатуры.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыВеденияДополнительныхДанныхПоНоменклатуре.НеИспользовать)
   |                    ТОГДА 1
   |                ИНАЧЕ 3
   |            КОНЕЦ
   |    КОНЕЦ КАК ИндексКартинки,
   |    ТоварыНаСкладахОстатки.Номенклатура.ВариантОформленияПродажи,
   |    ТоварыНаСкладахОстатки.ВНаличииОстаток
   |ИЗ
   |    РегистрНакопления.ТоварыНаСкладах.Остатки(&Период, Склад = &Склад) КАК ТоварыНаСкладахОстатки
   |ГДЕ
   |    ТоварыНаСкладахОстатки.Склад = &Склад";
   
   Список.Параметры.УстановитьЗначениеПараметра("Склад", Объект.Склад);
   Список.Параметры.УстановитьЗначениеПараметра("Период", Дата);
   
   КолонкаТаблицы = Элементы.Найти("Остаток");
   Если КолонкаТаблицы = Неопределено Тогда
       КолонкаТаблицы = Элементы.Вставить("Остаток", Тип("ПолеФормы"), Элементы.Список);
       КолонкаТаблицы.ПутьКДанным = "Список.ВНаличииОстаток";
       КолонкаТаблицы.Вид = ВидПоляФормы.ПолеНадписи;
       КолонкаТаблицы.Заголовок = "Остаток";
       КолонкаТаблицы.Видимость = Истина;
       Список.УстановитьОбязательноеИспользование("Остаток", Истина); // <- Та самая строчка    
   КонецЕсли;
   
КонецПроцедуры


ошибка: Недопустимое значение Список.ВНаличииОстаток
23 sanja26
 
31.10.12
01:20
подниму
24 sanja26
 
31.10.12
23:15
вообщем косяк был в том, что передавал "Список" как параметр и получается, что все мои изменения запроса терялись при передаче клиент

бывает же..
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.