Имя: Пароль:
1C
 
Проблема с динамическим списком
0 Dmitriy_76
 
20.01.25
21:07
Есть динамический список СписокНоменклатура.

Передаю в параметры список значений.

Добавляю на форму простую тестовую кнопку
обработчик с вызовом процедуры на сервере.

Смотрю что в отладке :
СписокНоменклатура.Параметры.Элементы[4].Значение

на клиенте все верно, мой список значений.
на сервере откуда то берется элемент справочника...
как так может быть?
1 Мультук
 
гуру
20.01.25
21:48
(0)

>>Есть динамический список СписокНоменклатура.

"Обычный" или произвольный (запрос)  ?
Ибо если "Обычный", то зачем параметры  ?


>>Добавляю на форму простую тестовую кнопку
>>обработчик с вызовом процедуры на сервере.

Код процедуры секретный или как ?
2 Dmitriy_76
 
20.01.25
22:05
(1) сам же ответил на первый вопрос...
         - ПРОИЗВОЛЬНЫЙ
3 Волшебник
 
модератор
20.01.25
22:13
(2) код процедуры покажи и пальцы свои сверни
4 ldo6
 
20.01.25
22:34
Что-то не то делает ТС.
5 Dmitriy_76
 
21.01.25
08:11
код модуля формы :


&НаКлиенте
Процедура Команда1(Команда)
    УстановитьОтбор("Блузка");
КонецПроцедуры


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


&НаКлиенте
Процедура Команда2(Команда)  
    ййй=Спис.Параметры.Элементы[0].Значение;
    Команда2НаСервере();
КонецПроцедуры


&НаСервере
Процедура Команда2НаСервере()
    ййй=Спис.Параметры.Элементы[0].Значение;
КонецПроцедуры
6 Dmitriy_76
 
21.01.25
08:11
запрос дин списка
ВЫБРАТЬ
    Номенклатура.Ссылка КАК Ссылка,
    Номенклатура.Наименование КАК Наименование
ИЗ
    Справочник.Номенклатура КАК Номенклатура
{ГДЕ
    Номенклатура.Ссылка в(&Номенклатура)}
7 Dmitriy_76
 
21.01.25
08:13
на сервере в ййй список значений.
на клиенте - справочник ссылка
8 Dmitriy_76
 
21.01.25
08:17
+
&НаКлиенте
Процедура Команда1(Команда)
    ккк=УстановитьОтбор("Блузка");
КонецПроцедуры


в ккк - список из 20 товаров
9 Dmitriy_76
 
21.01.25
08:35
Рез=Новый списокЗначений;

заменил на массив и заработало...
10 Волшебник
 
21.01.25
09:45
(5) Плохие имена переменных и функций
11 Мультук
 
гуру
21.01.25
10:16
(6)

А зачем лишний запрос? Так нельзя ?

запрос дин списка
ВЫБРАТЬ
    Номенклатура.Ссылка КАК Ссылка,
    Номенклатура.Наименование КАК Наименование
ИЗ
    Справочник.Номенклатура КАК Номенклатура
{ГДЕ
    Номенклатура.Наименование ПОДОБНО &Наименование }


ПодборТоваровКлиентСервер.УстановитьПараметрДинамическогоСписка(Спис, "Наименование ", "%"+СтрЗаменить(ТекН," ","")+"%",Истина);