![]() |
|
Позиционирование на строке динамического списка | ☑ | ||
---|---|---|---|---|
0
arsenfn
30.05.25
✎
17:54
|
Добрый день!
Не могу никак спозиционироваться на нужной строке динамического списка. Создал кнопку разделения строки списка. При нажатии открывается окно ввода количества для новой строки. После ввода количества список автоматически не обновляется хоть и указана основная таблица списка. Поэтому вызываю метод Элементы.Список.Обновить(), но она позиционирует первую строку списка. Ниже привожу код. Подскажите пожалуйста как правильно сделать. &НаКлиенте Процедура РазделитьСтроку(Команда) Если ВыделенныеСтроки.Количество() = 0 Тогда Возврат; КонецЕсли; ТекСтрока = Элементы.Список.ДанныеСтроки(ВыделенныеСтроки[0]); ПараметрыОбработки = Новый Структура; ПараметрыОбработки.Вставить("ТекущаяСтрока", ТекСтрока); Оповещение = Новый ОписаниеОповещения("ВвестиКоличествоДляРазбиенияПослеВвода", ЭтотОбъект, ПараметрыОбработки); ПоказатьВводЧисла(Оповещение, ТекСтрока.Количество, "Введите количество товара в новой строке", 15, 3); КонецПроцедуры &НаСервере Процедура ВвестиКоличествоДляРазбиенияПослеВвода(Количество, ПараметрыОбработки) Экспорт Если Количество = Неопределено Тогда Возврат; КонецЕсли; ТекущееКоличество = ПараметрыОбработки.ТекущаяСтрока.Количество; НовоеКоличество = ТекущееКоличество - Количество; //Устанавливаем новое количество для исходной строки Набор = РегистрыСведений.ав_ЗаказыAutoopt.СоздатьНаборЗаписей(); Набор.Отбор.ID.Установить(ПараметрыОбработки.ТекущаяСтрока.ID); Набор.Прочитать(); СтрокаНабора = Набор[0]; СтрокаНабора.Количество = НовоеКоличество; Набор.Записать(); //Добавляем новую строку с получением нового ID с сайта НовыйID = ав_ОбменСZapzone.РазделитьЗаказНаZapzone(ПараметрыОбработки.ТекущаяСтрока.ID, Количество); Набор = РегистрыСведений.ав_ЗаказыAutoopt.СоздатьНаборЗаписей(); Набор.Отбор.ID.Установить(НовыйID); НоваяЗапись = Набор.Добавить(); ЗаполнитьЗначенияСвойств(НоваяЗапись, ПараметрыОбработки.ТекущаяСтрока); НоваяЗапись.ID = НовыйID; Набор.Записать(); Элементы.Список.Обновить(); КонецПроцедуры |
|||
1
Garykom
гуру
30.05.25
✎
17:41
|
не надо позиционироваться
делай фильтр/отбор |
|||
2
arsenfn
30.05.25
✎
17:42
|
(1) Подскажите пожалуйста как
|
|||
3
arsenfn
30.05.25
✎
17:46
|
(1) Если сделать отбор, то в списке разве не останется только отобранная строка?
|
|||
4
Garykom
гуру
30.05.25
✎
17:48
|
(3) так и задумано
вручную отключат если отбор позиция останется |
|||
5
arsenfn
30.05.25
✎
17:50
|
(4) Мне не нужно чтобы оставалась только отобранная строка. Мне нужно выделить исходную строку в общем списке.
|
|||
6
arsenfn
30.05.25
✎
18:06
|
Если нажать на кнопку формы Обновить, то список обновляется более менее приемлемо, то есть строка с которой я работаю на том же месте. А если программно обновлять, то список уходит к началу и выделяется первая строка.
|
|||
7
Ёпрст
гуру
31.05.25
✎
16:23
|
(0) переходи на обычные формы, ьам это реализовано
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |