Вход | Регистрация


Немодальное открытие формы, при отказе возвращает старое значеие

Немодальное открытие формы, при отказе возвращает старое значеие
Я
   Otark
 
23.04.18 - 05:18
Доброго времени суток! По запросу пользователя открываю форму, которая содержит для выбора тз в которой несколько тысяч строк. Что бы каждый раз не заполнять эту тз заново, я кеширую форму:
ФормаВыбораЗначений = ОткрытьФорму("В...
Но всплывают неприятные моменты:
1. Если пользователь наложил фильтр при поиске и сделал выбор, то при следующем открытии формы, фильтр останется на месте
2. Самое неприятное:
а. Пользователь открыл форму, сделал выбор, форма вернула выбранное значение - все ок
б. Пользователь открыл форму, отказался от выбора, форма вернула значение выбранное в п. а - не ок
Подскажите пожалуйста как бороться с этими поведением?
 
 
   butterbean
 
1 - 23.04.18 - 05:30
Надо не форму кешировать, а таблицу. Как вариант - реквизит обработки или переменная в модуле объекта
   Otark
 
2 - 23.04.18 - 06:00
>>Надо не форму кешировать, а таблицу
Непонятно как это делать. Я не могу просто сделать
ПеременнаяКЕШ = Форма.РеквизитТаблица
а потом 
Форма.РеквизитТаблица = ПеременнаяКЕШ
Получаю ошибку "Нельзя изменять поле, содержащее объект данных формы" любые манипуляции с загрузкой\выгрузкой возможны только на сервере. Что минимизирует профит от этой операции, потому, что приходится гонять большой объем данных между клиентом и сервером при каждом открытии формы.
>>Как вариант - реквизит обработки или переменная в модуле объекта
Это произвольная форма у нее нет связи с объектом или его модулями.
   cons74
 
3 - 23.04.18 - 07:01
В УФ форма - это просто средство отображения данных, как картинка, интерактивная, но картинка. Она не хранит данные.

1) НаСервере Перем Таблица
2) в переменную помещаешь таблицу
3) при открытии формы помещаешь в неё данные таблицы
4) чтобы не запоминался отбор

Ну и вообще, тысячи строк до отбора - кривая архитектура. Надо накладывать больше отборов перед открытием.
Или использовать динамический список - он считывает не все данные сразу, а порционно (динамически). Он как раз и предназначен для отображения большого количества объектов без отборов (например, список документов).
   Cyberhawk
 
4 - 23.04.18 - 07:09
КопироватьДанныеФормы
   Otark
 
5 - 23.04.18 - 07:23
(3)>>УФ форма - это просто средство отображения данных
спасибо кэп я в курсе
>>НаСервере
Не хочу таскать на сервер каждый раз такую кучу данных см (2)
>>Ну и вообще, тысячи строк до отбора - кривая архитектура.
Ну пользователю необходимо выбирать из всех вариантов
>>Или использовать динамический список
Нет возможности использовать динамический список, данные не хранятся в базе

(4)Да, это то, что нужно. Спасибо.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует