Изменить выделенные строки табличной части
Добрый день можете подсказать как можно получить выделенные строки в табличной части и изменить их значение.
вот код для получения числа, только здесь меняются все строки в таб части
&НаКлиенте
Процедура Рассчитать(Ч)
Для каждого СтрокаТЗ из ВладелецФормы.Объект.Товары Цикл
СтрокаТЗ.Цена = СтрокаТЗ.Цена * (100 - Ч)/100;
КонецЦикла;
ВладелецФормы.Модифицированность = Истина;
КонецПроцедуры
&НаКлиенте
Процедура ПослеВводаЧисла(Результат, Параметры) Экспорт
Если Не Результат = Неопределено И НЕ Результат = 0 И НЕ Результат < 0 Тогда
Рассчитать(Результат);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт
Оповещение = Новый ОписаниеОповещения("ПослеВводаЧисла", ЭтотОбъект);
ПоказатьВводЧисла(Оповещение,,"Введите значение", 2, 0);
КонецПроцедуры
вот код для получения числа, только здесь меняются все строки в таб части
&НаКлиенте
Процедура Рассчитать(Ч)
Для каждого СтрокаТЗ из ВладелецФормы.Объект.Товары Цикл
СтрокаТЗ.Цена = СтрокаТЗ.Цена * (100 - Ч)/100;
КонецЦикла;
ВладелецФормы.Модифицированность = Истина;
КонецПроцедуры
&НаКлиенте
Процедура ПослеВводаЧисла(Результат, Параметры) Экспорт
Если Не Результат = Неопределено И НЕ Результат = 0 И НЕ Результат < 0 Тогда
Рассчитать(Результат);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт
Оповещение = Новый ОписаниеОповещения("ПослеВводаЧисла", ЭтотОбъект);
ПоказатьВводЧисла(Оповещение,,"Введите значение", 2, 0);
КонецПроцедуры
По теме из базы знаний
- Универсальное изменение табличных частей - подключается к любым типовым конфигурациям
- Табличная часть из дополнительных реквизитов с обработкой событий в расширении
- Интерактивное заполнение табличной части открытого документа/справочника управляемой формы на примере конфигурации КА 2.4.11.92
- РеСольДо - редактор строк документов
- Снизу вверх по табличной части. Разбираемся в понятиях Идентификатор-индекс-номер строки управляемых форм
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
&НаКлиенте
Процедура Рассчитать(Ч)
Для каждого ИдСтроки из ВладелецФормы.Элементы.Товары.ВыделенныеСтроки Цикл
СтрокаТЗ = ВладелецФормы.Товары.НайтиПоИдентификатору(ИдСтроки);
СтрокаТЗ.Цена = СтрокаТЗ.Цена * (100 - Ч)/100;
КонецЦикла;
ВладелецФормы.Модифицированность = Истина;
КонецПроцедуры
Показать
ИдСтроки{<Неизвестный модуль>(1,1)}: Переменная не определена (ИдСтроки)
при отладке показывает так
Поле объекта не обнаружено (Товары)
{ВнешняяОбработка.РучныеСкидкиV2.Форма.Форма.Форма(8)}:СтрокаТЗ = ВладелецФормы.Товары.НайтиПоИдентификатору(ИдСтроки);
{ВнешняяОбработка.РучныеСкидкиV2.Форма.Форма.Форма(19)}:Рассчитать(Результат);
{mngbase/InputCommon2.lf(5)}:Close(1);
[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ОшибкаИспользованияВстроенногоЯзыка]
при отладке показывает так
Поле объекта не обнаружено (Товары)
{ВнешняяОбработка.РучныеСкидкиV2.Форма.Форма.Форма(8)}:СтрокаТЗ = ВладелецФормы.Товары.НайтиПоИдентификатору(ИдСтроки);
{ВнешняяОбработка.РучныеСкидкиV2.Форма.Форма.Форма(19)}:Рассчитать(Результат);
{mngbase/InputCommon2.lf(5)}:Close(1);
[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ОшибкаИспользованияВстроенногоЯзыка]
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот