Есть вообще какой-то вариант решения данной проблемы без написания внешних компонент?
Проблема в том, что требуется обработать все строки табличной части, а процедура в общем модуле обрабатывает только выделенные строки. Не хотелось бы трогать общий модуль, там и так изменений достаточно, чтобы при обновлении за голову хвататься. 2 день мучаюсь, а решения проблемы так и не нашел.
---
Petrosyanc, вот правильный код:
```1c
    &НаКлиенте
    Процедура Команда1(Команда)
    // Вставить содержимое обработчика.
    Для каждого стр из Объект.Фармация Цикл
    Элементы.Фармация.ВыделенныеСтроки.Добавить(стр.НомерСтроки);
    КонецЦикла;

    КонецПроцедуры
```
 Проверил у меня работает.
---
Petrosyanc,
ТаблицаФормы (FormTable)
ВыделенныеСтроки (SelectedRows)
Использование:

Только чтение.
Описание:

Тип: Массив.
Содержит массив идентификаторов выделенных строк.

осталось только в массив загнать нужные строки
---
Только чтение массив, пробовал уже(
---
Petrosyanc, еще можно попробовать через :
Свойства:

ОтборСтрок (RowFilter)

Описание:

Дополнительные свойства элемента управления ТаблицаФормы, применимые для табличных частей.
В качестве значений для свойств ТекущаяСтрока, ТекущийРодитель и элемента коллекции, содержащейся в свойстве ВыделенныеСтроки, используется идентификатор строки.
---
Prikum, Тоже не получается.
При отборе ключ надо устанавливать одним из реквизитов ТЧ. Устанавливаю отбор по всем строкам, а выделения все равно не происходит.
---
Petrosyanc, не мое, но вдруг поможет :
```1c
    Для каждого стр из Объект.ТЗЗаказы Цикл
    Элементы.ТЗЗаказы.ВыделенныеСтроки.Добавить(Элементы.ТЗЗаказы.ДанныеСтроки(стр).ПолучитьИдентификатор());
    КонецЦикла;
```
---
Petrosyanc, вот правильный код:
```1c
    &НаКлиенте
    Процедура Команда1(Команда)
    // Вставить содержимое обработчика.
    Для каждого стр из Объект.Фармация Цикл
    Элементы.Фармация.ВыделенныеСтроки.Добавить(стр.НомерСтроки);
    КонецЦикла;

    КонецПроцедуры
```
 Проверил у меня работает.
---
А ещё бы перед этим циклом добавить строку:

```1c
    Элементы.Фармация.ВыделенныеСтроки.Очистить()
```

Без её добавления можно заметить, как массив пополняется дублирующими номерами строк. Не критично, но что-то подсказывает, что это не правильно.
---
Номер строки и идентификатор строки - вещи суть разные. в выделенных строках должны быть именно идентификаторы.
Поэтому правильный код такой:
Элементы.Фармация.ВыделенныеСтроки.Добавить(стр.ПолучитьИдентификатор());
---
Сейчас попробую.
---
Вот Спасибо ))
Уррааа заработало ))) 2 дня ведь мучался ... а надо было в массив передать не строку, а номер строки)
---
```1c
    Для каждого стр из Объект.Фармация Цикл
    Элементы.Фармация.ВыделенныеСтроки.Добавить(стр.НомерСтроки-1);
    КонецЦикла;
```

Вот так будет вообще замечательно)
---
Petrosyanc, ну я как бы не стал разбираться, почему если текущая строка не первая в табличной части, то тогда она не выделяется. Каюсь, было лень, да и времени не было.
---
Предложенные выше варианты добавят в выделение все строки таб части. И все бы хорошо, но люди на форме часто пользуются "отборами".. кто-то из пользователей может удивиться, отобрав из 100 строк фильтрами 5, а обработаются все 100
---
```1c
    Для каждого стр из Объект.Фармация Цикл
    Элементы.Фармация.ВыделенныеСтроки.Добавить(стр.ПолучитьИдентификатор());
    КонецЦикла;
```

Этот массив должен содержать идентификаторы - если пользователь может несколько раз перезаполнить табличную часть - тогда они могут не совпадать с номером строки.
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.