Доброго времени суток! По запросу пользователя открываю форму, которая содержит для выбора тз в которой несколько тысяч строк. Что бы каждый раз не заполнять эту тз заново, я кеширую форму:
ФормаВыбораЗначений = ОткрытьФорму("В...
Но всплывают неприятные моменты:
1. Если пользователь наложил фильтр при поиске и сделал выбор, то при следующем открытии формы, фильтр останется на месте
2. Самое неприятное:
а. Пользователь открыл форму, сделал выбор, форма вернула выбранное значение - все ок
б. Пользователь открыл форму, отказался от выбора, форма вернула значение выбранное в п. а - не ок
Подскажите пожалуйста как бороться с этими поведением?
>>Надо не форму кешировать, а таблицу
Непонятно как это делать. Я не могу просто сделать
ПеременнаяКЕШ = Форма.РеквизитТаблица
а потом
Форма.РеквизитТаблица = ПеременнаяКЕШ
Получаю ошибку "Нельзя изменять поле, содержащее объект данных формы" любые манипуляции с загрузкой\выгрузкой возможны только на сервере. Что минимизирует профит от этой операции, потому, что приходится гонять большой объем данных между клиентом и сервером при каждом открытии формы.
>>Как вариант - реквизит обработки или переменная в модуле объекта
Это произвольная форма у нее нет связи с объектом или его модулями.
В УФ форма - это просто средство отображения данных, как картинка, интерактивная, но картинка. Она не хранит данные.
1) НаСервере Перем Таблица
2) в переменную помещаешь таблицу
3) при открытии формы помещаешь в неё данные таблицы
4) чтобы не запоминался отбор
Ну и вообще, тысячи строк до отбора - кривая архитектура. Надо накладывать больше отборов перед открытием.
Или использовать динамический список - он считывает не все данные сразу, а порционно (динамически). Он как раз и предназначен для отображения большого количества объектов без отборов (например, список документов).
(3)>>УФ форма - это просто средство отображения данных
спасибо кэп я в курсе
>>НаСервере
Не хочу таскать на сервер каждый раз такую кучу данных см (2)
>>Ну и вообще, тысячи строк до отбора - кривая архитектура.
Ну пользователю необходимо выбирать из всех вариантов
>>Или использовать динамический список
Нет возможности использовать динамический список, данные не хранятся в базе
(4)Да, это то, что нужно. Спасибо.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn