Имя: Пароль:
1C
1С v8
Обработка активации поля в Таблице Формы
0 Dragz
 
20.02.19
10:28
Всем привет.
Имеем управляемую форму, на ней Таблица, связана с Табличной частью документа.
Хочу при активации ячейки сохранить диапазон выделенных строк. Т.е. сценарий следующий: пользователь выделил несколько строки в таблице, нажимает на поле, задает значение поля и это значение присваивается всем выделенным строкам.
Проблема в том, что при активации ячейки Элементы.Таблица.ВыделенныеСтроки уже пуст (точнее содержит 1 значение).
На ум приходит создать 2 реквизита формы и сохранять туда индексы массива выделенных строк, а потом использовать его в обработке...
Наверняка, кто то сталкивался с подобной задачкой. Как решали?
1 aleks_default
 
20.02.19
10:35
Может сначала задавать значение поля, а потом уже выделять строки?
2 Dragz
 
20.02.19
11:19
Техническая часть задачки решена путем добавления реквизита формы типа СписокЗначений и его заполнения при Активации строки.
Но! визуально строки таблицы не закрашиваются при программном заполнении Элементы.Таблица.ВыделенныеСтроки.
Неужели надо подключать программное оформление?!

&НаКлиенте
Процедура НачисленияПриАктивизацииСтроки(Элемент)
    Если ВыделенныеСтроки.НайтиПоЗначению(Элементы.Начисления.ТекущаяСтрока)<> Неопределено Тогда
        Элементы.Начисления.ВыделенныеСтроки.Очистить();
        Для Каждого Строка ИЗ ВыделенныеСтроки Цикл
            Элементы.Начисления.ВыделенныеСтроки.Добавить(Строка.Значение);
        КонецЦикла;
    Иначе
        ВыделенныеСтроки.ЗагрузитьЗначения(Элементы.Начисления.ВыделенныеСтроки);    
    КонецЕсли;        
КонецПроцедуры
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший