Как лучше организовать интерфейс по такой задаче. Есть сложный запрос, формирующий исходную таблицу с колонками: ссылка 1, ссылка 2, ссылка 3, сумма. Средний размер таблицы 1000 строк. На форму нужно вывести две таблицы. Первая таблица получается из исходной сворачиванием по первым двум ссылкам: ссылка 1, ссылка 2, сумма. Вторая таблица постоянно обновляется в зависимости от выделенных строк первой таблицы и содержит расшифровку данных строк в виде: ссылка 3, сумма.
Пока что решил задачу "в лоб". Все три таблицы являются реквизитами формы, при открытии формы в отдельной процедуре заполняются исходная таблица и первая таблица формы. При активизации строки первой таблицы на клиенте выполняется перезаполнение второй таблицы - через перебор всех строк исходной таблицы и сравнение с выделенными строками второй таблицы. При этом крутится цикл 1000 * количество выделенных строк * 2 (количество условий сравнения), и при выделении нескольких строк уже ощутимо подтормаживает. Поэтому ищу лучшее решение.
Пока что решил задачу "в лоб". Все три таблицы являются реквизитами формы, при открытии формы в отдельной процедуре заполняются исходная таблица и первая таблица формы. При активизации строки первой таблицы на клиенте выполняется перезаполнение второй таблицы - через перебор всех строк исходной таблицы и сравнение с выделенными строками второй таблицы. При этом крутится цикл 1000 * количество выделенных строк * 2 (количество условий сравнения), и при выделении нескольких строк уже ощутимо подтормаживает. Поэтому ищу лучшее решение.
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) 1.выгрузить данные запроса в табличную часть обработки(отчета);
2.свернуть данные для "ТабличнаяЧасть1" -- элемент формы;
3.поместить данные в "ТабличнаяЧасть1" и создать Колонки;
4.поместить на форму "ТабличнаяЧасть2" и связать с табличной частью обработки;
5.написать обработчик "ПриАктивизацииСтроки" для ТабличнаяЧасть1 в которой програмно прописать настройку свойства Отбор для "ТабличнаяЧасть2" элемента формы.
2.свернуть данные для "ТабличнаяЧасть1" -- элемент формы;
3.поместить данные в "ТабличнаяЧасть1" и создать Колонки;
4.поместить на форму "ТабличнаяЧасть2" и связать с табличной частью обработки;
5.написать обработчик "ПриАктивизацииСтроки" для ТабличнаяЧасть1 в которой програмно прописать настройку свойства Отбор для "ТабличнаяЧасть2" элемента формы.
Не получится. У таблицы формы отбор задается в свойстве ОтборСтрок, описание СП:
Тип: Неопределено; ФиксированнаяСтруктура.
Позволяет установить отбор по значению колонки.
В качестве ключа используется имя реквизита табличной части, а в качестве значения - значение, по которому осуществляется отбор.
Чтобы снять отбор нужно присвоить свойству либо значение Неопределено, либо пустую ФиксированнаяСтруктура.
Тип: Неопределено; ФиксированнаяСтруктура.
Позволяет установить отбор по значению колонки.
В качестве ключа используется имя реквизита табличной части, а в качестве значения - значение, по которому осуществляется отбор.
Чтобы снять отбор нужно присвоить свойству либо значение Неопределено, либо пустую ФиксированнаяСтруктура.
Добавить в общую таблицу колонку "Флаг" типа булево, установить отбор строк по нему.
При активизации строки свернутой таблицы делаем что-то типа
При активизации строки свернутой таблицы делаем что-то типа
соотв = Новый соответствие;
Для каждого стр из ВыделенныеСтроки цикл
Если соотв[стр.Ссылка1] = неопределено тогда соотв[стр.Ссылка1] = новый соответствие конецЕсли;
соотв[стр.Ссылка1] [стр.Ссылка2] = истина
КонецЦикла;
Для каждого стр из ОбщаяТаблица Цикл
стр.Флаг = соотв[стр.Ссылка1] [стр.Ссылка2] = истина
КонецЦикла;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот