1. Выделенные строки в списке
В данной статье будет описано что такое элемент выделенные строки, списки и коллекции выделенных строк в системе 1С, как с ними работать, как они используются в коде программы.
А также какими методами и свойствами удобно пользоваться, относительно выделенных строк в списке. И будут приведены примеры программного кода для работы и управления выделенных строк.
Чаще всего, юзеры встречаются с работой с выделенными строками в динамическом списке, древе значений, списке значений и таблице значений.
Для того, чтобы работать со списками выделенных строк в 1С, существует свойство в коллекции «ВыделенныеСтроки», данное свойство состоит из массива с идентификаторами строк, которые выделены.
Рассмотрим пример, в котором демонстрируется работа с выделенными строками в 1С, основа - это форма с внешней обработкой вида №4, который располагается в коллекции, она представлена на скриншоте с примером ниже:
Работа с выделенными строками в 1С
Свойство «ВыделенныеСтроки» всегда задействуется в связке с методом, из коллекции формы, «НайтиПоИдентификатору(<Идентификатор>), этот метод присваивается элементам в коллекции, согласно их идентификатору, также ещё один метод, который связан со списками выделенных строк - это «ДанныеСтроки(<Строка>), при помощи этого метода можно возвращать значения, которые содержат данные по указанной строке.
Далее представлен код программы, в котором демонстрируется то, как можно пользоваться свойством «ВыделенныеСтроки» по различным вариациям в коллекции:
Свойство ВыделенныеСтроки для работы с выделенными строками в 1С
2. Метод «ДанныеСтроки()» для работы со списком выделенных строк в 1С
Рассмотрим ещё один метод, который относится к выделенным строкам и его использование - это «ДанныеСтроки()».
Каждое поле из таблицы имеет свойства «ТекущиеДанные», «ТекущаяСтрока» и метод «ДанныеСтроки()». Свойство «ТекущиеДанные» отвечает за хранение данных в текущей строке, конкретного поля таблицы, а свойство «ТекущаяСтрока» отвечает за хранение значение, по которому можно идентифицировать строку. Метод же «ДанныеСтроки()» необходим для возвращения коллекции значений из любой из строк в динамическом списке, который отражается в виде поля таблицы.
Одно из применений этого метода - это обход строк по коллекциям в поле таблицы, как пример, если есть коллекция с выделенными строками.
Рассмотрим пример обхода коллекции списка выделенных строк. Для примера, возьмём некоторое поле таблицы, которое отображает перечень из справочника по номенклатуре. Необходимо сохранить в документе, текстового формата, все строки из данного справочника, которые являются выделенными, при этом, сохранять нужно лишь значения из видимых столбцов в поле таблицы. Далее приведён пример кода, для решения данной задачи, в котором можно получить выделенные строки в списке при помощи кнопки «Записать», если кликнуть на неё:
Список выделенных строк в 1С осуществлен с помощью кнопки Записать
Пример кода при работе со списком выделенных строк
Выделенные строки в списке при работе с кодом
В данной статье было описано как работать со списками выделенных строк в 1С, какие свойства и методы удобно и нужно задействовать. А также был приведён обратный метод, - обход коллекции выделенных строк, при помощи метода «ДанныеСтроки()», при этом, не прекращая работу с выделенными строками.
1С - получить несколько выделенных строк табличной части, программно
В 1С, в каждом документе есть возможность выделять строки табличной части зажав клавишу shift или ctrl. Пример программного кода процедуры по обходу этих строк ниже:
&НаКлиенте
Процедура СообщитьНомераСтрокТабличнойЧасти()
Для каждого Стр Из Элементы.ТЧ.ВыделенныеСтроки Цикл
// данный метод выделения строк стабильно работает даже если в документе
// удалялись или добавлялись строчки
Сообщить(Объект.ТЧ.НайтиПоИдентификатору(Стр).НомерСтроки);
КонецЦикла;
КонецПроцедуры
Смотрите также:
Электронный учебник по программированию в 1С Рекомендации по изучению программирования 1С с нуля Игра "Кто хочет стать миллионером?" с вопросами на определенную тематику (язык программирования JavaScript, английские, немецкие, французские, испанские, португальские, нидерландские, итальянские слова, электробезопасность, промышленная безопасность, бокс и т.п.), написанная на 1С Программирование в 1С 8.3 с нуля - краткий самоучитель Комплексная подготовка программистов 1С:Предприятие 8.2 Сайты с уроками программирования и со справочниками Youtube-каналы с уроками программирования Сайты для обучения программированию Лекции и уроки