Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
06 апр 2026, 02:58

динамический список

Автор sali, 10 фев 2026, 09:20

0 Пользователей и 1 гость просматривают эту тему.

Максим75

Цитата: sali от 10 фев 2026, 14:02
Цитата: Максим75 от 10 фев 2026, 13:56потому и программно не полезет.
один умный человек однажды сказал, "всё что ты создаешь руками,  можно  сделать и программно" :)
супер. делайте.
руками вряд ли получится.

sali

делаю всё точно  так же как и тут , но пишет ошибку
Ошибка при выполнении запроса.
по причине:
Ошибка получения данных
по причине:
Ошибка создания набора данных "НаборДанныхДинамическогоСписка"
по причине:
Ошибка при исполнении запроса набора данных
по причине:
{(7, 38)}: Не задано значение параметра "ВыбраннаяНоменклатура"
СправочникМаршрутыАгентов.Ссылка В (<<?>>&ВыбраннаяНоменклатура) КАК Пометка,

определяю выбраннуюноменклатуру на сервере в процедуре присозданиинасервере, однако в процедуре поставитьпометку программа жалуется что выбранная номенклатура это не определено, и значение массива не устанавливается

antoneus

Цитата: sali от 11 фев 2026, 09:16определяю выбраннуюноменклатуру на сервере в процедуре присозданиинасервере

Что значит "определяю"?

Максим75

sali, ну хоть текст приведите, как то ванговать тяжело, почему ошибка.

sali

antoneus, прописывается
&НаКлиенте
Перем ВыбраннаяНоменклатура; //Массив, хранящий отмеченную галочками номенклатуру для отображения в списке

&НаКлиенте
Процедура ПриОткрытии(Отказ)

//Инициализация массива
ВыбраннаяНоменклатура = Новый Массив;

//Без параметра, даже пустого, список выдаст ошибку и будет прав
Список.Параметры.УстановитьЗначениеПараметра("ВыбраннаяНоменклатура", ВыбраннаяНоменклатура);

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

sali

вот весь код
&НаКлиенте
Перем ВыбраннаяНоменклатура; //Массив, хранящий отмеченную галочками номенклатуру для отображения в списке

&НаКлиенте
Процедура ПриОткрытии(Отказ)

//Инициализация массива
ВыбраннаяНоменклатура = Новый Массив;

//Без параметра, даже пустого, список выдаст ошибку и будет прав
Список.Параметры.УстановитьЗначениеПараметра("ВыбраннаяНоменклатура", ВыбраннаяНоменклатура);

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

&НаКлиенте
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)

//Нас интересует только событие нажатия на чекбокс
Если Поле = Элементы.Пометка Тогда

СтандартнаяОбработка = Ложь;

ТекущиеДанные = Элемент.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
Если ТекущиеДанные.Пометка Тогда
СнятьПометку(ТекущиеДанные.Ссылка);
Иначе
ПоставитьПометку(ТекущиеДанные.Ссылка);
КонецЕсли;
КонецЕсли;

КонецЕсли;

//Параметр в динамическом списке нужно обновить
Список.Параметры.УстановитьЗначениеПараметра("ВыбраннаяНоменклатура", ВыбраннаяНоменклатура);

Элементы.Список.Обновить();

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

&НаКлиенте
Процедура СнятьПометку(Номенклатура)
Индекс = ВыбраннаяНоменклатура.Найти(Номенклатура);
Если Индекс >= 0 Тогда
ВыбраннаяНоменклатура.Удалить(Индекс);
КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура ПоставитьПометку(Номенклатура)
Индекс = ВыбраннаяНоменклатура.Найти(Номенклатура);
Если Индекс = Неопределено Тогда
ВыбраннаяНоменклатура.Добавить(Номенклатура);
КонецЕсли;
КонецПроцедуры

когда переписываю установку параметра и переменную на сервер , ошибка вылетает в процедуре ПоставитьПометку, что
метод не найден у ВыбраннаяНоменклатура (найти) , так как ВыбраннаяНоменклатура = неопределено

antoneus

Ну да, потому что ВыбраннаяНоменклатура на клиенте определена.

&НаКлиенте <----
Перем ВыбраннаяНоменклатура;

На сервере её тупо не будет. И объявлять её на сервере бесполезно, потому что между вызовами серверных процедур она будет очищаться.
А зачем переписывать установку параметра и переменную на сервер?

sali

antoneus, я вам отправил код который был в статье ссылку на которую отправили вы. там написано , скопируйте код в модуль формы, скопировал, выходят ошибки. исправляю , выходят ошибки

Максим75

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

sali

Цитата: Максим75 от 11 фев 2026, 11:32не подвязали событие ПриОткрытии?
бля
извините за разгон

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск