Параметры функциональных опций #674234


#0 by daringer
Добрый день. Можно ли с помощью параметров функц. опций управлять видимостью дин. списков на форме? Хранение в регистре сведений. Т.е. есть элементы формы список1, список2, список3. В регистре сведений: ИмяЭлемента - Строка Видимость   - Булево. Как связать элементы формы с именем элемента в регистре? Или может быть вообще не правильно мыслю?
#1 by Лефмихалыч
не правильно мыслишь. Связывать надо не реквизиты с регистрами, а реквизиты с опциями
#2 by olegves
например, при хранении ФО в элементе справочника и добавлении реквизита (любого) в эту ФО, то если хотя бы у одного элемента справочника ФО активна, то видимость включится для всех элементов
#3 by daringer
Это понятно. Задача состоит в том, что есть форма, в которой достаточно много динамических списков, которые расположены по закладкам. Так вот при создании формы она открывается достаточно долго. Но нет необходимости загружать сразу все списки, т.к. пользователю может понадобится только одна таблица. По мере перехода по вкладкам списки должны загружаться. Т.о. все списки загрузятся когда пользователь пройдет по всем вкладкам. Делать кучу ФО и констант для каждого элемента думаю не очень хорошо
#4 by daringer
Думаю при создании формы заполнять регистр сведений с именами таблиц и значениями видимости. При переходе по страницам РС будет обновляться
#5 by daringer
Не понятно только как ФО узнает значение видимости для конкретного элемента
#6 by Zamestas
Может создать список уже после перехода на закладку из кода?
#7 by daringer
Пробовал. Геморно, командная панель не понимает основную таблицу, сооветственно остается пустой
#8 by daringer
Пробовал управлять видимостью элемента свойством видимость, но разницы нет. Если список невидим, данные все равно загружаются
#9 by banco
может УстановитьПараметрыФункциональныхОпцийФормы поможет?
#10 by daringer
Может поможет. Я не пойму как этим воспользоваться в моей задаче
#11 by daringer
#12 by daringer
Добавил в регистр сведений имя одного из элемент, установил значение видимости - не работает.
#13 by daringer
Ну что есть еще мысли уважаемые?
#14 by banco
может так. 1. создаешь ФункцинальнуюОпцию ПоказатьСписок, хранение в ТвойРегистрСведений.Видимость, включаешь твои списки в эту функциональную опцию. 2 создаешь параметр функциональной опции ИмяТаблицы, хранение ТвойРегистрСведений.ИмяЭлемента. ПриСозданииНаСервере в форме УстановитьПараметрыФункциональныхОпцийФормы(Новый Структура("ИмяТаблицы", имясписка));
#15 by daringer
Так у меня так и есть
#16 by daringer
Нужно ли в составе ФС указать мою форму?
#17 by daringer
ну подскажите как мне решить эту задачу?
#18 by daringer
пока решения нет
#19 by olegves
у тебя с логикой не порядок. Состав формы определяется в кл-серв варианте на сервере ПриСозданииНаСервере а ты хочешь в уже открытой форме менять видимость на закладках. При каждой такой смене у тебя форма будет переезжать на сервер, там пересоздаваться и возвращаться клиенту. Тормоза увеличатся
#20 by daringer
Когда тогда можно уменьшить время открытия формы?
#21 by daringer
Дело в том что я не всегда при перемещении по вкладкам буду менять видимость. Только те элементы которые еще небыли видимыми
#22 by banco
делай отдельные формы как в БП3
#23 by daringer
В общем на одной форме выводить много списков и так чтоб форма открывалась быстро не получится как я понял
#24 by banco
видимо разработчики БП3 тоже пришли к такому выводу
#25 by daringer
Как в БП3 неудобно, т.к. когда работаешь с одним списком и хочешь посмотреть отчет, который находится в другой подсистеме при переходе обратно нужно заново искать строку на которой остановился. Так же с отчетами. настроил отбор вывел данные, перешел в другую подсистему потом обратно и заново отчет делать. Пользователям не нравится постоянно прыгать от формы к форме и повторять дейсвтия
#26 by daringer
Сделал им общую форму, но терь не нравится что она долго грузится
#27 by banco
в БП3 я имел ввиду документы Реализация и Поступление, где в последнем релизе добавили отдельные формы для товаров, услуг. а чтоб при переходе на другую подсистему не закрывался текущий список или отчет, можно включить режим открытия форм в закладках.
#28 by daringer
Этот режим "съедает" все свободное пространство. Пользователи работают за ноутбуками 15". А для менджеров нужно выводить достаточно много инфы, которая ну не как не умещается. Монитор нужен 24"))). Ладно. Спасибо всем. Откажусь от общей формы. Жаль что только времени на нее потратил оч. много.
#29 by Enders
На сколько я понимаю то динамические списки грузятся в момент "При создании на сервере". Как вариант если они с произвольным запросом, то в запросе применить какой-то параметр так что б результат запроса был пустым. В момент активизации нужной вкладки устанавливаешь нужный реквизит ДС и обновляешь этот список.
#30 by olegves
+100 хорошая идея
#31 by daringer
Да идея рабочая. Спасибо. Сам думал как сделать пустой запрос изначально, пробывал первые 0, но в дин. списке "первые" не работает. А как тогда при повторном переключении на вкладку не   обновлять элемент?
#32 by daringer
Можно хранить информацию о том что список загружен в реквизите формы, но может быть есть какой нить более красивый способ?
#33 by Enders
Хм... есть вариант проверять текущие установленные параметры... но не знаю на сколько рабочий) То есть при активизации получать Текущий установленый параметр ПустойСписок, если он истина, тогда устанавливаем в ложь и обновляем, иначе ничего не делаем.
#34 by Enders
Попробовал, вроде как срабатывает. НашПарам = Список.Параметры.Элементы.Найти("ПустойСписок"); Если НашПарам.Значение Тогда
#35 by olegves
в запрос дин списка добавляешь условие: В ПриСозданииНаСервере устанавливаешь ТвойПараметр=Ложь, а при активации закладки ТвойПараметр=Истина, возможно, еще придется добавить:  Элементы.ТвойСписок.Обновить
#36 by daringer
Я понял. Спасибо умные люди!
#37 by daringer
только в условие добавил ГДЕ ИСТИНА<>&ПустойСписок
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С