Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Обход табличной части документа с выбранной строки

Обход табличной части документа с выбранной строки
Я
   buketovav
 
20.10.20 - 09:24
Добрый день, Уважаемые Форумчане!
Есть документ, есть ТЧ, у каждой из строк ТЧ есть поле типа Булево "Выбрать", как обойти ТЧ со строки (включая ее), у которой установлен флаг в этом поле, а предыдущие не трогать?

Я попробовал сделать обход с обратной стороны, работает, но как-то выглядит не очень красиво, может кто-нибудь подскажет более верный способ решения:

    Если ЗначениеЗаполнено(Объект.НоваяСтоимость) Тогда                    
            КоличествоСтрок = Объект.ГрафикПлатежей.Количество();
            Для СчетчикЦикла = 1 по КоличествоСтрок Цикл
                Объект.ГрафикПлатежей[КоличествоСтрок-СчетчикЦикла].Сумма = Объект.НоваяСтоимость;
                Если Объект.ГрафикПлатежей[КоличествоСтрок-СчетчикЦикла].Выбор = Истина Тогда
                    Объект.ГрафикПлатежей[КоличествоСтрок-СчетчикЦикла].Сумма = Объект.НоваяСтоимость;
                    Прервать;
                КонецЕсли;    
            КонецЦикла;        
        КонецЕсли;

Заранее всем огромное спасибо за помощь и подсказки! Хорошего дня!
   Жан Пердежон
 
1 - 20.10.20 - 11:38
а если несколько строк отметить?
   SleepyHead
 
2 - 20.10.20 - 11:39
(0) Обрабатываешь на сервере или клиенте?

На сервер можешь получить все строки с нужным отбором в массив строк, а потом обойти только эти строки
   alkorolev
 
3 - 20.10.20 - 12:07
ИдентификаторТекущейСтроки = Элементы.ТвояТЧ.ТекущаяСтрока;
ИндексСтроки = ТвояТЧ.Индекс(ТвояТЧ.НайтиПоИдентификатору(ИдентификаторТекущейСтроки));
Пока ИндексСтроки < ТвояТЧ.Количество() Цикл 
    ТекСтрока = ТвояТЧ.Получить(ИндексСтроки);
    ТекСтрока.Выбрать = Истина;// или что там должно быть?

    ИндексСтроки = ИндексСтроки + 1;
КонецЦикла;
   alkorolev
 
4 - 20.10.20 - 12:09
если гарантируешь, что строки не могут менять порядок и состав, то 2ая строка необязательна: идентификатор будет соответствовать индексу
   alkorolev
 
5 - 20.10.20 - 12:11
(2) массив строк и на клиенте получить можно. Причём здесь сервер?
   buketovav
 
6 - 20.10.20 - 13:23
(1) система разрешает отметить только одну строку

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.