|
УФ, изменение видимости по условию без вызова сервера | ☑ | ||
---|---|---|---|---|
0
Humandra
22.02.12
✎
13:08
|
Добрый день!
Что-то не догоняю с изменением видимости поля формы по условию. Предположим, у меня есть в справочнике одно поле - в типовых это как "Головной контрагент". Я хочу на форму поместить еще и флаг "Входит в холдинг", опять таки как в типовых. Первоначально флаг проставляется в зависимости от заполненности самого поля, при изменении флага поле "Головной контрагент" разблокируется и можно ввести значение. А при сбросе флага - поле сбрасывается. Не могу понять как это сделать, чтобы метод не лез на сервер. Пробовала так: &НаКлиенте Процедура ИзменитьВидимостьГоловнойКомпании() Элементы.ГоловнаяКомпания.Видимость = ВходитВХолдинг; Объект.ГоловнаяКомпания = Неопределено; КонецПроцедуры Лезет на сервер. Я так понимаю, потому что изменяется реквизит формы, а не элемент формы. А так: &НаКлиенте Процедура ИзменитьВидимостьГоловнойКомпании() Элементы.ГоловнаяКомпания.Видимость = ВходитВХолдинг; Элементы.ГоловнаяКомпания.Значение = Неопределено; КонецПроцедуры не работает по причине отсутствия свойства "Значение" Смотрела как это сделано в типовой бухгалтерии 3.x бета - там вообще баг (ну или нелогичная особенность), так как при сбросе флага заполненное поле Головной контрагент - не сбрасывается вообще, и после сбрасывания флага, сохранения и выхода - флаг опять проставлен, так как реквизит "Головная компания" не сбросился, а флаг проставляется по нему. Возможно ли вообще изменить элемент формы, не меняя реквизит на сервере? Вплоть до сохранения карточки? |
|||
1
ilpar
22.02.12
✎
13:14
|
потому что книги надо читать
|
|||
2
Humandra
22.02.12
✎
13:15
|
(1) Уже третью читаю, но времени мало, видимо что-то упустила :) Но форум же как раз за тем, чтобы подсказать, где я не права, разве нет? :)
|
|||
3
ilpar
22.02.12
✎
13:15
|
а нет, извиняюсь
|
|||
4
ДенисЧ
22.02.12
✎
13:16
|
ПолеФормы (FormField)
Видимость (Visible) Использование: Чтение и запись. Описание: Тип: Булево. Определяет видимость поля. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент. Изменение свойства на клиенте может потребовать обращения к серверу. Примечание: Ложь - поле не отображается. |
|||
5
ilpar
22.02.12
✎
13:16
|
вообще да, повторюсь... теорию надо читать =)
|
|||
6
Asmody
22.02.12
✎
13:16
|
(0) через условное оформление можно сделать
|
|||
7
Asmody
22.02.12
✎
13:18
|
[А при сбросе флага - поле сбрасывается] нужно обрабатывать при записи
|
|||
8
Humandra
22.02.12
✎
13:18
|
(4) Ну, я тоже с названием темы немного не права (может кто подкорректирует на "Как сбросить поле на клиенте без вызова сервера"?), но все же вопрос был не в том :)
У меня видимость нормально изменяется, но при сбросе по флагу значения - лезет на сервер |
|||
9
Humandra
22.02.12
✎
13:19
|
(7) Тоже тема, в общем-то... верно.
|
|||
10
Humandra
22.02.12
✎
13:20
|
А по другому никак? Если захочется, чтобы если пользователь повторно нажал "Входит в холдинг - Истина", то старое значение Головной компании уже было сброшено?
|
|||
11
Humandra
22.02.12
✎
13:22
|
Понятное дело, что в таком простом примере несущественно с вызовом сервера, но такой механизм предполагается делать и там, где существенно...
|
|||
12
Asmody
22.02.12
✎
13:26
|
а почему [Объект.ГоловнаяКомпания = Неопределено]? тебе же пустая ссылка нужна. а её получение вызывает сервер. теоритически, её можно "закешировать" на клиенте в реквизите, тогда обращения не будет наверное
|
|||
13
Humandra
22.02.12
✎
13:34
|
(12) Попробовала закешировать пустую ссылку - не помогло. Клиент похоже лезет к Объект.ГоловнаяКомпания на сервер...
Попробовала даже с обработчиком по нессылочным реквизитам: При изменении меняю: Объект.Наименование = "блаблабла"; Все равно лезет на сервер. В принципе, логично вроде - реквизиты формы же на сервере обитают? |
|||
14
Asmody
22.02.12
✎
13:43
|
в книге написано, что изменение видимости требует обращения к серверу, поскольку при этом пересчитывается расположение элементов. рекомендуют вместо видимости управлять доступностью
|
|||
15
Humandra
22.02.12
✎
13:50
|
(14)А! Вот оно в чем дело. Вот почему в типовой сделали подмену групп страниц, а я то думала - зачем так сложно.
А в какой книге писали, в документации? |
|||
16
Asmody
22.02.12
✎
14:05
|
(15) «Разработка управляемого интерфейса»
|
|||
17
Humandra
22.02.12
✎
14:10
|
(16) А, я как раз до нее еще не дошла :) Радченко обе книги прочитала, документацию к коробке, Габеца нового и половину Хрусталевой про СКД, а до интерфейса не дошли руки :)
Спасибо, помогло! Так что мои умозаключения о том, что обращение к реквизитам формы могут вызывать сервер признаны глубоко ошибочными - ибо с изменением доступности все заработало :) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |